Peça a sua opinião sobre uma importante decisão arquitetônica
Por exemplo. Aqui está o programa x que executa y número de subtarefas simultaneamente. Qual você escolheria, uma estrutura com vários processos ou threading.
Quais são os benefícios / desvantagens de ambos. Quão bem eles funcionariam e como poderiam ser usados para alavancar uma plataforma com múltiplos núcleos e processadores, qual é a sua preferência pessoal? Preconceitos pessoais podem ajudar a identificar se eles realmente tiveram que aplicar o conhecimento e dar a eles um ponto de partida para compartilhar suas experiências?
Há toneladas de perguntas que um entrevistador poderia apresentar como estas:
- TCP ou UDP?
- Linguagem de tipo dinâmico ou estaticamente?
- Aplicação monolítica ou múltiplas aplicações menores?
- O que você usaria para a comunicação entre processos?
- Procedimentos armazenados ou ORM?
A maioria desses tópicos é do tipo que envolve um conhecimento íntimo de como / por que um sistema de computador funciona dessa maneira. Todos eles são questões / soluções para problemas que não têm resposta definitiva e, portanto, dão uma ideia de quão bem essa pessoa é capaz de adaptar ou superar os desafios em questão. Não é o tipo de conceito que pode ser facilmente entendido sem uma experiência prática real.
Nota: Também é necessário que o candidato escreva algum código de pesudo, mas essa resposta já foi aceita.