Chiedo anche questo tipo di domande e sono d'accordo con la maggior parte delle altre risposte. Forse aiuterebbe gli intervistati a capire PERCHÉ questo tipo di domanda è importante? Supponiamo di dover prendere una decisione aziendale importante e, per farlo, dobbiamo costruire un nuovo sistema. Se qualcuno si avvicina a te e ti chiede cosa ci vorrebbe per costruire un sistema che fa X, puoi dare loro una risposta perspicace che preannunci le principali sfide e risorse richieste?
Un programmatore junior non ha idea da dove iniziare. Non sono pronti per iniziare a parlare senza una specifica dettagliata. Un programmatore esperto vedrà immediatamente che ci sono molti aspetti del problema e tenterà di affinare una sfida. Non devi architettare ogni aspetto, basta identificare una sfida architettonica e poi capire come affrontarlo.
Considera il problema di Google Documenti:
Una cosa interessante è la scala di taglio delle richieste che arriveranno. Non si può semplicemente ottenere un singolo server e distribuire il codice su di esso, si tratta di un'impresa più grande. Un intervistato di successo potrebbe azzerare ciò e descrivere i tipi di risorse che saranno necessari, e alcune delle sfide tecniche nell'implementazione a tale livello, con un'applicazione che non solo ha lo stato, ma condivide lo stato tra più utenti.
Un'altra cosa interessante di Google Docs è che più persone possono modificarle contemporaneamente. Un intervistato di successo sarà in grado di discutere i meccanismi per assicurarsi che il documento risultante non sia spazzatura, e un candidato davvero eccezionale comprenderà che i diversi metodi di sincronizzazione o fusione delle modifiche avranno un grande impatto sulle prestazioni e sulla UX. Forse anche discutere delle varianti: un editor di documenti condiviso per scrivere codice dovrebbe probabilmente utilizzare un metodo diverso per risolvere i conflitti rispetto al tipico documento Google, perché ci sono diverse conseguenze su cose che accadono in un ordine diverso o con una struttura leggermente diversa.
Non esiste un unico modo giusto per creare un'app come Google Docs, non devi identificare cosa faresti per ogni trade-off, ma è davvero fantastico trovare un'area che ha un problema interessante e spiegare chiaramente quali potrebbero essere i trade-off.
-t.