![translation](https://cdn.durumis.com/common/trans.png)
Ceci est un post traduit par IA.
[Non-majors, Surviving as Developers] 14. Résumé des questions d'entrevue technique fréquemment posées aux développeurs débutants
- Langue de rédaction : Coréen
- •
-
Pays de référence : Tous les pays
- •
- Technologies de l'information
Choisir la langue
Texte résumé par l'IA durumis
- Les questions techniques fréquemment posées lors des entrevues de développeurs débutants sont résumées, couvrant divers sujets tels que la zone de mémoire, les structures de données, les bases de données, la programmation, les algorithmes de remplacement de page, les processus et les threads, les couches OSI 7, TCP et UDP, etc. : l'article explique divers sujets.
- L'article explique brièvement chaque sujet et fournit des exemples concrets pour une meilleure compréhension.
- L'article contient des informations utiles qui peuvent aider les développeurs à acquérir les connaissances techniques de base nécessaires à la préparation des entrevues.
Devenir développeur sans être diplômé
#14. Questions d'entretien d'embauche courantes pour les développeurs débutants
[Zones de la mémoire principale]
- Zone de code : zone où le code source du programme est stocké. Le CPU récupère les instructions (source, fonction, instruction de contrôle) stockées dans la zone de code et les traite. Par exemple, lorsqu'un programme écrit en langage C est exécuté, la zone de code contient le code source de ce programme.
- Zone de données : zone où les variables globales et statiques sont stockées. Elle est allouée au début du programme et ne disparaît pas tant que le programme ne se termine pas. Par exemple, lorsqu'un programme écrit en langage C est exécuté, la zone de données stocke les variables globales ou statiques déclarées dans ce programme.
- Zone de pile : zone de mémoire temporaire utilisée par le programme, où les variables locales et les paramètres liés à l'appel de fonction sont stockés. Elle est allouée lors de l'appel de fonction et disparaît à la fin de la fonction. Par exemple, lorsqu'une fonction écrite en langage C est appelée, les variables locales ou les paramètres utilisés par cette fonction sont alloués dans la zone de pile.
- Zone de tas : zone où l'utilisateur alloue et désalloue dynamiquement de l'espace mémoire. Par exemple, lorsque l'on alloue dynamiquement de la mémoire en langage C à l'aide de la fonction malloc(), la zone de mémoire allouée est stockée dans la zone de tas.
[Structures de données]
- Pile : structure de données fonctionnant selon le principe LIFO (Last In First Out, dernier entré, premier sorti). Par exemple, le bouton "Précédent" sur un ordinateur est similaire à une pile. Les pages visitées précédemment sont stockées dans la pile et lorsqu'on clique sur le bouton "Précédent", la page la plus récemment enregistrée est récupérée et affichée.
- File d'attente : structure de données fonctionnant selon le principe FIFO (First In First Out, premier entré, premier sorti). Par exemple, l'obtention d'un ticket d'attente dans une banque est similaire à une file d'attente. La personne arrivée en premier est la première à être traitée et la dernière à arriver est la dernière à être traitée.
- Arbre : structure de données qui représente les données en hiérarchie. Par exemple, l'arbre DOM de HTML est similaire à un arbre. La structure d'une page HTML est représentée par un arbre, qui commence par la racine, la balise html, et les nœuds enfants sont affichés séquentiellement.
- Tas : un type d'arbre binaire où la donnée ayant la plus haute priorité est située à la racine de l'arbre, suivie des données ayant les priorités suivantes dans les nœuds enfants. Il s'agit d'un exemple de tas maximum.
[RDBMS et NoSQL]
- RDBMS : base de données qui définit et gère structurellement les données avec un schéma strict. Les données peuvent être stockées de manière distribuée et sont faciles à modifier. Par exemple, MySQL, Oracle et MS-SQL sont des exemples typiques de RDBMS.
- NoSQL : base de données qui stocke et gère les données avec un schéma flexible. Elle est adaptée au traitement et au stockage de gros volumes de données et offre également une haute évolutivité. Par exemple, MongoDB, Cassandra et HBase sont des exemples typiques de NoSQL.
[Programmation procédurale et orientée objet]
- Programmation procédurale : technique de programmation où le traitement séquentiel est essentiel. Les langages C et Pascal sont des langages procéduraux.
- Programmation orientée objet : méthode de traitement logique des données et des procédures en les liant ensemble en fonction du concept d'objet (Object). Les langages Java, C++ et Python sont des langages orientés objet. Par exemple, dans un programme de simulation de voiture, la voiture est représentée comme un objet, ses attributs (couleur, accélération, etc.) sont représentés par des données et ses fonctions (rouler, s'arrêter, etc.) sont représentées par des méthodes.
[Remplacement et surcharge]
- Remplacement : redéfinir une méthode d'une classe parent dans une classe enfant et l'utiliser. Lorsque la classe enfant appelle une méthode de la classe parent, la méthode redéfinie dans la classe enfant est exécutée au lieu de la méthode de la classe parent. Par exemple, la méthode toString() en Java est un exemple de remplacement.
- Surcharge : définir plusieurs méthodes du même nom, mais avec des types et des nombres de paramètres différents, afin de répondre à différents types d'appels. Les différentes méthodes ayant le même nom mais des paramètres différents fonctionnent. Par exemple, la méthode print() en Java est un exemple de surcharge.
[Algorithmes de remplacement de page]
- FIFO : la page la plus ancienne chargée dans la mémoire physique est remplacée. La "fermeture" des applications dans la "barre des tâches" d'un ordinateur est également similaire à l'algorithme FIFO. L'application lancée en premier est la dernière à être affichée et fermée.
- LRU : la page la moins récemment utilisée est remplacée. L'application "de fermeture d'applications" qui ferme les applications anciennes parmi les applications qui ne sont pas utilisées souvent est également similaire à l'algorithme LRU.
- LFU : la page ayant le plus petit nombre d'accès est remplacée. Par exemple, la fonction "fermeture d'onglets" qui ferme les onglets les moins utilisés parmi les nouveaux onglets ouverts dans le navigateur est également similaire à l'algorithme LFU.
- MFU : la page ayant le plus grand nombre d'accès est remplacée. L'algorithme MFU est rarement utilisé.
[Processus et thread]
- Processus : unité de travail d'exécution allouée par le système d'exploitation, ce qui signifie un programme. Si plusieurs processus sont exécutés simultanément, chaque processus se voit attribuer une zone de mémoire et un CPU indépendants.
- Thread : unité d'exécution fonctionnant dans un processus, qui s'exécute en partageant les ressources allouées au processus. Par exemple, chaque onglet dans un navigateur Web fonctionne comme un thread et non comme un processus.
[OSI 7 couches]
- Couche application : couche qui connecte l'utilisateur au réseau. Elle inclut des protocoles tels que HTTP, FTP et SMTP.
- Couche présentation : couche qui définit le mode de représentation des données. Elle inclut des protocoles tels que JPEG, MPEG et SSL.
- Couche session : couche qui gère les sessions entre deux systèmes communicants.
- Couche transport : couche qui gère la transmission des données. Elle inclut des protocoles tels que TCP et UDP.
- Couche réseau : couche qui configure le chemin de transmission des données. Elle inclut des protocoles tels que IP et ICMP.
- Couche liaison de données : couche qui transmet les données à l'aide d'adresses physiques (adresses MAC). Elle inclut des protocoles tels qu'Ethernet et Token Ring.
- Couche physique : couche qui gère la communication physique et les supports de transmission.
[TCP et UDP]
- TCP : service orienté connexion qui transmet les données de manière fiable. Il établit ou rétablit une connexion à l'aide d'un handshake à trois voies et d'un handshake à quatre voies. Par exemple, lorsque vous vous connectez à un site Web ou que vous transférez des fichiers, vous utilisez TCP.
- UDP : service sans connexion qui ne nécessite pas de procédure de signalisation pour la transmission des données. Il est moins fiable que TCP, mais plus rapide. Par exemple, la diffusion de vidéos en continu ou les jeux en ligne utilisent UDP car la rapidité de transmission est importante.