Top 50 des questions et réponses d'entrevue de programmation incontournables

Vous recherchez les principales questions et réponses sur la programmation pour vous aider à décrocher un entretien ? Voici les 50 meilleurs.

Les éditeurs de logiciels sont toujours à la recherche de bons talents en programmation, les entretiens téléphoniques et en ligne décidant souvent de votre sort en quelques minutes seulement.

Un bon programmeur doit être aussi polyvalent que possible - de la compréhension des systèmes à la programmation générale, en passant par différents concepts et technologies, tout en étant à jour.

Voici une liste des 50 principales questions d'entrevue de programmation et leur réponse. Ils mettent en lumière les concepts variés que tout débutant doit connaître pour exceller.

1. Qu'est-ce que la programmation informatique ?

La programmation informatique est le processus d'encodage des processus logiques à exécuter par un ordinateur. Ceci est accompli en utilisant un langage informatique qui contient les instructions nécessaires.

Le processus peut être divisé en conception, codage, débogage et mise à jour.

2. Qu'est-ce que le débogage ?

Le débogage est le processus de découverte et d'élimination des erreurs dans la source logicielle d'un programme informatique. Il existe de nombreuses méthodes pour y parvenir, mais la plupart des environnements de développement sont livrés avec un débogueur intégré pour faciliter les choses.

3. Qu'est-ce qu'un compilateur ?

Un compilateur est un programme logiciel qui prend le programme écrit et le transforme en code machine qu'un ordinateur peut comprendre.

Cependant, un package de compilateur typique est composé d'un préprocesseur, du compilateur principal qui transforme le langage informatique en code d'assemblage et d'un assembleur.

4. Qu'est-ce qu'un pré-processeur ?

Un pré-processeur est un programme qui analyse le code informatique écrit pour trouver et satisfaire ses dépendances, telles que les bibliothèques nécessaires.

Une fois que le préprocesseur s'est assuré que tout, y compris l'environnement d'exécution, est correct, un compilateur peut alors convertir le code en code assembleur.

5. Qu'est-ce qu'un assembleur ?

Un assembleur est un programme qui prend le niveau le plus bas de code informatique lisible par l'homme appelé langage d'assemblage et le transforme en code machine avec lequel un ordinateur peut fonctionner.

Le langage d'assemblage est généralement produit par un compilateur bien que l'on puisse également coder directement. Un programme d'assemblage peut inclure du code tel que :

MOUVEMENT AH, 02H

mais lorsque vous le compilez en code machine, vous n'obtenez que des zéros et des uns (par exemple, 0110011110101010).

6. Comment un programme s'exécute-t-il ?

Tout d'abord, le système d'exploitation charge le programme spécifié du stockage sur disque dur dans la mémoire système (RAM), puis lui permet de s'exécuter en demandant au processeur de poursuivre son exécution à partir de la première adresse mémoire du programme. Le processeur exécute toute commande qu'il voit, puis passe à la suivante, répétant souvent cette procédure des millions de fois par seconde.

Les processeurs 32 bits exécutent des instructions 32 bits (4 octets, double mot) à la fois, tandis que les processeurs 64 bits exécutent des instructions 64 bits (8 octets, quatre mots) à la fois. Ces instructions sont intégrées au CPU et c'est l'assembleur qui transforme le code de programmation en nombres binaires qui représentent les adresses de commande natives du CPU.

7. Définir un Sous-programme

Un sous-programme est une séquence d'instructions dans un programme qui peut être appelée et exécutée à tout moment. En d'autres termes, une sous-routine peut être une fonction, une méthode ou une procédure utilisée pour implémenter une tâche spécifique telle que l'envoi d'un e-mail, l'ouverture d'un fichier ou le forçage brutal d'une page de connexion.

8. Définir Langage machine

Le code machine est une séquence de nombres binaires qui contient les instructions d'exécution d'un microprocesseur spécifique et ses adresses mémoire associées.

Le code machine est traditionnellement produit par un assembleur conçu pour cette famille particulière de microprocesseurs.

9. Expliquez Langages compilés vs interprétés

Un langage informatique compilé doit être transformé en code machine avant d'être exécuté sur un ordinateur, tandis qu'un langage interprété n'a pas besoin d'être compilé au préalable.

Lorsque vous exécutez un programme interprété, il est d'abord traité par un interpréteur, qui le compile et l'exécute ensuite à la volée. Ces étapes supplémentaires rendent les langages interprétés tels que Python plus lents que les langages compilés tels que C.

10. Qu'est-ce qu'une boucle ?

Une boucle est une structure de code qui peut répéter des instructions spécifiques jusqu'à ce qu'un critère spécifié soit atteint. Ce critère peut inclure un nombre fixe de répétitions ou le changement d'une variable définie.

Différents langages informatiques interpréteront les boucles de différentes manières. Les types de boucles populaires de la famille C incluent cependant :

  1. Boucle While() – il permet l'exécution de code spécifique, tant qu'un booléen while () la condition est remplie.
    Par exemple tandis que(2>1){print("yahoo !")} ;.
  2. Pour(;;) Boucle – contient trois expressions (initialisation ; évaluation; mettre à jour) qui définissent les conditions à tester, ainsi qu'une méthode flexible pour incrémenter le nombre. Il exécutera également du code au moins une fois.
  3. Boucle Do{} While() – ce type de boucle exécute la fais{} code au moins une fois avant de déterminer si le while () condition est toujours vraie.

12. Expliquez itération vs Récursivité

Une itération est l'utilisation d'une boucle pour exécuter les mêmes étapes de code, tandis que la récursivité est le processus d'une fonction qui s'appelle elle-même encore et encore. Le problème avec la récursivité, cependant, est que vous ne pouvez atteindre qu'une certaine profondeur jusqu'à ce que vous rencontriez des problèmes de mémoire.

13. Expliquez les emplois de Pause et continuer dans une boucle

A pause L'instruction termine l'exécution d'une boucle et continue l'exécution du reste du code informatique. UN continuer instruction, d'autre part, continue d'itérer la boucle depuis le début.

14. Qu'est-ce que la POO ?

OOP signifie Object Oriented Programming et c'est un paradigme de programmation qui implémente la conception de logiciels autour de données et d'objets, plutôt qu'autour de fonctions ou de procédures.

15. Qu'est-ce que la programmation procédurale ?

La programmation procédurale est un paradigme de programmation qui organise le code informatique autour des séquences ou étapes d'instructions à exécuter. Comme son nom l'indique, il s'agit d'une approche descendante qui commence le code à partir de la phase initiale des événements et se termine par la fin prévue des événements.

16. Expliquer la programmation fonctionnelle

La programmation fonctionnelle est un paradigme de programmation informatique qui aborde le développement de logiciels en appliquant des fonctions séquentielles qui ne modifient ni l'état ni les données des arguments fournis.

L'objectif est de créer des programmes plus robustes qui produisent les résultats attendus sans effets secondaires imprévus.

17. Expliquez Langage de haut niveau

Un langage de programmation de haut niveau est un langage informatique qui fait davantage appel à la compréhension humaine qu'aux spécificités ou à la nature de l'ordinateur.

Les langages de programmation de haut niveau tels que C et Python sont faciles à comprendre, tandis qu'un langage d'assemblage de bas niveau peut être très déroutant pour les débutants.

Il n'y a que deux langages de programmation de bas niveau : l'assembleur et le code machine.

19. Définir une attaque par injection SQL

Une attaque par injection SQL est un processus consistant à saisir des instructions SQL dans des champs d'entrée tels que des entrées de nom d'utilisateur ou d'adresse, dans l'espoir qu'un développeur n'a pas correctement nettoyé les entrées pendant la programmation. Et en cas de succès, une telle attaque permet à l'attaquant d'obtenir un accès administrateur au serveur.

20. Qu'est-ce qu'une table en SQL ?

Une table en SQL fait référence à une collection de données regroupées en colonnes et en lignes. Chaque colonne a un type de données distinct et vous pouvez avoir plusieurs tables dans une seule base de données. Vous pouvez également interroger plusieurs tables à la fois.

Vous créez une table avec :

CREATE TABLE nom_table(type de données colonne1, type de données colonne2, type de données colonne3, …) ;

21. Expliquez la différence entre un objet et une classe

Un objet est une instance d'une classe, tandis qu'une classe est un plan à partir duquel un objet est créé. Un objet peut avoir des états et des propriétés, comme la couleur, la hauteur, le poids, la vitesse, etc.

Ces propriétés doivent être définies ou initialisées avec des valeurs par défaut au minimum.

22. Combien de bits font un mégaoctet ?

Il y a 8,000,000 1 8 bits dans 10 mégaoctet car un octet équivaut à XNUMX bits et un méga à XNUMX6.

23. Définir un type de données flottant

Un flottant est un type de données qui représente un nombre avec des fractions décimales. Il est utilisé dans les situations où un niveau de précision plus élevé est nécessaire que ce que les entiers standard peuvent fournir. Un exemple de flotteur est :

0.013 

or 

25.932

24. Que signifie HexaDecimal 0xFF ?

0xFF signifie décimal 255 ou binaire 11111111. 0x signifie base16 ou notation hexadécimale, qui va de 1 à 9, puis continue avec A à F pour représenter 15. Ainsi, 0xF est décimal 15, tandis que 0xFF est décimal 255.

25. Nommer les types d'erreurs de programmation

Il existe 3 grands types d'erreurs dans un programme informatique, ce sont :

  1. Erreur de syntaxe
  2. Erreur logique
  3. Erreur d'exécution

26. Qu'est-ce qu'une erreur de syntaxe ?

Une erreur de syntaxe se produit lorsqu'il y a un écart par rapport à la syntaxe souvent stricte des langages de programmation. Cela peut résulter de la simple erreur de placement des lettres dans les mauvais paramètres transmis à une fonction. La plupart des compilateurs incluront le numéro de la ligne de code source où l'erreur s'est produite.

27. Qu'est-ce qu'une erreur logique ?

Une erreur de logique est une erreur qui résulte du fonctionnement d'un programme. Ainsi, bien que le programme puisse s'exécuter parfaitement, il n'atteint pas son objectif. Les erreurs logiques peuvent se produire de plusieurs façons et être causées par de nombreuses raisons.

28. Qu'est-ce qu'une erreur d'exécution ?

Une erreur d'exécution est une erreur de programme informatique qui se produit lors de l'exécution du programme et due à des circonstances imprévues. Ainsi, alors que le programme fonctionne parfaitement, par exemple, des problèmes de mémoire et de réseau peuvent entraîner un mauvais comportement du programme.

29. Expliquez Langages forts vs faiblement typés

Un langage fortement typé est strict sur ses différents types de données et sur la façon dont vous pouvez les convertir, tandis qu'un langage faiblement typé impose moins de restrictions sur les types de données et leurs définitions.

De nombreux langages faiblement typés convertissent automatiquement les types de données, tandis que les langages fortement typés nécessitent souvent des conversions explicites.

30. Qu'est-ce que l'architecture MVC ?

MVC fait référence à Model-View-Controller et est un modèle de développement logiciel pour les interfaces utilisateur. Il sépare la logique du programme en 3 parties.

Le modèle partie gère la logique de données sous-jacente des objets en question, tandis que la partie vue gère l'affichage des informations à l'utilisateur, et le contrôleur gère le flux de données entre les vues et les modèles. La conception MVC est souvent utilisée avec la programmation orientée objet.

31. Définir un Algorithme

Un algorithme est une séquence de procédures conçues pour résoudre un problème spécifique. Ces procédures sont généralement décomposées en étapes plus petites et l'ordinateur les exécute exactement de cette façon à chaque fois.

Les exemples d'algorithmes incluent la reconnaissance faciale, la recherche Google, la façon dont vous attachez vos chaussures, l'encodage ou le cryptage des données, etc.

32. Ce qui est Apprentissage automatique?

L'apprentissage automatique ou ML est une section de l'intelligence artificielle qui vise à aider les systèmes à identifier des modèles et à prendre des décisions par eux-mêmes grâce à la consommation de données.

Cela améliore alors leurs performances ou leur efficacité. Les systèmes d'apprentissage automatique peuvent être supervisés, non supervisés et basés sur le renforcement.

33. Quels sont Expressions régulières?

Une expression régulière ou Regex est une chaîne utilisée pour définir des modèles de recherche dans des documents texte. Différents langages de programmation implémentent des expressions régulières ou utilisent des bibliothèques de regex populaires. Un exemple de regex pour faire correspondre tous les caractères d'un texte est :

(. *)

alors que ce qui suit ne correspond qu'aux fichiers mp3 :

.+\.(mp3)$

34. Que fait l'opérateur du module (%) ?

L'opérateur module % prend deux opérandes et divise le premier opérande par le second. Il renvoie ensuite le reste de l'opération en conséquence.

Il est souvent utilisé pour tester les nombres pairs et impairs en divisant n'importe quel nombre entier par 2, où un résultat 0 signifie un nombre pair et 1 signifie un nombre impair.

35. Expliquez Bifurcation de processus

Le fork vient du fourchette() fonction dans les systèmes Unix et Linux qui peut être utilisée par un processus en cours d'exécution pour créer une copie de lui-même. Ainsi, le forking de processus est la duplication d'un processus pour créer deux processus similaires et s'exécutant simultanément.

Un type supplémentaire de forking consiste à prendre le code source d'un projet open source et à en créer un programme entièrement nouveau.

36. Expliquez Frai de fil

La génération de threads est le processus de création d'un nouveau thread CPU pour exécuter un processus. Le frai est souvent utilisé par les programmes gourmands en calcul pour tirer parti des capacités multi-threading d'un processeur et son succès dépend du processeur sur lequel il s'exécute, du nombre de cœurs dont il dispose et du nombre de threads par cœur qu'il offre.

37. Qu'est-ce que Mots réservés Signifier?

Les mots réservés sont des termes que vous n'êtes pas autorisé à utiliser comme identifiant dans un langage de programmation. Cela inclut les fonctions, les variables et les étiquettes. Ils sont réservés car ils ont déjà été définis et ont des significations spécifiques.

Différentes langues ont différents mots réservés en fonction de leur syntaxe. Voici les mots réservés les plus populaires en programmation :

  1. IF
  2. VRAI
  3. FAUX
  4. INTERRUPTEUR
  5. AUTRE
  6. Adhésion
  7. Booléen
  8. RETOUR
  9. FONCTION
  10. BREAK
  11. GOTO

39. Qu'est-ce qu'une chaîne ?

Une chaîne est une séquence de caractères, souvent contenue dans un tableau et utilisée pour définir des données textuelles. La chaîne la plus populaire est "hello world".

40. Qu'est-ce qu'une variable ?

Une variable est une valeur qui peut changer pendant l'exécution d'un programme. Une variable peut être de n'importe quel type de données, y compris des chaînes et des entiers. Par exemple, un programme est initialisé comme ci-dessous :

int a = 0;

entier b = 1;

puis lors de l'exécution, des modifications sont apportées :

b = a+b ; //b a varié

41. Qu'est-ce qu'une constante ?

Une constante est une variable qui ne devrait pas changer pendant l'exécution du programme. Un bon exemple est la vitesse de la lumière ou du son. Différents langages de programmation vous permettent de définir des constantes de différentes manières. Par exemple, en C :

const float milieu_c = 261.62 ; // La clé du milieu c sur un piano est de 261.6255 Hz

42. Définir un tableau

Un tableau est un type de variable utilisé pour stocker plusieurs valeurs à la fois. De nombreux langages vous permettent de stocker uniquement des valeurs de types de données similaires, tandis que d'autres langages peuvent gérer des tableaux de types différents. Vous pouvez également avoir des tableaux multidimensionnels, qui sont des tableaux de tableaux et peuvent devenir désordonnés.

Définir un tableau en mql4 est simple avec :

chaîne TextArray[100] ; //un tableau de cent chaînes

43. Ce qui est Surcharge de fonction ?

La surcharge de fonctions est une méthode qui permet à un développeur de définir plusieurs fonctions qui partagent le même nom mais qui ont des fonctionnalités différentes. Ceci est réalisé en créant les différentes versions de fonction avec différents arguments. Le compilateur sait alors quelle fonction est nécessaire par le type et le nombre d'arguments fournis.

44. Définir un Appel par référence

Un appel par référence est une méthode de transmission de l'adresse mémoire des arguments à une fonction, par opposition à la méthode standard de transmission d'une copie de la valeur de l'argument. Le but des appels de référence est que l'argument soit directement modifié par la fonction.

45. Expliquez Opérateurs arithmétiques

Ce sont des caractères spéciaux qui fonctionnent pour effectuer des opérations arithmétiques dans un langage de programmation. Les opérateurs arithmétiques comprennent :

  1. L'addition ou plus unaire (+)
  2. Soustraction ou moins unaire (-)
  3. Multiplications (*)
  4. Section (/)
  5. Module (%).

46. Expliquez opérateurs logiques

Les opérateurs logiques sont des mots ou des symboles utilisés pour effectuer des opérations basées sur la logique conditionnelle. La plupart des langages n'ont que 3 opérateurs logiques :

  1. ET (&& en C, C++, JavaScript)
  2. OR (|| en C, C++, JavaScript)
  3. ne pas (! en C, C++, JavaScript)

47. Logique 1 ET 0 = ?

Une opération logique 1 ET 0 vous donnera non car le deuxième opérande est 0 et vous avez besoin que les deux opérandes de l'opération ET soient 1 ou TRUE pour obtenir une sortie positive.

48. NON logique 1 = ?

Une opération logique NOT 1 vous donnera non parce que l'opérateur NOT annule tout ce que vous lui donnez, ce qui signifie qu'il transforme 1 en 0 et 0 en 1. Ainsi, lui donner un opérande 1 ou TRUE donne 0 ou FALSE.

49. Logique 1 NAND 1 = ?

Une opération logique 1 NAND 1 produira non car les deux opérandes sont TRUE et l'opérateur NAND nie toujours deux entrées similaires pour produire une sortie opposée.

Ainsi, si l'opération était 0 NON ET 0, alors la sortie serait 1 ou TRUE.

50. Logique 1 XOR 1 = ?

Une opération logique 1 XOR 1 produira non car alors qu'une opération OU normale produira VRAI sur l'une ou les deux entrées étant VRAI, une opération XOR (OU exclusif) ne produit VRAI que lorsqu'une seule entrée et pas l'autre, est VRAI.

Conclusion

Nous avons atteint la fin de cette liste des 50 questions d'entrevue de programmation les plus importantes et leurs réponses. Et comme vous pouvez le voir, le monde de la programmation est vaste mais passionnant.

Il n'y a pas deux entretiens identiques. Ainsi, bien que cette liste vous indique les bonnes directions de sujet, vous devriez également essayer de mieux comprendre chaque problème.

Nnamdi Okeke

Nnamdi Okeke

Nnamdi Okeke est un passionné d'informatique qui aime lire un large éventail de livres. Il a une préférence pour Linux plutôt que Windows/Mac et utilise
Ubuntu depuis ses débuts. Vous pouvez le retrouver sur Twitter via bongotrax

Articles : 278

Recevez des trucs techno

Tendances technologiques, tendances de démarrage, avis, revenus en ligne, outils Web et marketing une ou deux fois par mois

Laissez un commentaire

Votre adresse email n'apparaitra pas. Les champs obligatoires sont marqués *