Tour de sélection avec le responsable du recrutement (1h30) :
- Interrogé sur les projets actuels de l’entreprise et le langage de codage. Sur lequel j’ai travaillé. L’expérience C++ est très imp. pour eux.
- Comment vous évaluez-vous en C++, débutant/intermédiaire/excellent ? j’ai dit intermédiaire
- Diff b/w malloc et new qui mènent à une discussion sur les constructeurs. Écrire la syntaxe pour le constructeur de copie. Pourquoi l’argument pour copier le constructeur est passé en tant que ref ?
- https://www.geektechnique.net/merge-3-sorted-arrays/. Première approche de fusion indiquée utilisant 2 tableaux à la fois. Mais cela nécessite plus d’espace supplémentaire. Ainsi, l’intervieweur a demandé de réduire la complexité spatiale à O(1). Ensuite, il a été dit à l’approche d’utiliser un tableau supplémentaire de taille 3. Un code de travail était requis.
- https://www.geektechnique.net/puzzle-9-find-the-fastest-3-horses/
- https://www.geektechnique.net/count-set-bits-in-an-integer/
- https://www.geektechnique.net/detect-loop-in-a-linked-list/
- https://www.geektechnique.net/puzzle-set-35-2-eggs-and-100-floors/
- https://www.geektechnique.net/maximum-sum-path-across-two-arrays/
J’ai expliqué l’approche consistant à utiliser des arbres/graphiques, puis j’ai vérifié chaque possibilité, mais je n’ai pas pu écrire de code. L’intervieweur m’a indiqué la bonne approche et a mis fin à l’entretien.
Tour Technique (1h):
- Interrogé sur les projets actuels de l’entreprise.
- On m’a demandé si j’avais travaillé sur des fonctionnalités C++11 telles que le constructeur de déplacement, les pointeurs intelligents, etc. J’ai dit que je n’avais pas travaillé, mais j’en ai une idée
- Différence entre la gestion de la mémoire et la gestion de la mémoire à l’aide de malloc et de new
- Étant donné 2 listes chaînées contenant des données à un chiffre, les deux ont la même longueur. Discussion sur les diff. Approches pour ajouter 2 listes chaînéesL1 : 3 -> 5 -> 7 L2 : 4 -> 4 -> 5 L3 : 8 -> 0 -> 2 ajouter (L1, L2)
- J’ai dit à l’approche d’inverser la liste liée, puis d’effectuer l’ajout, puis il a ajouté une contrainte selon laquelle la liste liée ne peut pas être modifiée
- J’ai dit à l’approche de le faire en utilisant la récursivité, comme il avait une complexité spatiale de O (n) pour les appels de pile, il a demandé de le faire dans l’espace const
- Il a laissé entendre que si la somme de 2 chiffres <=8, elle ne se propagerait pas en arrière. donc, maintenez 2 pointeurs prev, pointant vers des nœuds tels que leur somme<=8 et 2 pointeurs curr si la somme des pointeurs curr est >=10, alors de prev à curr, nous devons propager le report. Il a demandé de ne parcourir qu’une seule fois les nœuds de la liste d’entrée
- L’approche était que nous devions maintenir le ptr du dernier nœud de somme avec sum<=8 et dès que sum>=10, cela signifie du nœud précédent au nœud actuel, tous les nœuds de somme sont nuls.
https://www.geektechnique.net/add-the-given-digit-to-a-number-stored-in-a-linked-list/ -> extension de ce problème
Tour technique (2 h) :
- Interrogé sur les projets actuels de l’entreprise.
- Qu’est-ce que la fonction virtuelle et son implémentation interne ?
- Question basée sur les résultats
C++
Classe A{
int un;
Publique:
spectacle nul (){
cout<"afficher" ;
}
void show1(){
}
} ;
int main() {
A* ptr=NULL;
a->afficher();
a->show1();
renvoie 0 ;
}
Il a également demandé la raison.
- Demandé d’implémenter BST (insérer, imprimer) en C++. J’ai implémenté avec funcs. Puis il a demandé de l’implémenter en utilisant les fonctionnalités C++ d’encapsulation et d’abstraction. J’ai gardé la structure Node en dehors de ma classe Tree. Il a demandé de le mettre dans la classe Tree et a posé des questions sur les classes internes. Puis il a demandé de le rendre générique, je l’ai fait. De plus, il a demandé de définir son propre DS (ayant 2 ints) pour le nœud d’arbre, de nombreuses modifications ont été nécessaires pour cela dans le code. ajout du code de surcharge de l’opérateur pour la comparaison des objets MyDS. Mais la fonction d’impression doit également être corrigée. Pour cette fonction d’ami était nécessaire. Il m’a demandé de prendre l’aide de Google.
- https://www.geektechnique.net/puzzle-21-3-ants-and-triangle // dans mon cas au lieu du triangle c’était carré
- http://www.crazyforcode.com/3-mislabeled-jars/
- Interrogé sur le problème de l’arbre, expliqué pourquoi nous retournons ostream de la fonction d’ami.
- Puis question comportementale pourquoi vous voulez changer. J’ai aussi parlé de synopsis.
Tour du réalisateur (30 minutes): Discussion générale sur le travail et la culture du travail
Attention lecteur ! N’arrêtez pas d’apprendre maintenant. Obtenez tous les concepts importants de DSA avec le Cours auto-rythmé DSA à un prix adapté aux étudiants et devenez prêt pour l’industrie. Pour compléter votre préparation de l’apprentissage d’une langue à DS Algo et bien d’autres, veuillez vous référer Cours complet de préparation aux entretiens. Si vous êtes prêt, testez vos compétences en utilisant TCS, Wipro, Amazone. Google , E-Litmus et Microsoft Séries d’essais.