Pular para o conteúdo

Como o Tom Kyte contrata

Como o Tom Kyte contrata

Na semana passada, eu estava realizando entrevistas para um cargo de DBA Trainee na Solvo.

Acho que escolhi certo, mas queria ter lido antes no Blog do Tom Kyte como ele costuma fazer entrevistas para DBAs e Desenvolvedores Oracle. Seria mais divertido.

São apenas 3 perguntas. Eu acho que faço umas 100… O melhor é que a intenção não é saber se o candidato sabe ou não o resultado das perguntas, e sim, analisar a forma como ele pensa quando é confrontado com problemas.

Por exemplo, a pergunta 1 é muito simples para um Desenvolvedor ou mesmo DBA. A intenção é avaliar como o candidato reage a um problema que tem uma resposta óbvia demais.

A intenção das outras duas é saber se ele consegue resolve-las em apenas um comando, ou seja, adotar a solução mais direta e simples.

Ele nem tem esperança que respondam a terceira pergunta, quer apenas ver como lidam com a pressão. Se dizem para ele que a terceira é impossível de ser feita em um único SELECT, ele demonstra 3 formas de faze-lo.

E também, ele pede que o candidato avalie seu próprio conhecimento em SQL, e se dê uma nota entre 1 e 10. Ao término da entrevista, ele pergunta se o candidato quer se reavaliar.

Estas são as 3 perguntas:

Eu criei uma tabela:

CREATE TABLE T ( ....., MES number, ..... );

MES é sempre um número entre 1 e 12.

1) Quantas linhas a tabela tem?

2) Quantas linhas por MES existem na tabela? Eu quero saber quantas linhas tenho para o MES 1, quantas para o MES 2, etc.

3) Que MES tem mais linhas? E, por um bônus especial, por que esta questão é ambígua?

Adicionalmente, ele faz uma pergunta bônus. A pergunta bônus não é exatamente uma pergunta. Ele pede que o candidato vá ao quadro, desenhe o Oracle, e explique a ele como funciona. Adorei essa, ela sozinha já mostra o quanto o candidato a DBA sabe.

Ricardo Portilho Proni

Ricardo Portilho Proni

Com 20 anos de experiência profissional, Oracle ACE Member – eleito pela Oracle Corporation um dos maiores especialistas do mundo em Oracle Database- Trabalhou em grande parte dos maiores bancos de dados Oracle do Brasil. Certificado em Oracle, SQL Server, DB2, MySQL, Sybase e Websphere. Conselheiro do GPO e do GUOB, palestrante do ENPO, GUOB Tech Day e Oracle Open World, escritor da Revista SQL Magazine e Instrutor na Nerv.

Comentário(s) da Comunidade

  1. Opa.. Salve Portilho..

    Se eu soubesse desta vaga teria me candidatado.. hehehe..!

    Caraca.. 3 perguntas que confundem pakas heim….
    Eu já iria questionar como que seria o controle do ano.. Linear ou Colunar..
    Mas isto é mais para mostrar o quanto o candidato sabe como raciocinar e sempre observar tudo antes de responder a uma pergunta…
    É… e as vezes o mais simples é o correto, apenas 12 linhas na tabela, uma por cada mês..

    Abraços..

  2. Oi Regis.
    A intenção da tabela é que, entre N colunas, ela tem uma MES.
    Por exemplo, o campo MES do aniversário dos funcionários.
    Então não seriam necessariamente 12 linhas.

    Abraço !

  3. Fala Portilho…

    Opa.. Por isto que estas 3 perguntas são confusas.. e geram ambiguidade..pois pode se tratar de uma tabela para armazenar qualquer informação.. tanto um relatório mensal.. um cadastro de funcionários.. etc.. O que eu quis dizer é que podemos imaginar N opções.. mas a resposta que pedem pode ser a mais simples e que por muitas vezes achamos que não é a certa pela simplicidade… ehehehehe…
    Mas neste caso ele não queria uma resposta.. e sim saber se o profissional consegue analisar o que lhe é pedido e obter as informações necessárias para realizar a tarefa com qualidade e para a sua real necessidade…

    Abraços..

  4. Exato…

    Acho que a resposta é sempre indeterminada, pq o fato da segunda coluna ser um mes nao indica que a primeira é um dia /ano e etc… e a coluna MES pode significar qq coisa..!!

    Abs

    Marcelo Ramasine

  5. Acho que o Marcelo seria contratado pelo Tom.
    Mas mesmo que MES não seja um mês, ele disse que sempre será um número entre 1 e 12.

  6. Boa Tarde Portilho.
    Conheci o blog hoje, e gostei muito. Segue as minhas respostas para a entrevista retirada do blog do Tom Kyte.

    Quantas linhas a tabela tem?

    select count(*) from T

    Quantas linhas por MES existem na tabela? Eu quero saber quantas linhas tenho para o MES 1, quantas para o MES 2, etc.

    select mes ,count(mes) from t group by mes

    Que MES tem mais linhas? E, por um bônus especial, por que esta questão é ambígua?

    with TABTMP as (
    select max(count(t1.mes)) as maximo from t t1 group by t1.mes
    )
    select mes ,count(mes) as count_mes from t, TABTMP group by mes, TABTMP.maximo
    having count(mes) = TABTMP.maximo

    Sera que era isso que era esperado de respostas? Foi assim que entendi. Entrevista para DBA, resposta em SQL. hehehehehe

    Um abraço pessoal.

  7. Olá Portilho,

    Realmente as perguntas são de uma forma ou outra um tanto bem diretas. Acredito que o entrevistador esteja esperando uma resposta indagativa, ou seja, uma resposta que questione a pergunta realizada de forma que se crie um cenário mais direto da situação ou do problema a ser resolvido. No mais, sendo o guru Thomas Kyte o próprio entrevistador, e se ele apenas me perguntasse o meu nome, eu já ficaria em dúvida para responder. 😉

    Abraços …

  8. Afinal Portilho, quais seriam as respostas esperadas por ti? Você iria dispor de tempo na entrevista para um candidato que lhe questionasse a ambiguidade das perguntas? A simplicidade em responder as perguntas com SQL é trivial demais, e me questionaria a duvidar do óbvio, como acontece naturalmente em nossa profissão. Não posso deixar de elogiar pelo excelente conteúdo do blog.

    []’s
    Daniel A. D. Castro

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Marcações:
plugins premium WordPress