Meilleure réponse
La conception du système est obligatoire pour préparer les entretiens pour tous les candidats expérimentés. La conception du système signifie problèmes de conception de système évolutif (comme Uber, Facebook Newsfeed, conception de webcrawler, etc.). Comme vous pouvez le voir, tous ces systèmes ont accès à des milliards dutilisateurs. Les entreprises recherchent également un ingénieur capable de concevoir le système capable de gérer les millions de demandes à la fois et le système doit toujours être robuste avec une latence très faible. En général, la préparation de la conception du système prendra 2 mois si vous êtes un débutant complet. Mais oui, vous devez déployer beaucoup d’efforts pour l’apprendre.
Avant d’aller plus loin, laissez-moi vous donner une idée juste de l’aspect de l’entretien système
Le cycle de conception du système devrait toujours commencez par
- Une discussion détaillée sur les exigences et les éléments que notre système prend en charge et tous les éléments que nous pouvons ignorer
- Après lexigence, il est préférable de donner le interviewer une idée juste de lestimation du nombre de personnes qui vont utiliser le système
- Discutez de lAPI (API REST) Impliquez dans le système par lequel lutilisateur accède à notre service
- Essayez de dessiner De bout en bout le flux de conception de haut niveau de la conception
- Penser et proposer les composants du système implique dans le système et aussi le flux entre les composants du système
- En fin de compte, proposer une conception de bas niveau du système
Il est très important de mener une discussion saine avec lintervieweur et essayez de prendre de laide de lui / elle wh ile résoudre un problème. Cela donnera l’impression que les candidats sont également un bon joueur d’équipe . Même si vous connaissez la solution Ne commencez jamais à résoudre le problème de conception sans en discuter avec lintervieweur. Lenquêteur vous donnera une idée juste de lexigence et vous fournira des indices. Si vous essayez directement de le résoudre, lenquêteur pensera que vous connaissez déjà la solution et que vous serez rejeté .
Avant de commencer à résoudre un problème basé sur la conception du système, il est très important de préparer les bases. Voici quelques-uns des sujets de base
Pour préparer un problème de conception de système, les premières choses sont bien sûr que votre expérience vous aidera . Comme vous avez pu être impliqué dans plusieurs cycles de développement de projet, cela aide à répondre pendant le processus d’entretien.
Mais, la plupart des candidats n’auront pas beaucoup d’exposition dans le secteur , principalement parce que le fait est 70 à 75\% des informaticiens travaillent sur un projet de maintenance dans lequel ils doivent ajouter des API et développer de petits composants. Donc, une image de bout en bout de tout projet quils nont pas obtenu. Pour ceux-ci, vous pouvez apprendre la conception de système en participant à quelques cours / formations en ligne . Ces ressources en ligne maident à me préparer aux interviews.
- Vous pouvez apprendre la conception de système à partir du cours Logicmojo . Il sagit du cours en ligne de conférences vidéo pour la préparation de la conception du système ainsi que des algorithmes. Ce cours vous donnera un bon aperçu de tous les composants de conception du système et il couvre presque toutes les questions de conception posées lors des entretiens. Ils ont inclus quelques 40+ problèmes de conception , ce qui est assez bien je pense.
- Ensuite, nous avons un blog très célèbre appelé Haute évolutivité . Ces blogs fournissent les détails des composants système, lAPI et les estimations des fameux problèmes de conception système. Bien quil couvre dénormes détails du système, mais vous devez également extraire les détails utiles et pertinents
- De plus, il existe un bon cours en ligne éducatif cours de conception de système grokking. Cest aussi une bonne collection de problèmes de conception de système. Vous devez le parcourir dans son intégralité et le lire comme ses ressources textuelles
De plus, vous devez participer à toutes les réunion de conception se produit dans votre projet actuel au bureau, car lors de ces réunions, larchitecte principal discute de la discussion de conception et des défauts de la conception existante du système. Cela donne une bonne idée de la manière de choisir la conception de nimporte quel système. Essayez également de lire et de comprendre le document de conception de tous les projets antérieurs. Cela vous aide également lors des entretiens de conception de système.
Réponse
Ne vous laissez pas submerger. Préparez-vous étape par étape et décomposez-le pendant votre préparation, et faites de même une fois que vous êtes dans la vraie interview. La La conception des systèmes est délicate – vous devez gérer la nature non structurée de lentretien, mais avec plus de pratique, vous serez prêt à gérer tout ce quils vous lancent .
- Comprendre les objectifs de lentrevue – Il est essentiel de clarifier les ambiguïtés dès le début. Assurez-vous de savoir ce quils veulent savoir.
- Établissez la portée – Essayez de définir toutes les caractéristiques du design auxquelles vous pensez par leur importance pour lutilisateur pour le scénario fourni.
- Conception à la bonne échelle – Le même ensemble de fonctionnalités nécessite une approche très différente pour différentes échelles. Il est essentiel de déterminer léchelle afin de savoir si vos données peuvent tenir sur une seule machine ou si vous devez mettre à léchelle les lectures.
- Début de haut niveau , puis descendez – Commencez par couvrir le processus de bout en bout, en fonction des objectifs que vous avez définis. Cela peut inclure le détail des différents clients, API, services backend, processus hors ligne, architecture réseau, magasins de données et comment ils se réunissent tous pour répondre aux exigences
- Structures de données et algorithmes – Noubliez pas de tenir compte de vos besoins de mise à léchelle, où lanalyse de la complexité de lexécution et de la mémoire devient pratique.
Pratiquez autant que possible dans les semaines qui précèdent votre réunion sur Amazon. Être cohérent avec la préparation de votre entretien et le programmer dans votre routine hebdomadaire dans les semaines précédant votre entretien sera la plus grande aide pour faire sûr que vous êtes prêt. La pratique de la qualité est également plus importante que la quantité. Assurez-vous de ne pas être distrait pendant vos séances, de vous concentrer sur les problèmes à résoudre et de travailler sur des choses qui vous posent des défis. Si vous ne pratiquez que les choses faciles, vous serez confronté à des surprises désagréables et au stress lors de lentretien réel.
Un excellent moyen daméliorer vos compétences pour une entrevue est de simuler des séances dentretien. Lexpérience vous permet de vous habituer à ce que vous ressentirez lorsque vous rencontrerez le responsable du recrutement. Pour commencer, consultez Pramp , une plate-forme dinterview simulée dégal à égal.
Pramp propose aux utilisateurs une simulation dinterview de conception de système travailler avec un pair. Ensemble, vous jouerez à la fois le rôle de lenquêteur et de linterviewé afin que vous puissiez également apprendre de leurs forces et faiblesses. Il est avantageux de regarder quelquun dautre terminer son entretien de conception de système et de le voir du point de vue de lintervieweur. Vous recevrez également des commentaires après lexpérience, que vous pourrez utiliser pour identifier les composants sur lesquels vous devez travailler avant de rencontrer le responsable du recrutement dAmazon.