巨大なゲームエンジンのエンジニアに2人の技術的なインタビューを記録

クリエイティブコモンズライセンス 著作権:帰属、紙ベースを作成するために他人を許可し、(同じライセンスで元のライセンス契約に基づいて用紙配布する必要がありますクリエイティブコモンズ

この書き込みの原因

最近、私はゲームエンジンのエンジニア学校の募集のメーカーに参加しました。最初の書かれたインタビューは、私はそれが私の自己の肯定だと思います。ビデオインタビューが、とても素敵な感じ2メーカーのための面接をありがとうございますが、巨大企業の優れた文化的遺伝子を感じることができます。この会社の好感度の長い巨大な爆発。

そして、録音インタビューの後に総括し、そうしたかったが、私は最終的に忘れることを恐れ虹の顔、したがってまとめ、自己反射、非常に多くのインタビューを見つけました。どのような最終超えるが、それでも、私はとても感謝しています巨人のための会社、おそらくこれは、エレガントな会社の中で私の人生で、私はもっと私の努力の方向性を決定しました。彼が失敗した場合の機会を与えられた場合、将来的には、私はまだこの会社で働いてます。

書かれました

筆記試験は、十分な時間ならば、私はそれを行うことができるはず実際には3つの質問をプログラミングする、非常に残念です。期限の理由に、私は最終的に2つだけを出てきました。動的計画法に関連するプログラミングのタイトル最後の質問。基本的に、すべてのLeetCodeのレベル、中程度の問題。

合計が短い答え、50ポイントの合計を規定します。最初の質問は、KDツリー、クワッド、八分木、これは非常に明白である、ゲーム空間のパーティションスキームを検討することです。第二の方法は、これは私が何のアイデアは、完全に空、25ポイントはそれらすべてを失っていない時点で、アニメーションのレンダリングモデル黒のエッジを描かれた質問を検討することです。これは私のために問題を公開:私のグラフィックスレンダリングの知識と非常に希少を!

他の開発プログラムのペンのポストの質問、すべての動的プログラミングと比較すると、ポストゲームプログラムの文書質問の比較は、それがされ、比較的簡単です。

経験:グラフィックスを学ぶことは非常に必要です。アルゴリズムの知識が非常に必要である深めるために続けます。

インタビューの記録に関する質問

最初のインタビュー、インタビュアーと私は、次のプロセスについて話:

  • 1分自分自身を紹介します。
  • ゲームの範囲を理解しますか?
  • 再生するにはどのような種類のゲームが好き?
  • どのように「空の騎士」のゲームデザイン?
  • どのようなグラフィックスレンダリングプロセス?
  • C ++の基本的な文法?dynamic_castを?仮想?
  • 間隔合併:手書きプログラムで。(LeetCode中レベル)
  • ヒープとスタックのオペレーティング・システムでの違いは何ですか?
  • ヒープとスタックのデータ構造の違いであるとは何ですか?
  • かつて、どのプログラムからアレイ内のk番目の最小要素?
  • 配列と連結リストの違いは何ですか?リストは、バイナリ検索することができますか?
  • ハッシュテーブル記憶?

第二にインタビュー、私は次の話をインタビュアーと:

  • 1分自分自身を紹介します。
  • 以下のようなゲームは?(宮崎英高黒魂)
  • 原則爆弾ナイフ黒魂?(有限状態機械、物理エンジン、イベント・システム)
  • レンダリングアルゴリズムは理解してどの?(レンダリングアルゴリズム概説線)
  • あなたは、プロジェクトの最も技術的な内容を感じますか?(SPH流体シミュレーションソルバー)
  • 手書きファクトリパターン?
  • Abstract Factoryパターンと工場の違いは?(それを忘れました...)
  • プロセス間通信方式?(パイプ、共有メモリ)
  • コンピュータネットワーク?(未...コンピュータネットワークは最悪のI大学のコースです...)

第三のインタビュー、私は次の話をインタビュアーと:

  • 1分自分自身を紹介します。
  • 中国のゲーム業界の理解。
  • ゲームの私達の理解はすることができません。
  • スタック・シミュレーション・キューに。(これは比較的単純な)
  • セクタ領域の中で決意ポイント。(最初の出会いは、スポットとドットの反応は、3D-代数を研究するために、関連する必要があります)
  • システム設計上の問題。
  • 完全なバイナリツリーを伝えるためにどのように?

まとめと誘導

私はまだ私が補うために継続する必要があり、多くを欠い:

  • データ構造とアルゴリズムの知識を習得し続けています。再びそれを達成するために、高度なデータ構造を既存の(赤と黒、木のラインなど)の深い知識を追加します。
  • それは知識をレンダリング、グラフィックスについて学ぶことの深い知識が必要です。
  • 私はACTの夢を行い、アウトDEMOで、自分の空想を構築する必要があります。(しよう)
  • 関連する章「コンピュータシステムの深い理解を」学ぶ、コードとオペレーティングシステムとの間の関係を理解し​​ています。
  • ゲーム関連のプログラミングの知識と知識の深さを追加していきます。

巨人は私に、私は私自身の現状を認識するために、この機会を与えて感謝します。ステージ面接と筆記試験は、私たちの努力の電流方向が、私はゲーム開発の道を主張し、正しいことを証明した大学院の研究グループは、学習の深さに持ち込まされる場合でも、5年が経ちましたが、私はゲーム開発者をしなければなりません私の理想のためにエンジニア。私の究極のビジョンは、3Aの試合の生産に関与しています。以下のために努力するのに理想的な、それはとても幸せなことです。

私は最後の章、「ゲームデザインアート」だと思う:「リング」あなたがゲームエンジニアの瞬間を行うことを決定した場合、リングはあなたの小さな指に装着された、彼は目に見えないです。これは、ゲームは人間性の最も高貴な資質を表現する意味でゲームを通じて、夢のより良い世界を作成することを意味し、エンジニアのゲームとしてその責任を意味します。

おすすめ

転載: blog.csdn.net/memories_sunset/article/details/95192933