2020 = 1024 + 996... 2020 はプログラマーにとってあまり「フレンドリー」には見えません。
しかし、外部環境がどのようなものであっても、自分自身の内面的なスキルを向上させることは、すべての働く人にとって必要なことです。今の時代、理想の仕事に転職したいなら「タイミングを見計らってチャンスを掴む」ことが必要です。もちろん、面接前の準備も欠かせません。 Geek University は、アルゴリズム トレーニング キャンプのティーチング アシスタントを招待し、面接官が応募者にどのような能力を求めたがるのか、またどのような「アルゴリズム面接の厳選質問」を持っているのかを共有してもらいました。私たちのティーチングアシスタントは、Meituan、Baidu、または海外の一流インターネット企業出身です。彼らの経験が皆さんのお役に立てれば幸いです。 元美団のシニアエンジニア、ウィンディ 面接官として、私は候補者の業界での経歴、専門的なスキル、そしていくつかのソフトな資質に特に注意を払います。具体的には:
面接官として、私は面接プロセス中に筆記試験問題を使用して候補者の論理的思考能力を調べます。通常調べられる具体的な知識ポイントには、リンク リスト、ツリー、ソート、バイナリ検索などがあります。候補者は、さまざまなアルゴリズムの時間計算量と空間計算量を分析できることが求められます。 LeetCode から簡単から中程度の難易度の質問を選択します。一般的な質問には次のものがあります:
アルゴリズムの面接の質問を検討することで、候補者がプログラミング能力を発揮できるだけでなく、質問を詳細に理解することでコミュニケーション能力と推論能力(質問のアイデアをどのように構築するか)も発揮できることを願っています。最も重要なプログラミング能力は、候補者が問題の境界についての考えを示し、さまざまな方法のパフォーマンスと効率を比較し、問題を解決するための複数の方法を提供できることです。 私の注目のアルゴリズム面接の質問は、 「2Dマトリックスの検索」です。 mxn 行列にターゲット値が存在するかどうかを判断するための効率的なアルゴリズムを記述します。このマトリックスには次のプロパティがあります。 各行の整数は左から右へ昇順に並べられます。 各行の最初の整数は、前の行の最後の整数よりも大きくなります。 例1:
例2:
Baidu のシニア R&D エンジニア、Kimze 氏 面接官としては、候補者のレベルに応じて必ず異なる焦点を当てることになります。アルゴリズム研修キャンプには多くの受講生がいます。新卒者の場合は、主に姿勢、プログラミングの基礎、データ構造とアルゴリズムの基礎スキルを審査します。経験豊富な学生の場合、履歴書のスキルとプロジェクト経験を組み合わせて、分野の能力の幅と深さを調べ、候補者の上限を探り、お互いにコミュニケーションを取り、学ぶこともできます。 高可用性、高パフォーマンス、高スケーラビリティは、一般的なバックエンド テクノロジーです。さまざまなテクノロジー スタックについて、次の点を検討します。
データ構造とアルゴリズムの試験では、クイックソート、マージ、バイナリ検索などのより基本的な質問に対して、受験者は時間と空間の複雑さを分析し、関連する推論プロセスを実証できなければなりません。より高度なコンテンツの場合、最低限必要なのは、アイデアがあること、どのような状況でどのようなデータ構造とアルゴリズムを使用するかを知っていること、そしてテンプレートを書くことです。たとえば、私はこう尋ねます: Redis の基盤となるデータ構造の設計はスキップ テーブルの原則につながり、それがハッシュの実装と拡張にまで拡張されます。候補者がスキップ テーブルの利点と欠点を理解しているかどうか、また Redis がこのように設計されている理由を調査したいと考えています。 MySQL B+ ツリー インデックス構造の時間計算量とその選択理由。赤黒木やハッシュ テーブルの代わりに B+ ツリーが使用される理由を調べたいと思います。 答えるべき具体的な質問は多くなかったが、最も良い質問の一つは「コイン交換」だったと思う。 異なる額面の硬貨と合計金額が与えられます。合計金額を構成するために必要な最小のコイン数を計算する関数を記述します。コインの組み合わせで合計金額を構成できない場合は -1 を返します。 例1:
説明: 11 = 5 + 5 + 1 例2:
例: 各種類のコインは無限に存在すると想定できます。 Serko のシニア ソフトウェア エンジニア、Xu 氏 企業や職種、レベルによって求められる能力、範囲、深さは異なります。海外企業と国内インターネット企業のビジネスニーズも大きく異なりますが、プログラマーには一般的に以下の能力が求められると思います。
面接を受ける必要があるほとんどのジュニアおよび中級プログラマーの場合、技術面接の第 1 ラウンドのホワイトボード アルゴリズムの質問として、私は通常、LeetCode で簡単から中程度の質問をします。これらの質問は通常、力ずくで解決でき、最適化できます。複数のソリューションとアイデアがあります。同時に、候補者が何らかのソフトウェア エンジニアリング能力を発揮できることが最善です。 質問を行う際に注意すべき点がいくつかあります。
私の注目のアルゴリズム面接の質問は、二分探索木の検証です。 バイナリ ツリーが与えられた場合、それが有効なバイナリ検索ツリーであるかどうかを判断します。 二分探索木には次のような特性があると仮定します。 ノードの左のサブツリーには、現在のノードより小さい数値のみが含まれます。 ノードの右サブツリーには、現在のノードより大きい数値のみが含まれます。 すべての左および右のサブツリー自体もバイナリ検索ツリーである必要があります。 例1:
例2:
上記の質問にはすべて答えましたか? え?やり方が分からない?心配しないでください。他のプログラミングスキルと同様に、一般的なアルゴリズムとデータ構造の知識を効率的に習得し、実際の仕事や面接で対応するアルゴリズムを使用してアルゴリズムの問題を解決することを学ぶことで、学習とトレーニングを通じて向上できます。 |
<<: 人工知能は神経技術をどのように進歩させるのでしょうか?
>>: CAPとPaxosコンセンサスアルゴリズムについての簡単な説明
10月26日、「人工知能分野での中国初の上場企業」であるXiaoi RobotがHuazang Un...
オープンソース モデルは、数だけでなくパフォーマンスも増加しており、活発な活力を示しています。チュー...
数日前、OpenAIはDALL·E 3をリリースしたばかりで、ビジュアルイメージは再び新たな段階に上...
[[424699]]中秋節が近づいており、旅行の計画を立てている方も多いと思います。この特別な期間中...
歴史は、人々に気づかれずに何度も同じ冗談を繰り返す、昔のいたずらっ子のようなものです。歴史は単なるジ...
[[190140]]子供の頃、果物、動物、車、その他のものを認識することを学び始めたときのことを覚...
進捗?怠け者になる?安全性?道を譲る?便利?強制?信頼?心配した?コレクション?人身売買?ここで、各...
2020 年に世界中の企業の 42% がサイバー攻撃を受けたことをご存知ですか? サイバー犯罪者が...
8月7日のニュース、キーボードで入力した内容が他人に聞かれる可能性があることをご存知ですか?英国の...
海外メディアの報道によると、アップルは最近シアトルの人工知能研究開発センターのオフィススペースを拡大...
人工知能 (AI) は、あらゆる業界の企業にビジネス運営の成長と改善の機会を提供します。 Fortu...
長い間、CV トレーニングは 2 次元データに限定されてきました。3 次元データのラベル付けにはコス...
企業のデジタル変革は、次々と熱狂の波をもたらしました。国際的な権威ある組織は、今後数年間の企業のデジ...
[[388979]]デジタル時代においては、情報の流れがあらゆるものの中心となります。すべてが感知...
[[248753]]児童市場は非常に特殊で、この層は購買力がないにもかかわらず、消費市場の価値は数...