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コンセンサスアルゴリズムについての簡単な説明
現在、カスタマーサービス業界は質的な変化を遂げており、AIインテリジェントテクノロジーがカスタマーサ...
01 ロボティックプロセスオートメーション(RPA) RPA (ロボティック プロセス オートメーシ...
今日のアプリケーション開発分野では、OpenAI API などの生成 AI 技術の活発な開発により、...
次のプロジェクトに機械学習を取り入れるべき 4 つの理由をご紹介します。 理由その1 – マーケティ...
序文Alibaba レイヤー 7 トラフィック エントリ アクセス レイヤー (アプリケーション ゲ...
[[190049]]この記事は、4月27日にBig Data Talk WeChatコミュニティで...
[[264788]]プログラマーが Python コードを書くという反復的な作業を軽減するのに役立...
2022年、学者たちは人工知能の将来の発展をどのように見ているのでしょうか?将来、AI はモデル駆...
こんにちは、皆さん。私は Luga です。今日は、人工知能 (AI) エコシステムに関連するテクノロ...
人工知能 (AI) は急速に現代生活に欠かせないものとなり、産業を変革し、私たちの生活、仕事、コミュ...
進化するヘルスケアとテクノロジーの世界では、「感情 AI」と呼ばれる画期的なイノベーションが変化の兆...
Mac ユーザーは、ついに、RTX を使用した独自の大型モデル チャットを持つ N カード プレーヤ...