Estoy entrevistando a los principales candidatos para desarrolladores y me gustaría que piensen en un problema de diseño como parte de la entrevista. Me gustaría algo que involucre front-end, middle y base de datos. Debería tener algunos desafíos de modelado de datos y más. ¿Qué piensas?Necesito problemas simples de diseño del sistema para las entrevistas
Respuesta
Proporcione una descripción general de un diseño para una aplicación para un personal de ventas en el camino donde los pedidos serán ingresados por individuos desde dispositivos móviles.
El sistema debe tener
- una base de datos de respaldo aplicación web aplicación cliente enriquecida con un motor de estimación local de
¿Cómo modificar el diseño para manejar a la gente que se desconecte
La respuesta podría incluir:
- implicaciones para la base de datos
- diseño del cliente local
- interacción con el usuario emite
Ahora preguntar donde este sistema tiene vulnerabilidades de seguridad y cómo el el requisito fuera de línea afecta esas vulnerabilidades.
Eso debería ser suficiente para hacer sudar a alguien o el lanzamiento realmente creativo en una buena sesión de diseño.
Si realmente quiere hacer hincapié en ellos, mantener interrumpir con De acuerdo, lo que, por favor, pasar a la siguiente punto
estoy pensando si alguien me preguntara" Ahora pregunte dónde este sistema tiene vulnerabilidades de seguridad y cómo el requisito fuera de línea afecta esas vulnerabilidades "realmente sudaré ... – iceangel89
" Lo entiendo, avance al siguiente punto "es realmente MALO ... ¿por qué decir algunas de las vulnerabilidades de seguridad y cómo les afecta el requisito de fuera de línea? – iceangel89
Antes que nada, pregúntese si el trabajo en sí requiere esta habilidad: los programadores en realidad serán responsables de modelar datos. Me he sentado en tantas entrevistas como entrevistadora y entrevistada donde se establecieron las tareas más inútiles para resolver problemas y programar papel. La mejor manera de entrevistar a un programador es sentarse y hacer algo de programación con ellos.
Lo que me preguntaron fue: "¿Cómo construirías una aplicación web estilo netflix, de principio a fin? Asume que tendrá que soportar la misma escala que netflix actualmente admite".
Creo que Andy tiene la estructura básica, observe que ya tiene algunos gemidos ir a su manera (que estoy de acuerdo con btw) tómalo como un "lanzamiento creativo en una buena sesión de diseño". y no los estrese usando: Estoy bien, estás bien pero tu diseño no está bien a menos que realmente sepas cómo funciona el diseño y cómo programar y tener una buena prueba a prueba de balas de por qué el diseño Es defectuoso. Y otro nivel a considerar es no tirar el Ph.D. Tesis de Doctorado "Cualquier Pregunta" a menos que tenga un Ph.D. frente a ti en la silla de la entrevista. El nivel de maestría y más bajo no manejan el estrés, o correctamente, y el verdadero Ph.D. te clavará en el suelo si tratas de comadreja durante la entrevista con una forma abaratada de eso ... a lo grande.
Es el preguntar dónde este sistema tiene vulnerabilidades de seguridad y cómo el requisito fuera de línea afecta esas vulnerabilidades. donde Andy muestra el valor de la experiencia de campo, tiene la papa entera allí mismo y le da la configuración de la alfombra afelpada para que se pierda esa molestia con cómo estresar al entrevistado - como los entrevistadores no saben cómo hacerlo ese. Como siempre, el mayor riesgo proviene de dentro ~ pero ningún candidato te dirá eso.
A menos que tengan 50,000 horas de experiencia en el campo.
@ iceangel89: ¿Qué haces si te preparan para tomar la caída de alguien más?
{Si hay cincuenta millones en juego, seguro que no les importará darte el negocio, y no me refiero a su negocio. }
No creo que sea siempre la mejor opción para hacer un caso como este. Esto solo funcionará para personas mayores que también deben ser utilizadas para tratar con nuevos contactos (¿quizás consultores?). Lo que de hecho estás probando no es qué tan bueno alguien puede diseñar un sistema, sino cuán bueno es que alguien maneje el estrés y/o farolear a través de una conversación.
He tenido mi cuota de entrevistas de ambos lados de la mesa y una técnica realmente me llamó la atención. Sé que tanto Avanade como Microsoft usan (o usan) esto para personas técnicas.
Dan acertijos no técnicos que pueden resolver pensando lógicamente. Debe tener en cuenta que no se trata de llegar a la respuesta correcta, sino de cómo se llegó a una respuesta que le dice si alguien es bueno resolviendo problemas. Y de eso se trata el software de programación y diseño, ¿no es así?
Se pueden aprender idiomas y tecnologías de programación. El talento para resolver problemas no se puede aprender.
De acuerdo con un desarrollador senior que se implica en el diseño de una arquitectura de n niveles deben saber acerca de
- ¿Cuál es el patrón de diseño?
- ¿Conoces UML? (Si se trata de programación orientada a objetos)
- ¿Cuál es la diferencia entre análisis y diseño?
- ¿Ha trabajado en una arquitectura de software poco compacta? Si es así, ¿cómo lo lograste?
y tantos ..
Hacer esto le mostrará si el candidato puede diseñar un sistema de este tipo en pocos minutos; con énfasis en "algunos minutos". Es muy probable que este no sea el escenario al que se enfrentará cuando trabaje para usted, por lo que podría no decirle lo que necesita saber.
¿Por qué no lo haces al revés? Pídales que le cuenten sobre el diseño de una aplicación que han diseñado en el pasado.
Gracias a todos. Esta es una gran discusión. Me gusta mucho la idea de plantear un problema de diseño simple, dejar que lo diseñen, y luego preguntar por la seguridad y la escalabilidad. Planeo seguir todo esto con algunos desafíos simples de codificación también. Realmente no quiero estresar a los candidatos, pero también quiero encontrar buenas personas.
- 1. OOP Problemas para usar en las pruebas de codificación durante las entrevistas
- 2. preparación para entrevistas en C++
- 3. ¿Alguna herramienta para corregir automáticamente problemas simples de JSLint?
- 4. ¿Cómo responde las preguntas en las entrevistas para las que piensa que no tienen sentido?
- 5. Problemas simples de adición de JavaScript
- 6. Problemas Tamaño de fragmento en Google del sistema de archivos
- 7. Diseño de sistema de partículas?
- 8. Diseño y problemas del ciclo de eventos asíncronos
- 9. Diseño del sistema de procesamiento analítico en tiempo real
- 10. Emacs 24 Problemas de inicialización del sistema de paquete
- 11. Hacer que Emacs ignore el diseño del teclado del sistema
- 12. Necesito algunos ejercicios simples de lógica/programación para un programador junior
- 13. Necesito un widget para navegar por el sistema de archivos
- 14. Software de diseño/problemas de arquitectura
- 15. Entrevista de diseño - Sistema de reserva de automóviles
- 16. Necesito obtener todas las cookies del navegador
- 17. Establecer las propiedades del sistema para la aplicación Android
- 18. ¿Qué servicio de Amazon necesito para consultas simples de títulos de libros, ISBN y editores?
- 19. Patrón de diseño: sistema de notificación
- 20. Necesito consejo sobre el diseño de clase adecuado
- 21. Principios de diseño para el diseño de arquitectura de base de datos del sistema de transacciones financieras?
- 22. Choques simples del programa
- 23. Necesito un sistema de búsqueda de valor-clave distribuido
- 24. ¿Cómo funcionan las relaciones simples de SQLAlchemy?
- 25. ¿Se mejoran los consejos simples para el rendimiento de Haskell (en problemas de ProjectEuler)?
- 26. Problemas para comprender todo el sistema ecológico web OSGi
- 27. Rails 3: Estrategia para las notificaciones del sistema
- 28. Necesito ayuda para descifrar los errores del compilador de scala
- 29. Mejor práctica para usar las propiedades del sistema Java
- 30. límite del sistema para ARRAY_AGG()
¿En qué tipo de problemas de diseño piensas con precisión? Puedo pensar en dos opciones, ya sea "* ¿Cómo diseñarías [inserta el sistema aquí]? *" O "* ¿Cómo superarías este [algún problema sorprendentemente difícil aquí]?* " – Esko