HN🔥 58
💬 21

1994年マイクロソフトのインターン面接で出題された伝説のプログラミング問題4選

tosh
4日前

ディスカッション (7件)

1
ventana
約20時間前

インターンの候補者がプレーンなCを書けるか確認するという目標なら、2026年現在でもこれらの質問はなかなか妥当だと思う。色の問題は例外で、大半のインターンは混乱するだろうけど(1色に2ビット?どうやって?)。円を描く問題については、面接官がうまくヒントを出せていなかっただけみたいだね。余談だけど、知り合いが2016年頃のMicrosoftの面接でこれを聞かれたそうだ。まあ、うまく機能する質問ならわざわざ変える必要もないか。

2
CamperBob2
約19時間前
    void CopyString(char *From, char *To)
    {
        /* Fill this in */
    }

この面接問題に対する唯一の正解は「No」だね。

3
ufmace
約19時間前

円のアウトラインを描くやつは面白そうだね。事前にアルゴリズムを読んだわけでもないし、革命的な天才コンピューターサイエンティストほど頭が切れるわけじゃないけど、数分で基本的なアルゴリズムを2つ思いついたよ。まず0度から360度まで回して、三角関数でその角度の点を求め、一番近い点をプロットする方法。ステップサイズを工夫する必要はあるだろうけど、半径から三角関数を使ってそれなりの予測値を計算できそうだよね。もちろん浮動小数点数や三角関数が使えない環境だと厳しいだろうけど。あとは四象限に分ける方法もある。各象限の上下左右の点を半径を加算・減算して直接計算し、そこから開始して象限内で進む方向に3点確認して、中心からの距離が半径に最も近いものをプロットしていく。これを繰り返せば計算できるはず。面倒で繰り返しの作業になるけど実行は可能だ。平方根を使わずに二乗を比較すれば計算を避けることもできるし、90年代のハードウェアで高速に処理するならそんなアイデアが必要になるだろうね。

4
locusofself
約18時間前

面白い記事だね。現役のMSFTプリンシパルだけど、面接でこんな質問がされるのは見たことがないな。「経験豊富なプログラマーなら、全部解き方を知っているはずだ」なんて言うのは公平でも正確でもないと思う。MicrosoftのSWEや候補者の多くはPythonでLeetCodeを勉強して入社し、管理されたC#コードを書いているだけだからね。

5
zhxiaoliang
約18時間前

著者の記憶力には脱帽するよ。自分なんてそんな昔のこと、自分の名前すら怪しいもんだ(笑)。当時はああいう面接が大の苦手だってわかってたから、いつもフロッピーディスクを持ち歩いてた。自分で書いたプログラムをいくつか入れておいて、「クイズはやめてください。すごく苦手なので、出されたら帰ります」って伝えてたんだ。その代わり、自分の能力を見てくれるならプログラムを見せると交渉してね。実際、ほとんどの場合はうまくいって採用されたよ。古き良き時代だね!

6
userbinator
約18時間前

2番目の問題は、K&Rを読んだことがあれば(strcpy()をそのまま呼ぶのが禁止されていても)完全に決まりきったものだし、4番目の問題も https://news.ycombinator.com/item?id=15266331 を知っていれば非常に簡単だ。ただ、32年前は知識が今日ほど素早く広まることはなかったよね。補足すると、自分は「Color」をどう保存しても良かったから、事前に計算が必要ならそれをハードコードしても許されていた。前計算を除けば、3つの演算でできるはずだよ。