Je pose aussi ce genre de question et je suis d’accord avec la plupart des autres réponses. Cela aiderait peut-être les personnes interrogées à comprendre POURQUOI ce type de question est-il important? Supposons que nous ayons une décision commerciale importante à prendre et que, pour ce faire, nous devions créer un nouveau système. Si quelqu'un se précipite vers vous et vous demande ce qu'il faudrait pour construire un système prenant en charge X, pouvez-vous leur donner une réponse perspicace qui prédit les principaux défis et les ressources nécessaires?
Un programmeur junior n'a aucune idée par où commencer. Ils ne sont pas prêts à commencer à parler sans spécification détaillée. Un programmeur expérimenté constatera instantanément que le problème présente de nombreuses facettes et tentera de relever le défi. Il n'est pas nécessaire de concevoir chaque aspect, il suffit d'identifier un défi architectural et de déterminer ensuite comment le résoudre.
Considérez le problème de Google Docs:
Une chose intéressante est l’échelle de cisaillement des demandes à venir. Vous ne pouvez pas obtenir un seul serveur et y déployer votre code - il s'agit d'une entreprise plus vaste. Une personne interrogée qui réussit peut se concentrer sur ce problème et décrira les types de ressources qui seront nécessaires, ainsi que certains des problèmes techniques liés à la mise en œuvre à cette échelle, avec une application non seulement state, elle partage le même état entre plusieurs utilisateurs.
Une autre chose intéressante à propos de Google Documents est que plusieurs personnes peuvent modifier en même temps. Une personne interrogée ayant réussi pourra discuter des mécanismes permettant de s’assurer que le document obtenu n’est pas déréglée, et un candidat vraiment formidable se rendra compte que différentes méthodes de synchronisation ou de fusion des modifications auront un impact important sur les performances et l’expérience utilisateur. Peut-être même discutez-vous des variantes: un éditeur de document partagé pour l'écriture de code devrait probablement utiliser une méthode de résolution des conflits différente de celle de Google Doc classique, car les conséquences sont différentes pour des événements se déroulant dans un ordre différent ou ayant une structure légèrement différente.
Il n'y a pas de bonne façon de créer une application telle que Google Documents, vous n'avez pas à identifier ce que vous feriez pour chaque échange, mais il est vraiment génial de trouver un domaine présentant un problème intéressant et d'expliquer clairement le -offs pourrait être.
-t.