Principales questions et réponses des entretiens avec Goldman Sachs pour 2022

Publié: 2022-09-21

Le groupe Goldman Sachs, Inc. est l'une des principales institutions financières mondiales qui offre une large gamme de services financiers à une clientèle diversifiée comprenant des institutions financières, des entreprises, des particuliers et des gouvernements dans les domaines de la banque, de la gestion des investissements, des valeurs mobilières et des services bancaires aux particuliers. . Fondée en 1869 et basée à New York, Goldman Sachs possède des bureaux dans de nombreux centres financiers majeurs à travers le monde. L'objectif de l'organisation est de stimuler la croissance économique mondiale ainsi que les opportunités financières.

Goldman Sachs mobilise également son personnel ainsi que ses ressources pour améliorer le succès de ses clients, accroître la prospérité individuelle et accélérer le progrès économique pour tous, en s'appuyant sur plus de 150 ans d'expérience de travail avec les plus grandes organisations, institutions et entrepreneurs du monde. Selon Goldman Sachs, la collaboration, le travail d'équipe et l'honnêteté offrent l'environnement idéal pour que les employés fournissent les meilleurs résultats possibles à leurs clients.

Il recherche toujours des professionnels qui s'épanouissent dans cet environnement avec passion, rapidité d'esprit, ainsi que des compétences en communication prenant le pas sur des qualifications précises. Donc, que vous soyez encore à l'école, récemment diplômé ou que vous ayez quelques années à votre actif, Goldman Sachs veut vous entendre si vous êtes intéressé à y travailler.

Programme de troisième cycle : développement Web Full Stack

en collaboration avec Caltech CTME Inscrivez-vous maintenant
Programme de troisième cycle : développement Web Full Stack

Processus de recrutement de Goldman Sachs

Processus d'entrevue

Les candidats seront analysés en fonction de leur programmation et de leurs capacités d'analyse. L'entreprise effectue généralement quatre cycles dans son processus de recrutement :

  • Test en ligne
  • Entretien technique
  • Entretien RH

Séries d'entrevues

Test en ligne

Les sections du test d'évaluation en ligne Goldman Sachs sont les suivantes :

  • Test d'aptitude quantitatif : Ce test comprend des questions sur le calcul numérique et le raisonnement. Les candidats doivent se préparer à des questions basées sur les profits et les pertes, les nombres, la probabilité, le rapport, le temps et la vitesse, la distance, la moyenne, la permutation et la combinaison. Les capacités mathématiques des candidats seront évaluées à l'aide d'énigmes schématiques et de séries.
  • Raisonnement : cette section comprend des citations sur le raisonnement schématique, le raisonnement abstrait et le raisonnement logique. Ils doivent également préparer des questions sur le codage, le décodage, les arrangements de données, les algorithmes, les interprétations de données, l'entrée, la sortie, les circuits, les organigrammes, etc.
  • Capacité verbale : cette section concerne la compréhension de la lecture. Vous devez pratiquer les sujets en fonction des omissions, des erreurs et des articles.
  • Section technique : Dans ce test, vous devez résoudre les questions sur :
    • L'informatique
    • Aptitude avancée
    • Codage
    • Programmation compétitive
    • Subjectif

Entretien technique

Les candidats qui réussissent le test d'évaluation en ligne seront convoqués pour l'entretien technique en face à face. L'objectif de la conduite de l'entretien technique est d'évaluer vos capacités techniques liées au rôle particulier que vous recherchez et de découvrir comment vous analysez et résolvez des situations stressantes.

L'intervieweur évaluera également vos capacités de résolution de problèmes. On vous posera des questions sur vos emplois et projets précédents, ainsi que sur ce que vous avez fait et comment vous avez utilisé la technologie, et sur votre niveau de réussite. Préparez-vous en apprenant les principes de l'informatique.

Goldman Sachs recherche des candidats qui ont une solide connaissance conceptuelle d'au moins un langage de programmation tel que Java, C/C++, JavaScript ou Python. Vos progrès dans les cycles précédents, votre profil de poste, votre expérience et les exigences de l'entreprise influenceront tous le nombre d'entretiens techniques que vous aurez. Dans la plupart des cas, chaque candidat passera par deux séries d'entretiens techniques.

Entretien RH

Une fois que vous aurez passé l'entretien technique, vous serez invité à la ronde RH. L'objectif de la conduite de l'entretien RH est d'analyser la personnalité du candidat, son parcours, sa personnalité, ses forces et ses faiblesses afin de déterminer s'il convient à ce rôle spécifique. Ainsi, vous devez être bien préparé pour l'entretien RH.

Évaluez votre CV pour vous assurer que vous avez ajouté toutes les informations personnelles essentielles et que les données que vous avez fournies sont exactes au meilleur de votre connaissance. Ils peuvent également se renseigner sur l'histoire de Goldman Sachs, y compris la date de création de l'entreprise, ainsi que sur ses objectifs, ses convictions et sa structure organisationnelle. Préparez-vous à répondre à toutes les questions qui pourraient être posées au sujet de votre CV. Dans vos réponses, expliquez votre intérêt pour le métier et ce qui vous motive le plus.

Voici quelques-uns de ses exemples de questions :

  • Parlez-moi de vous (vous devriez commencer par raconter votre histoire familiale, puis expliquer vos diplômes et votre avancement professionnel)
  • Pouvez-vous déménager dans d'autres régions de l'Inde?
  • Où vous voyez-vous après cinq ans ?
  • Pourquoi devriez-vous vous embaucher?
  • Parlez-moi de vos stages et des projets que vous avez menés.
  • Qu'est-ce qui vous a décidé à chercher un nouvel emploi ?

Cours de développeur Java Full Stack

En partenariat avec HIRIST et HackerEarth EXPLORE COURSE
Cours de développeur Java Full Stack

Questions d'entretien technique chez Goldman Sachs pour les débutants et expérimentés

1. Qu'est-ce que le multithreading en Java ? Comment se forment les fils ?

Le multithreading est une fonctionnalité de Java qui permet l'exécution simultanée de deux ou plusieurs sections d'un programme pour maximiser l'efficacité du processeur. C'est aussi un processus qui est suivi pour exécuter plusieurs threads simultanément.

Les threads sont formés en utilisant deux mécanismes différents :

  • Extension de la classe thread : Nous allons créer une classe d'extension java.lang. Le fil est un type de fil. La méthode run() de la classe Thread est remplacée par cette classe. La vie d'un thread commence avec la méthode run(). Nous initialisons un objet de notre nouvelle classe et appelons la fonction start() pour démarrer l'exécution du thread. La fonction run() de l'objet Thread est appelée par Start().
  • Mise en pratique de l'interface exécutable : nous créons une nouvelle classe pour implémenter l'interface java.lang. Remplacez la méthode run() de l'interface. Ensuite, nous construisons un objet Thread et invoquons la méthode start() sur celui-ci.

Voici les avantages du multithreading :

  • Comme les threads utilisent un espace mémoire partagé, cela permet d'économiser de la mémoire.
  • Les threads sont autonomes, ce qui permet d'effectuer plusieurs tâches en même temps, ce qui permet de gagner du temps.
  • Comme les threads sont indépendants, une exception dans un thread n'a aucun impact sur les autres threads.

2. Expliquez hashCode() et equals() en Java.

L'infrastructure de collecte Java inclut HashMap. HashMap utilise la technique de hachage. Le processus de transformation d'un élément en une valeur entière est appelé hachage. La valeur entière facilite l'indexation et la vitesse de recherche. Il est chargé de concevoir l'interface utilisateur de la carte. Il conserve les informations dans une paire clé/valeur. Le nœud dans HashMap est représenté par une classe qui a un tableau de nœuds. En interne, il stocke la clé et la valeur dans un tableau et une structure de données LinkedList. HashMap contient quatre champs.

  • hashCode() est une fonctionnalité de la classe d'objets. Il renvoie une représentation entière de la référence mémoire de l'objet. La valeur renvoyée par la méthode détermine le numéro de compartiment. Le numéro de compartiment représente l'emplacement de l'élément dans la carte. Le code de hachage pour Null Key est 0.
  • equals() est une fonction utilisée pour comparer deux objets et déterminer s'ils sont égaux. La clé est comparée pour vérifier si elles sont équivalentes. C'est une méthode qui appartient à la classe Object. Il est possible de le contourner. Si vous remplacez la méthode equals(), vous devez également remplacer la méthode hashCode().

3. Expliquez le mot-clé final en Java.

Le mot-clé final est utilisé pour restreindre l'utilisateur en Java. En Java, le mot-clé final peut être utilisé de différentes manières. Une variable, une méthode ou une classe peuvent toutes bénéficier du mot-clé final. Une variable, une méthode ou une classe ne peut être assignée qu'une fois qu'elle a été désignée finale.

  • Classe finale : Une classe qui a été déclarée finale ne peut pas être prolongée.
  • Variable finale : vous ne pourrez pas modifier la valeur d'une variable si vous la marquez comme finale.
  • Méthode finale : Une classe qui a été déclarée finale ne peut pas être étendue.

Cours de développeur Web Full Stack

Pour devenir un expert du cours MEAN Stack View
Cours de développeur Web Full Stack

4. Quelle est la différence entre les classes StringBuffer et StringBuilder dans le contexte de Java ?

Les chaînes sont des objets Java qui utilisent un tableau de caractères comme stockage interne. Comme les tableaux sont immuables (ils ne peuvent pas grandir), les chaînes sont immuables. Une nouvelle chaîne est créée chaque fois qu'un utilisateur modifie une chaîne. Java, d'autre part, fournit un certain nombre de classes pour manipuler les chaînes. StringBuffer et StringBuilder sont deux exemples de ces types de classes.

5. Expliquer Garbage Collection en Java.

La récupération de place est le processus d'analyse de la mémoire de tas, en déterminant quels éléments sont utilisés et lesquels ne le sont pas, puis en supprimant ceux qui ne sont pas utilisés.

Un objet référencé, également appelé objet en cours d'utilisation, indique qu'il est toujours utilisé par une partie de votre application. Les objets non référencés, également appelés objets inutilisés, sont des objets qui ne sont plus utilisés par aucune partie de votre logiciel. La mémoire d'un objet non référencé peut donc être récupérée. L'avantage le plus important du ramasse-miettes est qu'il nous libère de la tâche fastidieuse d'allocation et de désallocation manuelles de la mémoire, ce qui nous permet de nous concentrer sur la tâche à accomplir.

Le ramasse-miettes ne pourra pas détruire un objet une fois que nous l'avons déclaré récupérable. Lorsque JVM exécute le programme Garbage Collector, seul l'objet est détruit. Cependant, nous ne pouvons pas savoir quand JVM exécutera le Garbage Collector.

6. Expliquez la différence entre une interface et une classe abstraite en Java.

Le mot-clé abstract est un modificateur de non-accès pour les classes et les méthodes. Une classe abstraite est un type de classe qui ne peut pas être utilisé pour faire quoi que ce soit (pour y accéder, il doit être hérité d'une classe différente). En ce qui concerne les méthodes abstraites, elles n'ont pas de corps et ne peuvent être utilisées que dans des classes abstraites. Le corps est fourni par la sous-classe (héritée de).

Une interface est un plan pour une classe en Java. Il a des constantes statiques et des méthodes abstraites. L'interface est un outil pour réaliser l'abstraction en Java. Seules les méthodes abstraites, et non les corps de méthode, sont autorisées dans l'interface Java. Il est utilisé en Java pour réaliser l'abstraction et de nombreux héritages. Les interfaces peuvent avoir des méthodes abstraites et des variables, pour le dire autrement. La présence d'un corps de méthode est interdite.

7. Comment pouvez-vous implémenter le polymorphisme dynamique et statique en C++ ?

Le polymorphisme décrit l'existence de nombreuses versions de n'importe quoi. En termes simples, le polymorphisme fait référence à la capacité d'un message à être affiché de nombreuses façons. Il peut être classé de deux manières en fonction du temps nécessaire pour résoudre l'appel de procédure :

  • L'invocation (appel) d'une fonction est résolue au moment de la construction, ce qui est connu sous le nom de polymorphisme statique. Ceci peut être accompli en surchargeant le système.
    • Surcharge d'opérateurs : la surcharge d'opérateurs est également possible en C++. Pour concaténer deux chaînes, nous pouvons utiliser l'opérateur de la classe de chaînes ('+'). Le travail de l'opérateur d'addition consiste à additionner deux opérandes. Lorsque l'opérateur '+' est appliqué à des opérandes entiers et de chaîne, il les additionne, cependant, lorsqu'il est appliqué à des opérandes de chaîne, il les concatène.
    • Surcharge de fonctions : lorsqu'il existe plusieurs fonctions portant le même nom mais des paramètres différents, on parle de surcharge. Les fonctions peuvent être surchargées lorsque le nombre d'arguments ou le type d'arguments change.
  • La résolution d'un appel de fonction pendant l'exécution est appelée polymorphisme dynamique. Il est implémenté en C++ à l'aide de la méthode d'héritage Overriding.
    • Remplacement de fonction : le remplacement de fonction se produit lorsqu'une classe dérivée définit l'une des fonctions membres de la classe de base. Il est indiqué que la fonction de base sera remplacée.

8. Expliquez les différences entre les pointeurs et les variables de référence en C++.

Un pointeur est une variable qui garde la trace de l'adresse mémoire d'une autre variable.

Une référence est un alias pour une variable déjà existante. Une référence à une variable initialisée ne peut pas être modifiée pour faire référence à une autre variable. Par conséquent, une référence et un pointeur const sont similaires.

Nouveau cours : développement de la pile complète pour les débutants

Apprenez la commande Git, Angular, NodeJS, Maven et plus Inscrivez-vous maintenant
Nouveau cours : développement de la pile complète pour les débutants

9. Un constructeur peut-il être privé en C++ ?

Une fonction Object() { [code natif] } est une fonction membre d'une classe chargée d'initialiser les objets de la classe. La fonction Object() { [code natif] } est automatiquement invoquée lorsqu'un objet de classe est créé en C++. Les constructeurs sont généralement définis dans la section publique d'une classe. Par conséquent, la question est de savoir si la construction peut être définie dans la section privée de la classe. La réponse est un oui retentissant. Une fonction Object() { [code natif] } peut être définie dans la section privée d'une classe.

  • Si nous voulons éviter qu'une classe soit instanciée par quelqu'un d'autre qu'une classe amie, nous pouvons utiliser la classe amie.
  • Nous pouvons utiliser le modèle Singleton pour construire une classe singleton si nécessaire. Cela indique qu'un seul élément ou un nombre limité d'objets, plutôt que plusieurs objets de la même classe, pilotent le système.
  • Différents constructeurs se distinguent par leurs listes de paramètres car ils ont le même nom que les classes ; cependant, s'il existe plusieurs constructeurs, une implémentation peut devenir sujette aux erreurs. Selon l'idiome du constructeur nommé, vous devez déclarer tous les constructeurs de la classe dans les sections privées ou protégées, puis créer des fonctions statiques publiques pour obtenir les objets de la classe.

10. Expliquez un arbre rouge-noir dans le contexte des structures de données.

Différents constructeurs se distinguent par leurs listes de paramètres car ils ont le même nom que les classes ; cependant, s'il existe de nombreux constructeurs, l'implémentation peut devenir sujette aux erreurs.

Selon l'idiome du constructeur nommé, vous devez déclarer tous les constructeurs de la classe dans les sections privées ou protégées, puis créer des fonctions statiques publiques pour obtenir les objets de la classe. Ces arbres ont une empreinte mémoire similaire à celle d'un arbre de recherche binaire standard (non coloré) car chaque nœud n'a besoin que d'un bit de mémoire pour stocker les informations de couleur.

Si vous souhaitez acquérir les compétences nécessaires pour occuper un poste informatique stimulant, gratifiant et dynamique, nous sommes là pour vous ! Découvrez les opportunités infinies grâce à ce cours innovant de programme post-universitaire en développement Web Full Stack conçu par nos partenaires de Caltech CTME. Inscrivez-vous dès aujourd'hui !

Conclusion

Peu importe que l'interview de Goldman Sachs soit difficile ou facile. Plus vous vous préparez pour les entretiens, meilleures sont vos chances de réussir. Apprenez tout sur les entretiens, y compris les étapes, les rondes et les questions. Comprenez parfaitement le rôle, y compris ce qu'ils attendent de vous, les compétences dont vous aurez besoin et les informations d'identification dont vous aurez besoin.

Vous pouvez également opter pour des cours comme PGP Full Stack Web Developer - MEAN Stack. En tant que développeur MEAN stack, cette formation vous aidera à progresser dans votre carrière. Tout au long de ce programme Full Stack MEAN Developer, vous étudierez les principales compétences telles que MongoDB, Express.js, Angular et Node.js ("MEAN"), ainsi que GIT, HTML, CSS et JavaScript, pour développer et déployer des applications interactives. Et services.