コンテンツへスキップ

科目別に学ぶ

コーディング面接

コーディング面接では、計算量、データ構造、アルゴリズムのパターン、設計問題を暗記します。Lumiは、ホワイトボードの前で固まらずに答えられるようになるまで、あなたに問い返します。

この科目をカードにする方法

データ構造ごとに、各操作のコストを書いたカードを1枚ずつ作り、アルゴリズムのパターン(two pointersやsliding windowなど)ごとに、それを見分けるサインを書いたカードを1枚ずつ作ります。設計については、コンポーネント(キャッシュ、メッセージキュー、ロードバランサーなど)ごとに、その役割を書いたカードを1枚ずつ作ります。罠は、パターンを一切定着させずに100問解いて、同じ種類の問題でつまずくことです。Lumiでは、解答を見る前に記憶から説明し、その想起が反射を作ります(Roediger と Karpicke, 2006)。パターンには数日空けて戻り、常に計算量を声に出して言いましょう(Cepeda ら, 2006)。

丸暗記が必要なこと

  • 通常の操作の時間計算量と空間計算量、Big O記法。
  • データ構造、配列、連結リスト、スタック、キュー、ハッシュテーブル、木、グラフ。
  • アルゴリズムのパターン、two pointers、sliding window、再帰、動的計画法。
  • 古典的なソートと走査、そのコスト。
  • 設計問題の構成要素、キャッシュ、メッセージキュー、ロードバランサー、データベース。

Lumiが覚えるのをどう手伝うか

あなたはカードをLumiに教えます。計算量、構造、パターン、設計。Lumiはあなたと同じように時間とともに忘れ、忘れる直前にあなたに問いかけます。面接が近づくと、あまり得意でない分野(たとえば動的計画法やグラフ)に霧がかかり、Lumiはそこを最初に尋ねます。あなたはパターンをすぐに見分けて到着します。

例のカード

自分で書くとしたらこうなる3枚のカードと、Lumiが期待する答え。

  • 二分探索の計算量は?

    ソート済み配列でO(log n)。

  • 後入れ先出しで動作する構造は?

    スタック。

  • sliding windowを示すサインは?

    最適化すべき連続部分配列や部分文字列に関する質問。

例題カード

試してみてください。Lumiがブラウザで穴埋め問題に変えます。

学習カード.txt

コーディング面接・このカードをLumiに教える

ソート済み配列の二分探索はO(log n)時間で実行されます。ハッシュテーブルは平均O(1)時間でアクセスできます。スタックは後入れ先出しで動作します。グラフの幅優先探索はキューを使います。

Lumiからの問題

ソート済み配列の二分探索はO(_____)時間で実行されます。

抜けている単語を選びましょう

1 / 4
すべての科目
プレビュー

正解してLumiを光らせましょう

事実が抜け落ちると、ランプは暗くなります。

よくある質問

面接前に何問解くべき?
問題数よりも、そこから何を定着させるかが重要です。各問題の後、パターンをカードに書き、Lumiに問い返してもらって定着させましょう。
システム設計の問題はどう復習する?
コンポーネントごとに、役割とトレードオフを書いたカードを1枚ずつ。Lumiが問い返し、あなたは声に出して答えを組み立てます。
Lumiは問題プラットフォームでの練習の代わりになる?
いいえ、両者は補完し合います。プラットフォームは問題を提供し、Lumiはそこから得られる計算量やパターンを定着させます。

次に読む

出典

  1. Roediger, Karpicke (2006). Test-enhanced learning. Taking memory tests improves long-term retention. Psychological Science, 17(3). doi.org/10.1111/j.1467-9280.2006.01693.x
  2. Cepeda, Pashler, Vul, Wixted, Rohrer (2006). Distributed practice in verbal recall tasks. A review and quantitative synthesis. Psychological Bulletin, 132(3). doi.org/10.1037/0033-2909.132.3.354

これをLumiに教える

コーディング面接のノートをLumiに渡すと、ちょうどいいタイミングで質問として返してくれます。

近日公開App Store無料で週3枚のカード。広告なし。