También hago este tipo de preguntas, y estoy de acuerdo con la mayoría de las otras respuestas. Tal vez ayudaría a los entrevistados a entender ¿POR QUÉ este tipo de pregunta es importante? Supongamos que tenemos que tomar una decisión comercial importante, y para hacerlo, necesitamos construir un nuevo sistema. Si alguien corre hacia ti y te pregunta qué se necesitaría para construir un sistema que tenga X, ¿puedes darles una respuesta perspicaz que prediga los principales desafíos y recursos necesarios?
Un programador junior no tiene idea de por dónde empezar. No están listos para comenzar a hablar sin una especificación detallada. Un programador senior verá instantáneamente que el problema tiene muchas facetas e intentará afinar un desafío. No tiene que diseñar cada aspecto, solo identificar un desafío arquitectónico y luego descubrir cómo abordarlo.
Considere el tema de Google Docs:
Una cosa interesante es la escala de corte de las solicitudes que llegarán. No puede obtener un solo servidor e implementar su código en él; esta es una tarea más grande. Un entrevistado exitoso podría enfocarse en esto y describirá los tipos de recursos que se necesitarán, y algunos de los desafíos técnicos para implementar a esa escala, con una aplicación que no solo tiene estado, sino que comparte el estado entre múltiples usuarios.
Otra cosa interesante sobre Google Docs es que varias personas pueden editar al mismo tiempo. Un entrevistado exitoso podrá discutir mecanismos para asegurarse de que el documento resultante no sea basura, y un candidato realmente excelente se dará cuenta de que los diferentes métodos de sincronización o fusión de ediciones tendrán un gran impacto en el rendimiento y la experiencia de usuario. Tal vez incluso debata las variaciones: un editor de documentos compartido para escribir código probablemente debería usar un método diferente para resolver conflictos que el típico Doc de Google, porque hay diferentes consecuencias de que las cosas sucedan en un orden diferente o que tengan una estructura ligeramente diferente.
No existe una única forma correcta de crear una aplicación como Google Docs, no tiene que identificar lo que haría para cada compensación, pero es realmente genial encontrar un área que tenga un problema interesante y explicar claramente cuál es el comercio -puedes ser.
-t.