En mi equipo de software como parte de la entrevista, probamos la comprensión de las bases de datos.
Presentamos un diseño muy pobre (piense en la aplicación de tipo CRM) y les pedimos que mejoren el diseño, después de aproximadamente 30 minutos de tiempo de reflexión.
Luego les hacemos más preguntas en función de lo que hablan.
Estamos investigando para comprender
- Performance V Normalistion
- Diseño clave e integridad de referencia
- Lugares para la mejora -es decir, Estructura de base de datos alternativa - Disparadores, Vista, Procedimientos
- Áreas que son débiles en el diseño: cómo superar muchas relaciones
- Cómo afecta esto al servidor - mantenimiento
- Problemas de seguridad de datos
- Problemas de seguridad de la aplicación
Nosotros, como equipo, hemos pensado en lo que consideraríamos respuestas de tipo Junior / Senior / Architect para este tipo de preguntas.
Entonces para - Rendimiento v Normisalación -
vería el problema en primer lugar y podría discutir por qué (Junior)
recomendaría 4/5 NF pero entendería el problema con el rendimiento si lo normalizarían y entenderían cómo articular el problema (Senior)
recomendarían un tipo diferente de diseño, por ejemplo, Star Schema y discutirían las implicaciones en muchos niveles (Arquitecto)
- Diseño clave e integridad referencial
Vería que la integridad de referencia es necesaria para hacer cumplir las relaciones de datos y podría discutir esto, pero no vería el problema con Key Choice and Design (Junior)
Discutiría cuestiones relacionadas con los volúmenes de datos y los tipos de datos v buscando claves naturales en los datos y sería capaz de analizar por qué los están analizando, y los problemas que siguen con integridad referencial (Senior)
Podría argumentar varios puntos de vista relacionados con las claves y la integridad y ser capaz de proponer varios modelos reales para un diseño rápido (Arquitecto)
Te dan la imagen.
Si desea que agregue más, publique comentarios y detallaré lo que pensamos sobre el resto, pero solo incluí los dos primeros para darle una idea de lo que pensamos.
El punto es pensar en 1. las preguntas 2. Nosotros, como equipo, hemos pensado en lo que consideraríamos respuestas de tipo Junior / Senior / Architect para este tipo de preguntas.
Hago hincapié en el equipo ya que el candidato y el equipo tienen que confiar en las habilidades de la persona que ingresa, y si han llegado a lo que ven como respuestas a diferentes niveles, la persona que ingresa con suerte encajará mejor con el equipo. También le da al equipo la capacidad de influir en la elección del candidato. También nominan a una persona para que forme parte del panel de preguntas. Ayuda mucho con la aceptación del equipo.