Também faço esse tipo de pergunta e concordo com a maioria das outras respostas. Talvez ajude os entrevistados a entender POR QUE esse tipo de pergunta é importante? Suponha que tenhamos uma importante decisão comercial a tomar e, para isso, precisamos construir um novo sistema. Se alguém se aproximar de você e perguntar o que seria necessário para criar um sistema com o X, você poderia dar uma resposta perspicaz que prediz os principais desafios e recursos necessários?
Um programador júnior não tem idéia por onde começar. Eles não estão prontos para começar a falar sem uma especificação detalhada. Um programador sênior verá instantaneamente que existem muitas facetas para o problema e tentará aprimorar um desafio. Você não precisa arquitetar todos os aspectos, basta identificar um desafio arquitetônico e descobrir como enfrentá-lo.
Considere a questão do Google Docs:
Uma coisa interessante é a escala de cisalhamento de solicitações que virão. Você não pode simplesmente obter um único servidor e implantar seu código nele - essa é uma tarefa maior. Um entrevistado bem-sucedido pode se concentrar nisso e descreverá os tipos de recursos que serão necessários e alguns dos desafios técnicos na implementação nessa escala, com um aplicativo que não apenas possui estado, mas também compartilha vários usuários.
Outra coisa interessante sobre o Google Docs é que várias pessoas podem editar ao mesmo tempo. Um entrevistado bem-sucedido poderá discutir mecanismos para garantir que o documento resultante não seja lixo, e um candidato realmente ótimo perceberá que diferentes métodos de sincronização ou mesclagem de edições terão um grande impacto no desempenho e no UX. Talvez até discuta variações: um editor de documentos compartilhado para escrever código provavelmente deve usar um método diferente de resolver conflitos do que o típico Google Doc, porque existem consequências diferentes para que as coisas aconteçam em uma ordem diferente ou tenham uma estrutura ligeiramente diferente.
Não existe uma maneira única de criar um aplicativo como o Google Docs; você não precisa identificar o que faria a cada troca, mas é realmente ótimo encontrar uma área que tenha um problema interessante e explicar claramente qual é a troca. -offs pode ser.
-t.