2011 年、私は Google のソフトウェア エンジニアリング職の最初の (そして唯一の) 面接を受けました。
自分の経歴について少し時間を費やしてから、1 つの質問を解決するように求められました。
「N 個の数値の配列が与えられた場合、その配列内の N-1 個の数値のすべての組み合わせの積を出力するプログラムを作成してください」
技術に詳しくない人のために、これが何を意味するかを説明します。
数字のリストが与えられたとします。
たとえば、3 つの数値のリストは 1、2、3 であるとします。
次に、2 つの数値の各組み合わせ (3 から 1 を引く) を乗算すると何が起こるかを吐き出すコードを作成します。
したがって、この例では、1×2、2×3、および 1×3 を計算する必要があります。十分シンプルです。
この質問の難しいところは、数値のリストがどれだけ長くなるかわからないため、それを解くアルゴリズムを書くのが驚くほど難しいことです。