コーディング面接問題

コーディング面接でよく出る型を、型ごとに難度の順に並べました。1 問ずつ、面接での聞かれ方、まず考える手順、Python、JavaScript、Go の解答、計算量、よくある間違い、面接での話し方の例まで載せています。上から順に解くと、前の型が次の型の足場になります。

アルゴリズムのチートシートに、計算量、二分探索、動的計画法など 8 テーマの要点を、たとえと表とコードで 1 頁にまとめています。問題を解く前の見取り図にどうぞ。

出題の頻度は、海外でよく使われる定番の問題リスト 4 本 (Blind 75、NeetCode 150、Grind 75、LeetCode Top Interview 150) に何本入っているかで、よく出る・ときどき出る・少なめ の 3 段階に分けています。少なめは、定番リストにはまだ入っていないだけで、出ないと決まったわけではありません。基礎の練習として役に立ちます。

難度の目安

  • 型を 1 つ知っていれば解ける基本の問い。LeetCode の Easy ほど
  • 型を選び、端の場合まで詰めて解く問い。LeetCode の Medium ほど
  • 型を組み合わせるか、計算量を一段縮める工夫が要る問い。Medium の難しい物と Hard
  • いくつもの操作を持つ仕組みを、データの持ち方から設計して作る問い

区間

解いた型を英語の問題集でも試したい人は、LeetCodeを日本語で始めるに、83 問と同じ考え方の LeetCode の問題を並べています。

言葉で答える技術の問いは面接問題にあります。