2022年のトップゴールドマンサックスインタビューの質問と回答

公開: 2022-09-21

Goldman Sachs Group, Inc. は、銀行、投資管理、証券、消費者銀行業務にわたる金融機関、企業、個人、および政府で構成される多様な顧客基盤に幅広い金融サービスを提供する、世界をリードする金融機関の 1 つです。 . 1869 年に設立され、ニューヨークに本社を置くゴールドマン サックスは、世界中の多くの主要な金融ハブにオフィスを構えています。 この組織の目標は、世界経済の成長と経済的機会を促進することです。

ゴールドマン・サックスはまた、世界最大の組織、機関、起業家との 150 年以上の実務経験を活用して、クライアントの成功を高め、個人の繁栄を拡大し、すべての人の経済的進歩を加速するために、人材とリソースを動員しています。 Goldman Sachs によると、コラボレーション、チームワーク、誠実さは、従業員が顧客に最高の結果をもたらすための理想的な環境を提供します。

情熱、素早い思考、正確な資格よりも優先されるコミュニケーション スキルを備え、この環境で成功できる専門家を常に求めています。 ですから、あなたがまだ学生であるか、最近卒業したか、または数年の経験があるかどうかにかかわらず、ゴールドマン サックスはそこで働くことに興味があるかどうかを聞きたいと思っています。

大学院プログラム: フルスタック Web 開発

カリフォルニア工科大学 CTME と共同で今すぐ登録
大学院プログラム: フルスタック Web 開発

ゴールドマン・サックスの採用プロセス

面接プロセス

候補者は、プログラミングと分析能力に基づいて分析されます。 同社は通常、採用プロセスで 4 つのラウンドを実施します。

  • オンラインテスト
  • テクニカルインタビュー
  • 人事面接

面接ラウンド

オンラインテスト

ゴールドマン サックス オンライン評価テストのセクションは次のとおりです。

  • 量的適性検査:このテストは、数値計算と推論に関する問題で構成されています。 候補者は、利益と損失、数、確率、比率、時間と速度、距離、平均、順列と組み合わせに基づいて質問を準備する必要があります。 受験者の数学的能力は、図式パズルとシリーズを通じて評価されます。
  • 推論: このセクションは、図式的推論、抽象的推論、および論理的推論に関する引用で構成されています。 また、コーディング、デコード、データ配置、アルゴリズム、データ解釈、入力、出力、回路、フローチャートなどに関する質問を準備する必要があります。
  • 言語能力: このセクションでは、読解力について説明します。 脱落、誤り、および記事に基づいてトピックを練習する必要があります。
  • 技術セクション: このテストでは、次の質問を解決する必要があります。
    • コンピュータサイエンス
    • 進級適性
    • コーディング
    • 競技プログラミング
    • 主観的

テクニカルインタビュー

オンライン評価テストに合格した候補者は、対面の技術面接に呼ばれます。 技術面接を実施する目的は、探している特定の役割に関連する技術的能力を評価し、ストレスの多い状況を分析して解決する方法を発見することです。

面接官は、あなたの問題解決能力も評価します。 以前の仕事やプロジェクト、何をしたか、テクノロジーをどのように使用したか、成功のレベルについて質問されます。 コンピューター サイエンスの原則を学んで準備を整えます。

ゴールドマン サックスは、Java、C/C++、JavaScript、Python など、少なくとも 1 つのプログラミング言語の概念に関する十分な知識を持っている候補者を求めています。 以前のラウンドでの進捗状況、仕事のプロフィール、経験、および会社の要求のすべてが、受ける技術面接の数に影響を与えます。 ほとんどの場合、各候補者は 2 回の技術面接を受けます。

人事面接

技術面接を通過すると、人事ラウンドに招待されます。 人事面接を実施する目的は、候補者の性格、経歴、性格、長所と短所を分析して、その特定の役割に適しているかどうかを判断することです。 したがって、人事面接の準備を十分に行う必要があります。

履歴書を評価して、重要な個人情報がすべて追加されていること、および提供したデータがあなたの知る限り正確であることを確認してください。 また、ゴールドマン・サックスの創業時を含む歴史、目的、信念、組織構造についてもお問い合わせいただけます。 履歴書について尋ねられる可能性のある質問に対処する準備をしてください。 回答では、この職業への関心と、何があなたを最もやる気にさせているかを説明してください。

以下は、サンプルの質問の一部です。

  • あなた自身について教えてください(あなたの家族の歴史について話し始めてから、あなたの学歴と職業上の進歩について説明してください)
  • インドの他の地域に移転できますか?
  • 5年後の自分はどこにいる?
  • なぜあなたを雇う必要があるのですか?
  • インターンシップと担当したプロジェクトについて教えてください。
  • 新しい仕事を探す決心をした理由は何ですか?

フルスタック Java 開発者コース

HIRIST および HackerEarth とのパートナーシップでEXPLORE COURSE
フルスタック Java 開発者コース

経験者および新入社員向けのゴールドマン・サックス技術面接の質問

1. Java のマルチスレッドとは? スレッドはどのように形成されますか?

マルチスレッドは、CPU 効率を最大化するために、プログラムの 2 つ以上のセクションを同時に実行できるようにする Java の機能です。 また、複数のスレッドを同時に実行するために従うプロセスでもあります。

スレッドは、次の 2 つの異なるメカニズムを使用して形成されます。

  • スレッド クラスの拡張: java.lang 拡張クラスを作成します。 スレッドはスレッドの一種です。 Thread クラスの run() メソッドは、このクラスによってオーバーライドされます。 スレッドの寿命は run() メソッドから始まります。 新しいクラスのオブジェクトを初期化し、start() 関数を呼び出してスレッドの実行を開始します。 Thread オブジェクトの run() 関数は、Start() によって呼び出されます。
  • 実行可能なインターフェースの実践: java.lang インターフェースを実装する新しいクラスを作成します。 インターフェイスの run() メソッドをオーバーライドします。 次に、Thread オブジェクトを作成し、その上で start() メソッドを呼び出します。

マルチスレッドの利点は次のとおりです。

  • スレッドは共有メモリー空間を使用するため、メモリーの節約に役立ちます。
  • スレッドは自己完結型であるため、複数のタスクを同時に完了できるため、時間を節約できます。
  • スレッドは独立しているため、1 つのスレッドで例外が発生しても、他のスレッドには影響しません。

2. Java の hashCode() と equals() を説明できる。

Java コレクション フレームワークには HashMap が含まれています。 HashMap はハッシュ技術を採用しています。 アイテムを整数値に変換するプロセスは、ハッシュと呼ばれます。 整数値は、索引付けと検索速度に役立ちます。 マップのユーザー インターフェイスのデザインを担当しています。 キーと値のペアで情報を保持します。 HashMap のノードは、ノードの配列を持つクラスによって表されます。 内部的には、Key と Value を配列と LinkedList データ構造に格納します。 HashMap には 4 つのフィールドが含まれています。

  • hashCode() は、オブジェクト クラスの機能です。 オブジェクトのメモリ参照の整数表現を返します。 メソッドによって返される値によって、バケット番号が決まります。 バケット番号は、マップ内の要素の位置を表します。 Null Key のハッシュ コードは 0 です。
  • equals() は、2 つのオブジェクトを比較し、それらが等しいかどうかを判断するために使用される関数です。 Key を比較して、それらが等しいかどうかを確認します。 Object クラスに属するメソッドです。 それをバイパスすることは可能です。 equals() メソッドをオーバーライドする場合は、hashCode() メソッドもオーバーライドする必要があります。

3. Java の final キーワードを説明してください。

final キーワードは、Java でユーザーを制限するために使用されます。 Java では、final キーワードはさまざまな方法で使用できます。 変数、メソッド、またはクラスはすべて、final キーワードの恩恵を受ける可能性があります。 変数、メソッド、またはクラスは、最終的に指定された後にのみ割り当てることができます。

  • Final クラス: final として宣言されたクラスは拡張できません。
  • 最終変数: 変数を最終としてマークすると、変数の値を変更できなくなります。
  • Final メソッド: final として宣言されたクラスは拡張できません。

フルスタック Web 開発者コース

MEAN スタック ビュー コースのエキスパートになるには
フルスタック Web 開発者コース

4. Java のコンテキストにおける StringBuffer クラスと StringBuilder クラスの違いは何ですか?

文字列は、内部ストレージとして char 配列を使用する Java オブジェクトです。 配列は不変 (成長できない) であるため、文字列は不変です。 ユーザーが文字列に変更を加えるたびに、新しい文字列が作成されます。 一方、Java には、文字列を操作するためのクラスが多数用意されています。 StringBuffer と StringBuilder は、これらのタイプのクラスの 2 つの例です。

5. Java のガベージ コレクションについて説明できる。

ガベージ コレクションは、ヒープ メモリをスキャンし、使用されているアイテムと使用されていないアイテムを判別し、使用されていないアイテムを削除するプロセスです。

使用中のオブジェクトとも呼ばれる参照オブジェクトは、アプリケーションの一部でまだ使用されていることを示します。 未使用オブジェクトとも呼ばれる未参照オブジェクトは、ソフトウェアのどの部分でも使用されなくなったオブジェクトです。 したがって、参照されていないオブジェクトのメモリを再利用できます。 ガベージ コレクションの最も重要な利点は、手作業によるメモリの割り当てと割り当て解除の面倒な作業から解放され、目の前の作業に集中できることです。

ガベージ コレクタは、ガベージ コレクション可能であると宣言したオブジェクトを破棄することはできません。 JVM がガベージ コレクター プログラムを実行すると、オブジェクトのみが破棄されます。 ただし、JVM がいつガベージ コレクターを実行するかはわかりません。

6. Java におけるインターフェースと抽象クラスの違いを説明してください。

abstract キーワードは、クラスおよびメソッドの非アクセス修飾子です。 抽象クラスは、何も作成するために使用できないクラス型です (それにアクセスするには、別のクラスから継承する必要があります)。 抽象メソッドに関しては、本体がなく、抽象クラスでのみ使用できます。 本体はサブクラスによって提供されます (継承元)。

インターフェースは、Java のクラスの設計図です。 静的定数と抽象メソッドがあります。 インターフェイスは、Java で抽象化を実現するためのツールです。 Java インターフェイスでは、メソッド本体ではなく、抽象メソッドのみが許可されます。 抽象化と多数の継承を実現するために Java で使用されます。 インターフェイスは、別の言い方をすれば、抽象メソッドと変数を持つことができます。 メソッド本体の存在は禁止されています。

7. C++ で動的および静的ポリモーフィズムをどのように実装できますか?

ポリモーフィズムは、あらゆるものの多数のバージョンの存在を表します。 簡単に言えば、ポリモーフィズムとは、さまざまな方法でメッセージを表示できることを指します。 プロシージャ コールの解決にかかる時間に基づいて、次の 2 つの方法に分類できます。

  • 関数の呼び出し (呼び出し) は、ビルド時に解決されます。これは、静的ポリモーフィズムとして知られています。 これは、システムを過負荷にすることで実現できます。
    • 演算子のオーバーロード: 演算子のオーバーロードは C++ でも可能です。 2 つの文字列を連結するには、文字列クラスの演算子 ('+') を使用できます。 加算演算子の仕事は、2 つのオペランドを加算することです。 演算子 '+' が整数オペランドと文字列オペランドに適用されると、それらが加算されますが、文字列オペランドに適用されると、それらが連結されます。
    • 関数のオーバーロード: 同じ名前でパラメータが異なる複数の関数がある場合、これはオーバーロードと呼ばれます。 関数は、引数の数または引数の型が変更されると、オーバーロードされる可能性があります。
  • 実行時の関数呼び出しの解決は、動的ポリモーフィズムと呼ばれます。 継承メソッド Overriding を使用して C++ で実装されます。
    • 関数のオーバーライド: 関数のオーバーライドは、派生クラスが基本クラスのメンバー関数の 1 つを定義するときに発生します。 基本機能が上書きされると記載されています。

8. C++ におけるポインターと参照変数の違いを説明してください。

ポインターは、別の変数のメモリ アドレスを追跡する変数です。

参照は、既存の変数のエイリアスです。 初期化された変数への参照は、別の変数を参照するように変更することはできません。 結果として、参照と const ポインターは似ています。

新しいコース: 初心者向けのフルスタック開発

Git コマンド、Angular、NodeJS、Maven などを学ぶ今すぐ登録
新しいコース: 初心者向けのフルスタック開発

9. コンストラクターは C++ でプライベートにできますか?

関数 Object() { [ネイティブ コード] } は、クラスのオブジェクトの初期化を担当するクラスのメンバ関数です。 関数 Object() { [ネイティブ コード] } は、クラス オブジェクトが C++ で作成されるときに自動的に呼び出されます。 コンストラクターは通常、クラスの public セクションで定義されます。 その結果、クラスのプライベート セクションで構造を定義できるかどうかが問題になります。 答えは圧倒的にイエスです。 関数 Object() { [ネイティブ コード] } は、クラスのプライベート セクションで定義できます。

  • クラスがフレンド クラス以外によってインスタンス化されるのを避けたい場合は、フレンド クラスを使用できます。
  • 必要に応じて、シングルトン パターンを使用してシングルトン クラスを構築できます。 これは、同じクラスの複数のオブジェクトではなく、単一のアイテムまたは限られた数のオブジェクトがシステムを駆動していることを示しています。
  • さまざまなコンストラクターは、クラスと同じ名前を持っているため、パラメーター リストによって区別されます。 ただし、複数のコンストラクターがある場合、実装でエラーが発生しやすくなる可能性があります。 名前付きコンストラクターのイディオムによると、プライベート セクションまたはプロテクト セクションでクラスのコンストラクターをすべて宣言してから、クラスのオブジェクトを取得するパブリック静的関数を作成する必要があります。

10. データ構造のコンテキストで赤黒木を説明します。

さまざまなコンストラクターは、クラスと同じ名前を持っているため、パラメーター リストによって区別されます。 ただし、多くのコンストラクターがある場合、実装でエラーが発生しやすくなる可能性があります。

名前付きコンストラクターのイディオムによると、プライベート セクションまたはプロテクト セクションでクラスのコンストラクターをすべて宣言してから、クラスのオブジェクトを取得するパブリック静的関数を作成する必要があります。 これらのツリーは、各ノードが色情報を格納するために 1 ビットのメモリしか必要としないため、標準の (無色の) 二分探索ツリーと同様のメモリ フットプリントを持ちます。

やりがいがあり、やりがいがあり、ダイナミックな IT の役割で働くために必要なスキルを身につけたいと熱望しているなら、私たちはあなたをサポートします! Caltech CTME のパートナーによって設計されたフルスタック Web 開発コースのこの革新的な大学院プログラムを通じて、無限の機会を発見してください。 今日登録してください!

結論

ゴールドマン・サックスの面接が難しいか簡単かは問題ではありません。 面接の準備をすればするほど、成功する可能性が高くなります。 ステージ、ラウンド、質問など、インタビューのすべてを学びます。 彼らがあなたに何を求めているか、あなたが必要とするスキルセット、必要な資格など、役割を完全に理解してください。

PGP Full Stack Web Developer - MEAN Stack などのコースを選択することもできます。 MEAN スタック開発者として、このトレーニングはキャリアアップに役立ちます。 このフル スタック MEAN 開発者カリキュラムでは、MongoDB、Express.js、Angular、Node.js (「MEAN」)、GIT、HTML、CSS、JavaScript などのトップ スキルを学習して、インタラクティブなアプリケーションを開発および展開します。とサービス。