top 30 programming coding interview questions answers
Dans ce didacticiel, nous avons fourni les questions et réponses d'entrevue de codage les plus courantes avec des exemples de logique de programme et de code pour vous permettre de vous entraîner à la programmation:
Nous sommes tous conscients que le fait de répondre aux questions de codage ou de programmation les plus élémentaires détermine notre performance lors d'une interview. L'entretien peut être pour Java, C ++ ou une exigence Javascript, mais la base reste la même, c'est à quel point nous sommes forts dans les fondements de la logique de programmation.
De plus, si notre approche est rapide et subtile lors d'un entretien, la probabilité de sélection est plus élevée. Alors lisez la suite pour résoudre les questions de l'interview de codage.
N'oubliez pas d'étudier et de pratiquer ces questions d'entrevue de programmation avant de faire face à une entrevue. Cela renforcera non seulement votre conviction, mais sera également utile pour y répondre rapidement. Les questions porteront principalement sur des sujets tels que les tableaux, les chaînes, les listes chaînées, etc.
Remontez vos chaussettes les gars !!
Questions d'entrevue de programmation / codage de base fréquemment posées
Q # 1) Comment pouvez-vous inverser une chaîne?
Réponse: La chaîne est inversée avec l'algorithme suivant:
- Lancer
- La chaîne à inverser est déclarée.
- Obtenez la longueur de la chaîne.
- Démarrez une boucle, puis permutez la position des éléments du tableau.
- Conservez les positions échangées.
- Imprimez la chaîne inversée.
Q # 2) Qu'est-ce qu'une corde palindrome?
Répondre: Une fois la chaîne inversée comme indiqué dans Q # 1, nous devons mettre la condition suivante:
Extrait de code:
if(actualtxt.equals(reversetxt)){ return “Palindrome”; else return “Not Palindrome”; }
Ainsi la corde de palindrome est celle qui en marche arrière reste la même, par exemple, - «madame» est une corde palindrome.
Q # 3) Comment obtenir les caractères correspondants dans une chaîne?
Réponse: Pour obtenir les caractères correspondants dans une chaîne, les étapes ci-dessous sont suivies:
- La structure de données de Hash Map est prise qui fonctionne avec la paire clé-valeur.
- Bouclez les chaînes, caractère par caractère, et vérifiez si ce caractère de la chaîne existe ou non dans la mappe de hachage.
- Si le résultat est vrai, le compteur du caractère dans la carte de hachage est augmenté ou bien alors mettez un compte à 1.
- Une fois la boucle terminée, la carte de hachage est parcourue et imprime les caractères avec plus de 1 comptage.
Extrait de code:
HashMap mp = new HashMap (); for (int j = 0; j1){ System.out.println(ch+ ' - ' + c); } }
Q # 4) Comment obtenir les caractères non correspondants dans une chaîne?
Répondre: Pour obtenir les caractères non correspondants dans une chaîne, les étapes ci-dessous sont suivies:
- La structure de données de Hash Map est prise qui fonctionne avec la paire clé-valeur.
- Bouclez la chaîne, caractère par caractère, et vérifiez si ce caractère de la chaîne existe ou non dans la mappe de hachage.
- Si le résultat est vrai, le compteur du caractère dans la carte de hachage est augmenté ou bien alors mettez un compte à 1.
- Une fois la boucle terminée, la map Hash est parcourue et imprime les caractères avec un nombre égal à 1.
Extrait de code:
HashMap mp = new HashMap (); for (int j = 0; j Q # 5) Comment calculer le nombre de voyelles et de consonnes dans une chaîne?
Réponse: Pour calculer le nombre de voyelles et de consonnes dans une chaîne, les étapes ci-dessous sont suivies:
- Obtenez la chaîne sur laquelle le comptage doit être effectué.
- Exécutez une boucle de 0 à la longueur de la chaîne.
- Prenez un seul caractère à la fois et vérifiez s'il fait partie du groupe de voyelles.
- Si le résultat est vrai, augmentez le nombre de voyelles ou bien augmentez le nombre de consonnes.
Extrait de code:
for (int k = 0; k Q # 6) Comment prouvez-vous que les deux chaînes sont des anagrammes?
Répondre: Deux chaînes sont appelées anagrammes si elles contiennent un groupe similaire de caractères dans une séquence variée.
Pour vérifier si deux chaînes sont des anagrammes, les étapes ci-dessous sont suivies:
- Initialisez deux chaînes dans deux variables.
- Vérifiez si la longueur des deux chaînes est similaire, sinon les chaînes ne sont pas un anagramme.
- Si le résultat est vrai, prenez les deux chaînes et stockez-les dans un tableau de caractères.
- Triez les deux tableaux de caractères, puis vérifiez si les deux tableaux triés sont identiques.
- Si le résultat est vrai, les deux chaînes sont des anagrammes sinon, pas des anagrammes.
Extrait de code:
if (str1.length() != str2.length()) { System.out.println(str1 + ' and ' +str2 + ' not anagrams string'); }else{ char() anagram1 = str1.toCharArray(); char() anagram2 = str2.toCharArray(); Arrays.sort(anagram1); Arrays.sort(anagram2); anagrmstat = Arrays.equals(anagram1, anagram2); } if (anagrmstat == true) { System.out.println(str1 + ' and ' +str2 + ' anagrams string'); }else{ System.out.println(str1 + ' and ' +str2 + ' not anagrams string'); } }
Q # 7) Trouvez le nombre d'occurrences d'un caractère particulier dans une chaîne.
profondeur première recherche c ++
Réponse: Pour compter l'occurrence d'un caractère particulier dans une chaîne, les étapes ci-dessous sont suivies:
- Commencez par une chaîne et un caractère particulier dont l'occurrence doit être comptée.
- Démarrez une boucle de 0 à la longueur de la chaîne.
- Comparez si un caractère particulier de la chaîne est égal au caractère recherché.
- Si le résultat est vrai, incrémentez la valeur du compteur.
Extrait de code:
for (int l=0; l Q # 8) Comment vérifier si deux chaînes sont une rotation mutuellement?
Réponse: Pour vérifier si deux chaînes sont une rotation mutuellement, les étapes ci-dessous sont suivies:
- Initialisez les deux chaînes dans deux variables.
- Vérifiez si la longueur de deux chaînes est similaire, sinon retournez false.
- Joignez la chaîne à elle-même.
- Vérifiez si la chaîne pivotée est présente dans la chaîne jointe.
- Si le résultat est vrai, la deuxième chaîne est une rotation de la première chaîne.
Extrait de code:
String concat = org_string + org_string; if (concat.indexOf (rotat) ! = -1) { return true; }
Q # 9) Comment calculer le nombre de chiffres numériques dans une chaîne?
Réponse: Pour calculer le nombre de chiffres dans une chaîne, les étapes ci-dessous sont suivies:
- Obtenez la chaîne sur laquelle le comptage doit être effectué
- Utilisez la fonction replaceAll, qui remplace tous les chiffres numériques par «».
- Obtenez la longueur de la chaîne sans chiffres.
Extrait de code:
package introduction; public class GG { public static void main(String() args) { // TODO Auto-generated method stub String str = 'TESTu45'; str=str.replaceAll('\d', ''); int l = str.length(); System.out.println('The length of the string without digit is:' + l); } }
Dans cette solution, une expression régulière est utilisée.
Q # 10) Comment calculer le premier caractère d'une chaîne qui n'est pas répétée?
Réponse: Pour calculer le premier caractère d'une chaîne qui n'est pas répétée, les étapes ci-dessous sont suivies:
- Une structure de données Set pour les caractères répétés et une liste pour le caractère non répété sont prises.
- Après avoir séparé les répétées et non répétées, à la fin de l'itération, le premier élément de la liste est imprimé dans la console.
Extrait de code:
Set repeated = new HashSet(); List nonRepeated = new ArrayList(); for (int m = 0; m Q # 11) Comment rechercher un nombre manquant dans un tableau contenant des entiers de 1 à 100?
Réponse: Pour rechercher un nombre manquant dans un tableau contenant des entiers de 1 à 100, les étapes ci-dessous sont suivies:
- Prenez un tableau d'entiers avec les nombres de 1 à 100.
- Calculez la somme des nombres, la somme doit être = l * (l + 1) / 2, où l est le nombre d'entiers.
- Effectuer la soustraction de l'élément manquant de l'addition totale des nombres.
Q # 12) Comment obtenir les éléments correspondants dans un tableau d'entiers?
Réponse: Pour obtenir les éléments correspondants dans un tableau d'entiers, les étapes ci-dessous sont suivies:
- Construisez deux boucles.
- Dans la première boucle, collectez les éléments un par un et additionnez le nombre d'instances de l'élément sélectionné.
Extrait de code:
for (m = 0; m Q # 13) Comment supprimer les éléments répétés dans un tableau d'entiers?
Réponse: Pour supprimer les éléments répétés dans un tableau d'entiers, les étapes ci-dessous sont suivies:
- Créez un hashmap qui sélectionnera tous les éléments qui étaient présents auparavant.
- Parcourez le tableau et vérifiez si l'élément existe déjà dans la carte de hachage
- Si le résultat est vrai, la traversée du tableau se poursuit, sinon, l'élément est imprimé dans la console.
Extrait de code:
HashMap m = new HashMap(); for (int j = 0; j Q # 14) Déterminez le plus grand et le plus petit élément d'un tableau qui n'est pas trié.
Réponse: Pour déterminer le plus grand et le plus petit élément d'un tableau, les étapes ci-dessous doivent être suivies:
- Parcourez le tableau et surveillez le maximum d'élément trouvé jusqu'à présent, jusqu'à ce que nous soyons à la frontière du tableau, le plus grand élément est atteint.
- Parcourez le tableau et surveillez l'élément minimum trouvé jusqu'à présent, jusqu'à ce que nous soyons à la frontière du tableau, le plus petit élément est atteint.
Q # 15) Expliquez l'algorithme de tri des bulles.
Réponse: L'algorithme de tri des bulles comprend les étapes suivantes:
- Commencez par le premier élément, puis effectuez une comparaison avec l'élément suivant dans le tableau
- Si l'élément actuel est plus grand que l'élément suivant du tableau, permutez leurs positions.
- Si l'élément actuel est inférieur à l'élément suivant du tableau, passez à l'élément suivant et répétez à nouveau l'étape 1.
Extrait de code:
for(k = 0; k Q # 16) Implémentez l'algorithme de tri par insertion.
Répondre: Mise en place du tri par insertion.
Extrait de code:
for (m = 1; m 0 && arry(n - 1) > arry(n)) { k = arry(n); arry(n) = arry(n - 1); arry(n - 1) = k; n--; } }
Q # 17) Déterminez le deuxième plus grand élément d'un tableau.
comment écrire des cas de test pour une application Web
Réponse: Le deuxième élément le plus grand d'un tableau peut être calculé par les étapes suivantes:
- Indiquez le plus grand élément comme premier élément du tableau et le deuxième élément le plus grand comme deuxième élément du tableau.
- Parcourez la boucle pour parcourir le tableau.
- SI arry (i) est supérieur au plus grand élément ALORS
Deuxième élément? plus grand élément
Le plus grand élément? Arry (i)
SI le second élément est inférieur à arry (i) ALORS
Deuxième élément? Arry (i)
Extrait de code:
if(arry(0) > arry(1)) { l = arry(0); s = arry(1); } else { l = arry(1); s = arry(0); } for(i = 2; i Q # 18) Expliquez l'inversion d'un tableau.
Réponse: l'inversion de matrice est effectuée de la manière suivante:
- Prenez un tableau avec des éléments.
- Maintenant, échangez la position du premier élément avec l'élément final, et de même le deuxième élément avec l'avant-dernier élément.
- Cela continuera jusqu'à ce que la matrice entière soit inversée.
Extrait de code:
for (t = 0; t Q # 19) Comment supprimer des caractères spéciaux dans une chaîne en minuscules?
Répondre: Les caractères spéciaux d'une chaîne peuvent être supprimés à l'aide de la fonction replaceAll de Java.
Extrait de code:
string str = “Testing@” str.replaceAll(“(^a-z0-9)”,””)
Dans cette solution, une expression régulière est utilisée.
Q # 20) Comment effectuer l'échange de deux chaînes en n'utilisant pas une troisième variable?
Réponse: Deux chaînes sont permutées sans l'aide de la troisième variable par les étapes suivantes:
(je) Prenez deux chaînes i, j et ajoutez-les puis stockez-les dans la première chaîne.
(ii) À l'aide de la méthode substring, extrayez la chaîne:
j = substring(0,i.length()-j.length())
(iii) Stocker la chaîne j dans la chaîne i
i= subsrtirng(j.length)
Extrait de code:
string i = “abc”, j =”def”; i = i+j; j = i. substring(0,i.length()-j.length()); i = i.substring(j.length()) System.out.println(i +””+j);
Q # 21) Comment passer au milieu d'une liste chaînée?
Réponse: Pour passer au milieu d'une liste liée, les étapes ci-dessous sont suivies:
- Déclarez deux pointeurs premier et deuxième qui sont initialisés à l'en-tête de la liste chaînée.
- Incrémentez la première liste chaînée de deux nœuds et la seconde d'un nœud dans chaque boucle.
- Pendant que le premier nœud atteint la fin de la liste, le deuxième nœud pointera vers le milieu.
Extrait de code:
first = second = head; while(first !=null) { first = first.next; if(first != null && first.next != null) { second = second.next; first = first.next; } } return second; }
Q # 22) Implémentez le processus d'inversion d'une liste chaînée.
Réponse: Une liste liée peut être inversée par les étapes ci-dessous:
- Déclarez trois nœuds précédant, présent et suivant.
- Tant que dans le nœud actuel, le précédent sera nul.
- Laissez le present.next précéder pour inverser la liste.
- Dans chaque boucle, le présent et le précédent sont incrémentés de 1.
Extrait de code:
Node preceding=null; Node following while(present!=null) { following=present.next; present.next=preceding; preceding=present; present=following; } return preceding; }
Q # 23) Quel est le processus de suppression des éléments correspondants d'une liste chaînée qui n'est pas triée.
Réponse: Pour supprimer les éléments correspondants d'une liste liée qui n'est pas triée, les étapes ci-dessous sont suivies:
- Voyage de la tête à la fin de la liste chaînée.
- Pour chaque valeur de la liste liée, vérifiez si elle est déjà présente dans la table de hachage.
- Si le résultat est vrai, l'élément n'est pas ajouté à la table de hachage.
Extrait de code:
HashSet h = new HashSet(); node present = head; node preceding = null; while (present != null) { int presentval = present.value; if (h.contains(presentval)) { preceding.next = present.next; } else { h.add(presentval); preceding = present; } present = present.next; } }
Q # 24) Comment obtenir la longueur d'une liste chaînée?
Répondre: Pour obtenir la longueur d'une liste liée, les étapes ci-dessous sont suivies:
- Démarrez un compteur avec une valeur de 0 et présentez le nœud comme tête.
- Jusqu'à ce que le nœud actuel ne soit pas nul, procédez comme suit:
- présent = présent -> suivant
- compteur = compteur + 1
- La valeur du compteur est renvoyée.
Extrait de code:
{ Node present = head; int c = 0; while (present != null) { c = c + 1; present = present.next; } return c; }
Q # 25) Comment rechercher une valeur spécifique dans une liste liée?
Réponse: Pour rechercher une valeur spécifique dans une liste liée, les étapes ci-dessous sont suivies:
- Déclarez le nœud actuel comme tête.
- Jusqu'à ce que le nœud actuel ne soit pas nul, procédez comme suit:
- present -> value est égal à la valeur recherchée return true.
- présent = présent -> suivant.
- S'il n'est pas trouvé, false est renvoyé.
Extrait de code:
Node present = head; while (present != null) { if (present.value == value) return true; present = present.next; } return false; }
Q # 26) Comment vérifier si un nombre est premier ou non?
Répondre: Pour vérifier si un nombre est premier ou non, les étapes ci-dessous sont suivies:
- Démarrer une boucle de la valeur 2 (k) à (nombre / 2)
- Si le nombre est parfaitement divisible par k, alors le nombre est non premier.
- Si le nombre n'est pas parfaitement divisible sauf pour 1 et par lui-même, alors le nombre est premier.
Extrait de code:
for(k = 2; k <= number / 2; k++) { if(number % k == 0) { stat = false; break; } } if (stat) System.out.println('Prime'; else System.out.println('Not prime');
Q # 27) Comment obtenir le troisième nœud d'une liste chaînée?
Réponse: Pour accéder au troisième nœud de la liste liée, les étapes ci-dessous sont suivies:
- Démarrez un compteur avec une valeur 0.
- Parcourez la liste liée et procédez comme suit:
- Si la valeur du compteur est 3, le nœud actuel est renvoyé.
- Le compteur est augmenté de 1.
- Modifiez le présent de manière à ce qu'il implique au suivant du présent.
Extrait de code:
Node present = head; int c = 0; while (c != null) { if (c == 3) return present.val; c = c+1; present = present.next; }
Q # 28) Calculez les cinq premiers nombres de Fibonacci.
Répondre: 0 et 1 sont les deux premiers nombres de Fibonacci et tous les nombres après 0 et 1 sont l'addition des deux nombres précédents.
Extrait de code:
int num1=0, num2=1,t; for ( int k = 0; k<5,k++) { System.out.println(num1); t = num1 + num2; num1 = num2; num2 = t; }
Q # 29) Comment inverser un nombre?
Réponse: L'inversion d'un nombre est réalisée dans les étapes suivantes:
- Retirez le chiffre le plus à droite du numéro.
- Additionnez le chiffre avec le nouveau nombre inversé.
- Effectuez une multiplication par 10.
- Divisez le nombre par 10.
Q # 30) Déterminez les facteurs d'un nombre.
Réponse: Les facteurs d'un nombre sont exprimés par l'extrait de code suivant:
int no = 75; for(int j = 1; j <= no; j++) { if (no % j == 0) { System.out.print(j); }
Conclusion
Nous espérons que la plupart des réponses à vos questions sur les questions de base de l'entrevue de codage ont été clarifiées.
La plupart des implémentations de codage dont nous avons discuté sont en Java, cependant, même si vous ne connaissez pas le langage, les étapes ou les détails de l'algorithme donnés ici pour la plupart des questions vous aideront à vous préparer à un entretien.
Travaillez dur sur vos bases de programmation, de logique, de structures de données, restez calme et pratiquez ces questions d'entrevue de programmation.
Tout le meilleur pour votre prochaine interview !!
lecture recommandée
- Questions et réponses d'entrevue
- Questions et réponses d'entrevue de test ETL
- Quelques questions et réponses difficiles sur les tests manuels
- 30 principales questions et réponses d'entrevue HTML (LISTE 2021)
- Top 30+ Questions et réponses populaires d'entrevue de concombre
- Top 30 des questions et réponses d'entrevue SAS
- Top 30 des questions et réponses d'entretien du SGBD
- Top 30 des questions et réponses pour l'entretien des tests de sécurité