Interview wiki - Guide pour les ingénieurs logiciels

Nov 27 2022
Généralement, un entretien avec un ingénieur logiciel comporte 4 types de tours : - - Tour technique - Tour de conception de haut niveau (HLD) - Tour de conception de bas niveau (LLD) - Tour comportemental Le nombre de tours pour chaque rôle dépend de l'entreprise. Par exemple Amazon, ils ont généralement 4 tours dans lesquels les 2 premiers tours seraient liés à la structure de données (DS) et aux algorithmes, et le reste serait des tours de conception s'il s'agissait du rôle SDE2 +.

En règle générale, un entretien avec un ingénieur logiciel comporte 4 types de cycles : -

- Ronde technique

- Ronde de conception de haut niveau (HLD)

- Rond de conception de bas niveau (LLD)

- Ronde comportementale

Le nombre de tours pour chaque rôle dépend de l'entreprise. Par exemple Amazon, ils ont généralement 4 tours dans lesquels les 2 premiers tours seraient liés à la structure de données (DS) et aux algorithmes, et le reste serait des tours de conception s'il s'agissait du rôle SDE2 +. Pour eux, ils ne gardent pas un tour séparé pour le comportement à la place, ils posent quelques questions de leadership à chaque tour.

Chaque tour est important et nous devons consacrer du temps à chacun. Habituellement, les étudiants de première année qui sortent de l'université n'auront pas de rondes HLD et LLD. Mais ils peuvent s'attendre à un tour OO (Orienté Objet) à la place, où ils testent vos compétences en Orienté Objet.

Ici, dans ce wiki, je partagerai tout le contenu que j'ai rencontré lors de la préparation de mon entretien. Je partagerais des cours, des livres, des blogs et des dépôts GitHub qui m'ont été très utiles lors de la préparation de mon entretien. Cela ne signifie pas que vous devez suivre la même chose pour vos entretiens car chacun a son propre style d'apprentissage. Mais vous pouvez utiliser ce wiki comme guide ou référence pour la préparation. En fin de compte, c'est vous qui assistez à l'entretien.

Je couvrirai chaque tour séparément. Commençons par le tour technique.

Tour technique

L'un des tours les plus importants pour les débutants et les personnes expérimentées. Ici, ils testent vos connaissances sur la structure des données et les algorithmes. Ces rondes ne testent pas vos connaissances sur les algorithmes avancés qui existent pour résoudre des problèmes complexes. Mais vous devriez au moins connaître les plus courants. J'ai vu des gens avoir des problèmes très étranges et nuls qui ne peuvent être résolus qu'avec des algorithmes uniques. Mais c'est très rare. Je ne suggérerai pas d'y passer du temps car nous devrions faire confiance à la probabilité de base d'y faire face. Si vous voulez voir le modèle de question d'entrevue commun, vous pouvez visiter le site Web suivant (https://algo.monster/problems/stats)

Les choses qu'il ne faut pas sauter :

Structure de données,

Tableau, Liste chaînée, Pile, File d'attente, Tas, Carte, Ensemble, Trie, Arbre, BST

Algorithmes

Algorithmes de tri, de programmation dynamique, gourmands, de recherche, de division pour mieux régner et de graphes.

Conception de haut niveau

Il teste vos connaissances sur la conception de l'architecture globale d'un système. Il comprend une description de l'architecture du système, de la conception de la base de données et une brève description des systèmes, des services, des plates-formes et des relations entre les modules. Auparavant, les questions étaient très vagues, comme la conception de WhatsApp, la conception de Redbus, etc. Ici, vous devez proposer un design en moins de 30 à 45 minutes selon l'intervieweur. Ici, l'intervieweur ne s'attend pas à ce que vous codiez, mais vous devriez être capable de concevoir les bases de données, l'API, etc. si on vous le demande.

Conception de bas niveau

Il décrit une description détaillée de chaque module, ce qui signifie qu'il inclut la logique réelle pour chaque composant du système et qu'il approfondit les spécifications de chaque module. Ici, vous devez coder les classes, les interfaces, etc. Vous devez également avoir une très bonne connaissance des modèles de conception. Si vous connaissez un langage orienté objet, ce serait un plus.

Rondes comportementales

Je crois qu'ici je n'ai pas besoin de donner d'introduction. C'est l'un des tours que les gens avaient l'habitude de sauter mais à mon avis, il faut passer au moins une journée pour se préparer. La plupart des enquêteurs se soucient réellement de ce que vous dites dans ce tour. Amazon, Google, etc. prennent vraiment ces rondes très au sérieux et vous devez être conscient des questions posées et de la stratégie à suivre pour répondre à ces questions.

Ressources:

Tour technique

1.https://www.geeksforgeeks.org/top-algorithms-and-data-structures-for-competitive-programming/(Le plus important)

2.https://takeuforward.org/interviews/strivers-sde-sheet-top-coding-interview-problems/(Problèmes)

3.https://www.youtube.com/user/purpongie(Didacticiel)

4.https://cses.fi/problemset/list(Problèmes)

5.https://github.com/donnemartin/interactive-coding-challenges(Apprentissage)

6.https://leetcode.com/discuss/interview-question/2001789/Collections-of-Important-String-questions-Pattern(Problèmes)

sept.https://github.com/jwasham/coding-interview-university(Apprentissage)

8.https://leetcode.com/discuss/interview-question/2069641/the-only-lists-you-need-for-your-interview-preparation(Apprentissage)

Ronde HLD

1.https://www.youtube.com/c/SystemDesignInterview/videos(Didacticiel)

2.https://www.youtube.com/watch?v=0163cssUxLA&list=PLA8lYuzFlBqAy6dkZHj5VxUAaqr4vwrka(Didacticiel)

3.https://www.youtube.com/watch?v=xpDnVSmNFX0&list=PLMCXHnjXnTnvo6alSjVkgxV-VH6EPyvoX(Didacticiel)

4.https://blog.bytebytego.com/?utm_source=linkedin_post(Blog)

5.https://leetcode.com/discuss/general-discussion/125038/system-design-interview-prep(Apprentissage)

6.https://www.educative.io/courses/grokking-modern-system-design-interview-for-engineers-managers(Cours payant)

sept.https://github.com/donnemartin/system-design-primer(Apprentissage)

8.https://github.com/checkcheckzz/system-design-interview(Apprentissage)

Ronde LLD

1.https://workat.tech/machine-coding/practice(Problèmes de codage machine)

2.https://www.youtube.com/playlist?list=PL564gOx0bCLouDCUMtmj6hMEu1JS7QYEr(Didacticiel)

3.https://github.com/prasadgujar/low-level-design-primer/blob/master/questions.md(Problèmes)

4.https://betterprogramming.pub/how-to-ace-the-low-level-design-interview-3f1be6401070(Blog)

Cycle comportemental

1.https://www.youtube.com/watch?v=RzlUQCy84rQ(principe de leadership d'Amazon)

2.https://leetcode.com/discuss/interview-question/1729926/a-guide-for-behavioral-round(guide)

3.https://drive.google.com/file/d/1sb6Kll5enH3H70uaNwnjWPkN9pNtSu9-/view(pdf)

4.https://igotanoffer.com/blogs/product-manager/behavioral-interview-questions-tech-companies#techniques(question Facebook)

5.https://leetcode.com/discuss/interview-question/437082/Amazon-Behavioral-questions-or-Leadership-Principles-or-LP(Questions Amazon LP)

6.https://www.techinterviewhandbook.org/behavioral-interview-questions/(Des questions)

sept.https://www.principle.cards/(Testez-vous)

Pour les dernières mises à jour d'interview-wiki, vous pouvez suivre mon dépôt GitHubhttps://github.com/aashan007/Interview-wiki