<< Prev Page Next Page >>

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


Googleの面接問題

bewaadさんがGoogleの中途採用面接を受けて霞ヶ関からIT技術者への華麗なる転身を狙っているとのことで、IT土方(早く技術者になりたい)の僕も問題だけチャレンジしてみました。プログラマらしい回答になるかどうか。もっともbewaadさんの回答が既にあるので、「そういう賢いことは考えつかなかった」とか、数学の問題は「たぶんbewaadさんのが正しいのでそれ以外にならない」などの理由でいくつか飛ばしています。


スクールバスにゴルフボールは何個入るか?(How many golf balls can fit in a school bus?)

そうですね、とりあえず段ボールで5ケースぐらいならどんなバスでも生徒が満員でも確実に乗ります。(fitという単語を見ないふり)
あ、バスはお客様のほうでご用意ください。


シアトルのすべての窓ガラスを洗浄するとして、あなたはいくら請求しますか?(How much should you charge to wash all the windows in Seattle?)

洗浄が終了するまでの期間、毎月5000ドル(ぐらいあれば普通の暮らしはできるのかな?)。ぞうきんや洗剤や高所作業の作業費など実費は別請求。


マシンのスタックがメモリ内で増えるか減るかしているのをどのようにして見つけ出しますか?(How would you find out if a machine’s stack grows up or down in memory?)

こ、これ、ぱぱっと言えたらハッカーなんだろうなあ…残念。

あなたの8歳の甥にデータベースについて3つの文で説明しなさい。(Explain a database in three sentences to your eight-year-old nephew.)

bewaadさん、一文目でいきなり「データベースを考えた場合」って。
君がお小遣い帳をつけるとき、「日付」「もらった金額」「使った金額」「使った内容」を一行に並べるって決めておいて、あとは毎日その日のお金の様子を書いていくだろう。
君がクラスの名簿を作るときは「名前」「住所」「電話番号」を一行に並べるって決めてからみんなのデータを書きこむだろう。
コンピュータではデータベースっていうソフトウェアを使うと、そんなふうに並べる項目を決めてから内容を書き込める仕組みが作れるんだ。


あなたはA地点からB地点に行かなくてはならない。そこに到着できるかどうかは知りません。どうしますか?(You have to get from point A to point B. You don’t know if you can get there. What would you do?)

とりあえず行けって言った人に聞いてみる。そういう人がいない場合はGoogle Mapに経路を聞いてみる。

シャツでいっぱいの戸棚があるとします。特定のシャツを見つけるのは非常に難しいです。簡単にシャツを見つけるためにどのように整理しますか? (Imagine you have a closet full of shirts. It’s very hard to find a shirt. So what can you do to organize your shirts for easy retrieval?)

地の色が赤→緑→青→紫のグラデーションになるように並べる。白地に柄が付いてるモノが多い場合は、その中で柄をぱっと見た感じの色がグラデーションになるように並べる。



(訳文を直しました)100組の夫婦からなる村で、男性は全員浮気したことがあります。どの妻も、自分の夫でない男が浮気するとすぐにそれを知ることが出来ますが、自分の夫が浮気してもわかりません。そしてこの村の掟では浮気や姦通は許されていません。自分の夫が浮気していることがわかった妻はその日のうちに自分の夫を殺さなければならないという掟があります。この村の女達は掟には背きません。ある日、村の女王が言いました。この村には浮気をしている男が少なくとも1人はいる。さて、この村に何が起きますか?
(Every man in a village of 100 married couples has cheated on his wife. Every wife in the village instantly knows when a man other than her husband has cheated, but does not know when her own husband has. The village has a law that does not allow for adultery. Any wife who can prove that her husband is unfaithful must kill him that very day. The women of the village would never disobey this law. One day, the queen of the village visits and announces that at least one husband has been unfaithful. What happens?)

最初はみんな「そんなん知ってるわ」と黙っているが、女王は、誰も死なないことにいらっときて側近に「どういうことか」と八つ当たり気味に問いただし、側近が「すみません、王の浮気相手は自分です」と白状したため王死亡。

別解:男たちは殺されるのを恐れて浮気をやめる
→妻たちは他の男が浮気したことを感知できなくなる
→感知できないと言うことは自分の夫が浮気しているに違いない
→全夫死亡


ある国では人々は生まれてくる子には男の子だけを欲しがりました。そのため、どの家族も男の子を産むまで子供を作り続けました。この国では男の子と女の子の人口比率はどうなりますか?(In a country in which people only want boys, every family continues to have children until they have a boy. if they have a girl, they have another child. if they have a boy, they stop. what is the proportion of boys to girls in the country?)

えと、親に望まれずに生まれてきた女の子って殺されるんでしょうか。女の子もちゃんと育ててもらえるのであれば、要するにみんなたくさん子供を産むってだけなので、比率は変わらない。



全世界でピアノの調律師は何人いますか?(How many piano tuners are there in the entire world?)

ピアノの数よりは少ない。



5人の海賊がいて、彼らは1位から5位にまでランク分けされています。1位の海賊は100枚の金貨をどのように分けるかというプランを提案する権利があります。残りの海賊はこのプランに投票する権利があり、賛成が半分に満たない場合には1位の海賊は殺されます。1位の海賊の分け前を最大にしてなおかつ彼が生き残るにはどうすればいいですか?(ヒント:一人の海賊は結局、金貨の98%で終わる)(You have five pirates, ranked from 5 to 1 in descending order. The top pirate has the right to propose how 100 gold coins should be divided among them. But the others get to vote on his plan, and if fewer than half agree with him, he gets killed. How should he allocate the gold in order to maximize his share but live to enjoy it? (Hint: One pirate ends up with 98 percent of the gold.))

残り人数が2人になってしまったら、4位:5位の分け前提案を0:100にしない限り、5位の投票によって4位は殺される。
残り人数が3人になった時、3位:4位:5位の分け前提案を100:0:0にしても4位は賛成して可決される。(どうせ反対しても0か死しか残らないので)
残り人数が4人になった時、2位:3位:4位:5位の分け前提案を98:0:1:1にすると4位と5位は賛成して可決される。(4位と5位は残り3人になったら0枚になってしまうので)
残り人数が5人の時、1位:2位:3位:4位:5位の分け前提案を98:0:0:1:1にすると4位と5位が賛成する。(反対して4人になっても変わらないので)


9/11追記分

◆海賊の性質が「賛成しても反対しても結果が変わらない場合、なるべくなら仲間を殺したくないので賛成する」であった場合

  1. 残り人数が2人になってしまったら、4位:5位の分け前提案を0:100にしない限り、5位の投票によって4位は殺される。
  2. 残り人数が3人になった時、3位:4位:5位の分け前提案を100:0:0にしても4位は賛成して可決される。(どうせ反対しても0か死しか残らないので)
  3. 残り人数が4人になった時、2位:3位:4位:5位の分け前提案を100:0:0:0にすると4位と5位は賛成して可決される。(4位と5位は反対して残り3人になっても0枚で変わらないので)
  4. 残り人数が5人の時、1位:2位:3位:4位:5位の分け前提案を100:0:0:0:0にすると4位と5位が賛成する。(反対して4人になっても変わらないので)
  5. でも海賊はみんな頭が悪いので、これを提案すると「うー、よくわかんねえけどてめー独り占めはずるいぞ」ってみんな反対してしまう。多分3位あたりが得をする。


◆海賊の性質が「賛成しても反対しても結果が変わらない場合、気まぐれに反対するかも知れない」であった場合

  1. 残り人数が2人になってしまったら、4位:5位の分け前提案を0:100にしても、5位が反対するかも知れない。
  2. 残り人数が3人になった時、3位:4位:5位の分け前提案を100:0:0にすると4位が賛成して可決される。(反対すると次の回で死ぬかも知れないので)
  3. 残り人数が4人になった時、2位:3位:4位:5位の分け前提案を98:0:1:1にすると4位と5位は賛成して可決される。(4位と5位は残り3人になったら0枚になってしまうので)
  4. 残り人数が5人の時、1位:2位:3位:4位:5位の分け前提案を97:0:1:0:2にすると3位と5位が賛成する。(残り4人になったら3位は0枚に、5位は1枚になってしまうので)
これbewaadさんの元の回答と同じだった。

◆海賊が必ずしも経済合理的でなかった場合
海賊1が海賊2と海賊3を集めて話し合う。
海賊1「なあ、あの海賊4と5がつるんで財宝を二人で山分けしようとしているぞ。だってそうだろう、もし俺が死んでしまえば、二人で過半数になる。そしたら海賊2や3がなんと言おうがとにかく反対すればお宝は二人のモノだ」
海賊2「なるほど、たしかにそうだ」
海賊3「だが、二人になったとたんに海賊5が裏切るかも知れんぞ」
海賊1「そうかも知れない。でもそのときには俺たちはみんな死んじまってる」
海賊3「そうだなあ」
海賊2「とにかく海賊1を死なせちゃいかんというわけだな」
海賊1「そこで俺は分け前を98:1:1:0:0にしようと思う。お前たち反対したら殺されちまうんだから賛成するよな」
海賊2,3「うう~ん」
海賊1「ゼロや殺されるよりはいいだろう」
海賊2、3「そうだなあ」

ヒントの98%に一致するのはこれしかないっ


この記事に対するコメント

海賊問題、「賛成が半分に満たない場合には」だから、残りが2人になった時点で4位が総取りになるのでは?
(賛成1:反対1なら半数は満たしているから。これが「過半数に満たない場合」とか「半数を超えない場合」なら1:1では殺されるだろうけど。)

【2007/09/13 10:55】URL |     #-[ 編集]

いえ、これは、プランを提案する人には投票権がないのがミソなのです。英文をもっとわかりやすく訳すと、

The top pirate has the right to propose how 100 gold coins should be divided among them. But the others get to vote on his plan, and if fewer than half agree with him, he gets killed.
最上位の海賊は彼らの間で金貨をどう配分するかを提案する権利があるが、それ以外の海賊が彼のプランに投票して、彼に賛成する人が半数に満たなければ彼は殺される。

となります。

【2007/09/13 11:10】URL | とっくり #-[ 編集]

bewaadさんのコメントからたどっていくと、海賊の問題はなんと元の英文が間違っていた疑いが濃厚です。
http://www.nishiohirokazu.org/blog/2007/09/google.html
提案者も投票権を持っているみたいで、それなら98%っていう数字になるようです。

【2007/09/13 14:27】URL | とっくり #-[ 編集]

この記事に対するコメントの投稿



管理者にだけ表示を許可する

この記事に対するトラックバック

トラックバックURL
http://tockri.blog78.fc2.com/tb.php/88-e24029a4
この記事にトラックバックする(FC2ブログユーザー)

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。