2009-09-25 14 views
6

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

+1

¿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

Respuesta

2

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

  1. una base de datos de respaldo
  2. 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

  • , ¿así que aún pueden ingresar las órdenes y reconciliarlas más tarde?

    La respuesta podría incluir:

    1. implicaciones para la base de datos
    2. diseño del cliente local
    3. 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

  • +0

    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

    +1

    " 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

    0

    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.

    0

    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".

    -1

    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. }

    0

    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.

    0

    De acuerdo con un desarrollador senior que se implica en el diseño de una arquitectura de n niveles deben saber acerca de

    1. ¿Cuál es el patrón de diseño?
    2. ¿Conoces UML? (Si se trata de programación orientada a objetos)
    3. ¿Cuál es la diferencia entre análisis y diseño?
    4. ¿Ha trabajado en una arquitectura de software poco compacta? Si es así, ¿cómo lo lograste?

    y tantos ..

    0

    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.

    0

    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.

    Cuestiones relacionadas