Na minha equipe de software, como parte da entrevista, testamos o entendimento de bancos de dados.
Apresentamos um design muito ruim (pense no aplicativo do tipo CRM) e solicitamos que melhorem o design, após cerca de 30 minutos de tempo de reflexão.
Em seguida, fazemos mais perguntas com base no que elas falam.
Estamos buscando a compreensão de
- Normalização de desempenho V
- Design de Chaves e Integridade Referenital
- Locais para aperfeiçoamento - como estrutura alternativa do banco de dados - gatilhos, exibição, procedimentos
- Áreas que são fracas no design - como superar muitos e muitos relacionamentos
- Como isso afeta o servidor - manutenção
- Problemas de segurança de dados
- Problemas de segurança de aplicativos
Nós, como equipe, pensamos no que consideraríamos respostas do tipo Junior / Senior / Architect para esses tipos de perguntas.
Então, para - Performance / Normisalation -
veria a questão em primeiro lugar e seria capaz de discutir o porquê (Junior)
recomendaria 4/5 NF, mas entenderia o problema com o desempenho, eles desnormalizariam e entenderiam como articular o problema (Sênior)
eles recomendariam um tipo diferente de design, por exemplo, Star Schema e discutissem as implicações em vários níveis (arquiteto)
- Design de Chaves e Integridade Referencial
Veria que a integridade da referência é necessária para impor relacionamentos de dados e seria capaz de discutir isso, mas não veria o problema com Key Choice and Design (Junior)
Discutiria questões relacionadas aos volumes de dados e tipos de dados v procurando chaves naturais nos dados e seria capaz de discutir por que elas estão analisando essas informações - e os problemas que se seguem com integridade referencial (Sênior)
Poderia discutir vários pontos de vista relacionados a Chaves e Integridade e ser capaz de criar vários modelos reais para um design rápido (Arquiteto)
Você entendeu a foto.
Se você quiser que eu adicione mais, poste um comentário e detalhará o que pensamos sobre o resto, mas apenas incluímos os dois primeiros para lhe dar uma idéia do que pensávamos.
O objetivo é pensar nas 1. questões 2. Nós, como equipe , pensamos no que consideraríamos respostas do tipo Júnior / Sênior / Arquiteto para esses tipos de perguntas.
Enfatizo a equipe, pois o candidato e a equipe precisam estar confiantes nas habilidades da pessoa que entra, e se eles tiverem o que vêem como respostas para diferentes níveis, a pessoa que entrar entrará, esperançosamente, em se encaixar melhor na equipe. Também oferece à equipe a capacidade de influenciar a escolha do candidato. Eles também nomeiam uma pessoa para participar do painel de perguntas. Ajuda muito com a adesão da equipe.