Les entretiens de programmation dévoilés : Secrets pour décrocher votre prochain emploi

Les entretiens de programmation dévoilés : Secrets pour décrocher votre prochain emploi
John Mongan, Eric Giguère, Noah Kindler
Genres: Programmation
Année de publication: 2014
Année de lecture: 2020
Ma note: Bonne
Nombre de lectures: 1
Nombre total de pages: 268
Résumé (pages): 21
Langue originale de la publication: Anglais
Traductions dans d'autres langues: Russe

Description générale

Un livre sur les exercices techniques et questions d'entretien visant à préparer aux entretiens d'embauche en abordant de nombreux sujets populaires et en comblant les lacunes dans les concepts généraux de programmation (comme les types de données, algorithmes, design patterns etc., bien qu'il n'y ait quasiment rien sur la sécurité). L'ouvrage comporte 17 chapitres pour un peu plus de 350 pages. Presque aucune illustration, alors que des représentations visuelles auraient été utiles pour certains sujets comme les graphes.

Aperçu

Les premières 50 pages (soit 2 chapitres) sont purement théoriques, avec beaucoup de conseils du type : définissez votre orientation, analysez le marché du travail, évaluez vos compétences, travaillez votre visibilité en ligne et votre portfolio. Le deuxième chapitre est entièrement consacré aux candidatures et recherche d'offres d'emploi.

À partir du troisième chapitre apparaissent des exercices de programmation, surtout vers la fin. Le point notable de ce chapitre concerne les algorithmes et leur complexité (notation Big-O) - exactement ce que j'avais détaillé dans une de mes précédentes analyses.

Ensuite, trois chapitres traitent des structures de données : listes chaînées (chap.4), arbres et graphes (chap.5), tableaux et chaînes de caractères (chap.6). Ce sont probablement les chapitres les plus utiles du livre, avec de nombreux exemples (principalement en C++, mais aussi Java, JavaScript et C# dans le chapitre sur les tableaux/chaînes). Les concepts sont correctement expliqués avec la terminologie clé. Par exemple pour les listes : types (simplement/doublement chaînées, circulaires), opérations (parcours, insertion, suppression) et exercices pratiques. Même approche pour les arbres, graphes, tableaux et chaînes. Globalement ces sujets sont bien traités, et suffisants pour rafraîchir ses connaissances.

Vient ensuite un chapitre sur la récursivité et ses problèmes associés. Rien de particulier à ajouter.

Puis une section sur les algorithmes de tri. Très utile pour deux raisons : le tri est omniprésent en programmation (même si souvent masqué par les fonctions natives), et c'est un classique des entretiens. Tris par sélection, par insertion, quicksort, mergesort - tous sont couverts avec exercices.

Un chapitre traite de programmation parallèle. Bien sûr sans couvrir toutes les approches ni les implémentations dans des langages comme Go ou Kotlin. Mais les concepts de base (threads, sémaphores, interblocages etc.) sont bien expliqués.

Le chapitre sur la POO ne fait que 10 pages. Vous imaginez le survol superficiel, sans référence à un langage spécifique. Constructeurs, héritage, polymorphisme, méthodes virtuelles - l'essentiel est évoqué.

Les design patterns sont à peine abordés, avec juste quelques patterns simples et la classification (créationnels, comportementaux, structurels).

Le chapitre sur les bases de données est également très léger, probablement le plus faible.

Une section sur les graphismes et manipulations de bits, intéressante bien que sans révélation pour qui ne travaille pas dans ce domaine.

Puis deux chapitres de casse-têtes : le premier avec des énigmes logiques classiques ("quelle ampoule correspond à quel interrupteur"), le second sur des puzzles visuels (sans lien avec la partie graphisme).

L'avant-dernier chapitre regroupe divers sujets techniques (architecture, cryptographie, sécurité - bien que cette dernière ne fasse que quelques pages).

Enfin, des conseils sur les soft skills : négociation salariale, questions à poser en entretien etc.

Mon avis

Ce livre sera surtout utile aux débutants en informatique. Il couvre à la fois la recherche d'emploi et les sujets techniques fréquents en entretien (complexité algorithmique, structures de données, POO, design patterns, bases de données, manipulations de bits etc.).

Вверх