Faccio anche questo tipo di domanda 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 avere un'importante decisione aziendale da prendere e, per farlo, dobbiamo costruire un nuovo sistema. Se qualcuno ti corre incontro e ti chiede cosa ci vorrebbe per costruire un sistema che fa X, puoi dare loro una risposta perspicace che prevede 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 senior vedrà immediatamente che ci sono molte sfaccettature del problema e tenterà di affinare una sfida. Non devi progettare ogni aspetto, basta identificare una sfida architettonica e poi capire come affrontarla.
Considera il problema di Google Documenti:
Una cosa interessante è la scala di taglio delle richieste che arriveranno. Non puoi semplicemente ottenere un singolo server e distribuire il tuo codice su di esso - questa è un'impresa più grande. Un intervistato di successo potrebbe concentrarsi su questo e descriverà i tipi di risorse che saranno necessarie e alcune delle sfide tecniche nell'implementazione su quella scala, con un'applicazione che non solo ha uno stato, ma condivide lo stato tra più utenti.
Un'altra cosa interessante di Google Documenti è che più persone possono modificare 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 si renderà conto che i diversi metodi di sincronizzazione o fusione delle modifiche avranno un grande impatto sulle prestazioni e sull'UX. Forse anche discutere delle variazioni: un editor di documenti condivisi per la scrittura di codice dovrebbe probabilmente utilizzare un metodo diverso per risolvere i conflitti rispetto al tipico Google Doc, perché ci sono conseguenze diverse sulle cose che accadono in un ordine diverso o che hanno una struttura leggermente diversa.
Non esiste un solo modo giusto per creare un'app come Google Documenti, non è necessario identificare cosa faresti per ogni compromesso, ma è davvero bello trovare un'area che presenta un problema interessante e spiegare chiaramente quale sia il trade -offs potrebbe essere.
-t.