bewaad institute@kasumigaseki

  • archives by smart archives
  • 09/10/2007 (6:35 am)

    Google、受かるかな?

    Filed under: misc ::

    Googleの面接試験問題を試してみます。自己申告ですが、ウェブ検索等はせず自力で挑戦しました。要した時間は聞かないでいただければ・・・。

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

    1個から1兆個の間のどれかの数。

    あなたは5セントコインほどのサイズに縮んでしまう。質量は今現在のオリジナルの密度を維持している。そしてあなたはガラスのミキサーに投げ込まれる。ミキサーの刃は60秒で動き出す。さぁ、あなたはどうする?(You are shrunk to the height of a nickel and your mass is proportionally reduced so as to maintain your original density. You are then thrown into an empty glass blender. The blades will start moving in 60 seconds. What do you do?)

    5セントコインが直径2cmとして、約1/100の長さに縮むと考えられます。同じ密度のまま重さも少なくなるとのことですが、となれば重さは体積に比例するので、長さの3乗=約1/100万の重さになります。他方、筋力は筋肉の断面積に比例するので、長さの2乗=約1/1万の力となります。

    したがって、体重に対する筋力の割合は約100倍となるので、縮む前に垂直とびで身長の1/3飛べるとして、縮んだ後は100×1/3=身長の約33倍の高さまで飛べることとなります。2cmの身長の33倍ですから66cm飛べるようになるので、ミキサーから飛び出して逃げられます。

    #安全を見て縮尺を1/80、垂直とびの高さを身長の1/4としても、80×1/4=20倍で40cmは飛べますが、それほど大きなミキサーはないでしょうから、やはり飛び出して逃げることは可能でしょう。

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

    シアトルのすべての窓ガラスの洗浄を請け負ってもらうオークションを開催し、1番高い入札価格を超える任意の額。1番安い入札価格から1ドル引けば、自分以外の者がオークションをやるかやらないかにかかわらず必ず自分でできますが、コストがどれだけかわからないので、それでは赤字かどうかわかりません。一番安い入札価格と同額では、自分でやっても赤字かどうかわからない上、自分以外の者がオークションをやれば自分が落札できるかどうかわかりませんが、落札できたとしても赤字になる可能性が残ります。

    一番安い入札価格に1ドル足した額以上の額では、オークションに付されれば自分以外の誰かが必ず落札することになりますが、その場合には少なくとも損はしません。オークションに付されなければ、自分が開催したオークションで最安値の入札者に下請けに出せばいいのですから、差額は必ず儲けとなります。自分がいくら高値をふっかけてもオークションに付される可能性が変わらない前提で、高ければ高いほど儲けの期待値は上がる、ということになります。

    #自分ならばもっと安くできるという者の数が増えればオークションに付される可能性が上がるとするなら、2番目に安い入札価格から1ドル引いた額が妥当でしょうか(数の増加に対する可能性の上がり方次第ではありますが)。

    マシンのスタックがメモリ内で増えるか減るかしているのをどのようにして見つけ出しますか?(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.)

    たとえばクラスメイトのデータベースを考えた場合、まず、名前や誕生日、住所といった関係のある事柄の入力を受け付け、その内容を保存しておきます。保存しておいた事柄について、たとえばあ行の名前の人は何人、4月生まれの人は誰、といった質問を受けて答えを返します。この受付け、保存、回答の3つの働きをするものがデータベースです。

    時計の長針と短針は一日に何回重なりますか?(How many times a day does a clock’s hands overlap?)

    0時から11時59分59秒を考えた場合、0時から0時59分59秒の間と11時から11時59分59秒の間は1回も重ならず、それ以外の各1時間には1回ずつ重なるので、小計で10回重なります。同様に12時から23時59分の間に10回重なり、それに12時になる瞬間に重なることを加えれば21回。0時になる瞬間を0時において接する前後いずれの日に属すると定義しようと、スタートの0時になった瞬間ないしゴールの23時59分59秒を過ぎた瞬間の重なりのいずれかはカウントされるので、これを加えて合計22回。

    あなたは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?)

    A地点において、B地点を知っている人を探し、

    1. B地点への行き方を知っているかどうか、
    2. 行き方を知らない場合、A地点よりもB地点に近い場所を教えて欲しい、

    と尋ねます。1.で行き方についての回答が得られればそのとおりにB地点に行き、得られなければ2.で教えてもらった場所に行き、同じことをB地点に着くまで繰り返します(ただし、2.の「A地点」はそのとき質問している場所になりますが)。

    シャツでいっぱいの戸棚があるとします。特定のシャツを見つけるのは非常に難しいです。簡単にシャツを見つけるためにどのように整理しますか?(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?)

    1. ハンガーに掛けられたものが並んでいるとして、その状態で一目で識別可能な特徴で階層化します(半袖か長袖か、各色、無地かストライプか、等。まずは半袖で白で無地のグループ、その隣が半袖で白でストライプのグループ、といった具合)。
    2. 次に、シャツの特徴を洗い出し、yesとnoで答えられる質問を最大数のグループで差異化できる程度(最大で10枚のグループがあるならば4問(2^4=16)程度)考えます。
    3. 2色の洗濯バサミを用意し、2.で考えた質問の答えがyesならある色、noなら別の色を質問の数だけ袖に挟んでいきます。
    4. シャツを見つける際には、まずグループで絞込み、洗濯バサミを見て特定します。

    この村には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?)

    何も起きません。というのも、妻は全員自分の夫以外の浮気を知っている=この村に浮気をしている男が少なくとも1人はいることは既知なので、女王の言葉は何ら新たな情報をもたらさないからです。

    ある国では人々は生まれてくる子には男の子だけを欲しがりました。そのため、どの家族も男の子を産むまで子供を作り続けました。この国では男の子と女の子の人口比率はどうなりますか?(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?)

    自然体で女の子が産まれる可能性をp(0<p<1)とすると、

    1. 1人目で男の子が産まれる可能性は1−p
    2. 1人女の子が産まれた後に2人目で男の子が産まれて男の子1人・女の子1人となる可能性はp×(1−p)
    3. 2人女の子が産まれた後に3人目で男の子が産まれて男の子1人・女の子2人となる可能性はp^2×(1−p)
    4. n−1人女の子が産まれた後にn人目で男の子が産まれて男の子1人・女の子n−1人となる可能性はp^(n−1)×(1−p)

    これを言い換えれば、

    1. 子どもが1人だけの場合、男の子1人で、その確率は1−p
    2. 子どもが2人だけの場合、男の子1人・女の子1人で、その確率はp×(1−p)
    3. 子どもが3人だけの場合、男の子1人・女の子2人で、その確率はp^2×(1−p)
    4. 子どもがn人だけの場合、男の子1人・女の子n−1人で、その確率はp^(n−1)×(1−p)

    以後同様に考え、この国での男女比は、

    • 男の子の出生数/女の子の出生数=(1−p)+p×(1−p)+p^2×(1−p)+・・・+p^(n−1)×(1−p)+・・・/p×(1−p)+2×{p^2×(1−p)}+・・・+(n−1)×{p^(n−1)×(1−p)}+・・・

    分子を(1−p)で、分母をpくくると、

    • 男の子の出生数/女の子の出生数=(1−p)×{1+p+p^2+・・・+p^(n−1)+・・・}/p×[1−p+2×p×(1−p)+・・・+(n−1)×{p^(n−2)×(1−p)}+・・・]

    ここで、分母中の大括弧の中身を考え、子どもの数がn人の場合について展開すると、

    • n×p^(n−2)−n×p×p^(n−2)−p^(n−2)+p×p^(n−2)
    • =n×p^(n−2)−n×p^(n−1)−p^(n−2)+p^(n−1)
    • =p^(n−2)×(n−1)−p^(n−1)×(n−1)

    となり、これにn−1人の場合の、

    • p^(n−3)×(n−2)−p^(n−2)×(n−2)

    とn+1人の場合の、

    • p^(n−1)×n−p^n×n

    を加えたとき、n人の場合のp^(n−2)についてはn−1人のそれとの合算でp^(n−2)だけが残り(p^(n−2)×(n−1)−p^(n−2)×(n−2)=p^(n−2))、p^(n−1)についてはn+1人との合算でp^(n−1)だけが残り(p^(n−1)×n−p^(n−1)×(n−1)=p^(n−1))、これをすべてのnについて行えば、結局のところ分子の中括弧の中身と同様に、1+p+p^2+・・・+p^(n−1)+・・・といった数列となるので、約分可能。したがって、

    • 男の子の出生数/女の子の出生数=(1−p)/p

    であり、自然体と変わらない男の子と女の子の人口比率となります。

    高速道路で30分間に自動車が存在する確率が0.95である場合、10分間では確率はどれぐらいになりますか?(確率は一定であると仮定します)(If the probability of observing a car in 30 minutes on a highway is 0.95, what is the probability of observing a car in 10 minutes (assuming constant default probability)?)

    30分間に自動車が存在する確率が0.95ということは、それを構成する3回の10分間のすべてに自動車が存在しなかった確率が0.05ということになるので、10分間に自動車が存在しない確率は0.05の三乗根。よって、10分間に自動車が存在する確率は1−0.05の三乗根。

    #電卓で適当に近似すると、約0.6315となります(0.05の三乗根が約0.3685)。

    時計を見ると3時15分でした。長針と短針の間の角度は?(ゼロではありません)(If you look at a clock and the time is 3:15, what is the angle between the hour and the minute hands? (The answer to this is not zero!))

    短針は1時間に360/12=30度進むので、その1/4である15分間には7.5度進みます。3時15分には長針は3時に短針が存在していた場所にあるので、長針と短針のなす角は7.5度。

    4人の人々がぐらぐらするロープの吊り橋を渡って夜にキャンプへ戻る必要があります。不幸にも懐中電灯は一つしかなく、17分しか使えません。吊り橋は懐中電灯なしで渡るにはあまりにも危険で、吊り橋は同時に2人しか渡れません。しかも、各人は歩くスピードが違います。ある者は橋を渡るために1分かかり、別の者は2分かかり、3番目の者は5分かかり、最後の者は10分かかります。どのようにすれば17分で全員が渡りきることができますか?(Four people need to cross a rickety rope bridge to get back to their camp at night. Unfortunately, they only have one flashlight and it only has enough light left for seventeen minutes. The bridge is too dangerous to cross without a flashlight, and it’s only strong enough to support two people at any given time. Each of the campers walks at a different speed. One can cross the bridge in 1 minute, another in 2 minutes, the third in 5 minutes, and the slow poke takes 10 minutes to cross. How do the campers make it across in 17 minutes?)

    1. 1分と2分が行って2分
    2. 1分が戻って1分で計3分
    3. 5分と10分が行って10分で計13分
    4. 2分が戻って2分で計15分
    5. 1分と2分が行って2分で計17分

    あなたは友人たちなどとパーティをしており、全員であなたを含めて10人います。友人の一人が賭を提案してきました。あなたと同じ誕生日の人がこの中にいればあなたは1ドルもらえます。あなたと同じ誕生日の人がいない場合には友人が2ドルもらいます。あなたはこの賭を受け入れますか?(You are at a party with a friend and 10 people are present including you and the friend. your friend makes you a wager that for every person you find that has the same birthday as you, you get $1; for every person he finds that does not have the same birthday as you, he gets $2. would you accept the wager?)

    1. ある友人が私と同じ誕生日でない確率は364/365≒0.997。
    2. 私以外の9人全員が私と同じ誕生日でない確率は0.997^9≒0.976。
    3. 賭けの期待値は1×(1−0.976)−2×0.976<0なので、受け容れない。

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

    わかりません。

    あなたは同じサイズのボールを8つもっています。そのうち7つは同じ重さですが、1つはほかのものよりもわずかに重いです。秤を2回だけ使ってこのわずかに重いボールを見つけるにはどうすればいいですか?(You have eight balls all of the same size. 7 of them weigh the same, and one of them weighs slightly more. How can you find the ball that is heavier by using a balance and only two weighings?)

    1. 任意の3個ずつを秤で比べる。
    2. 1.の結果、いずれかの皿が重ければ、その3つのうち任意の2つを秤で比べ、
      1. どちらかが重ければ、それが「わずかに重いボール」。
      2. 等しければ、比べなかった残る1つが「わずかに重いボール」。
    3. 1.の結果、それら3個ずつが等しければ、残る2つを比べ、重い方が「わずかに重いボール」。

    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.))

    第1位〜第3位が殺された場合、第4位は殺されるか第5位に100枚を譲るかしか選択肢がなくなる(投票権は第5位にしかなく、第5位が反対すれば反対票が100%になります)ので、第1位・第2位が殺された段階で、第3位は自分に99枚、第4位に1枚、第5位に0枚を配分する提案を出し、自分が死んだら第4位は1枚ももらえないのだと説得して第4位の賛成を得ます(第5位が反対しても半分は満たして可決されます)。第2位は、第1位が殺された段階で、自分が死んだら第3位はそのような提案をすることを示し、自分に97枚、第3位に0枚、第4位に2枚、第5位に1枚を配分する提案を出し、それは第4位・第5位の賛成で可決されます。

    したがって第1位は、自分が死んだら第2位はそのような提案をすることを示し、自分に97枚、第2位と第4位に0枚、第3位に1枚、第5位に2枚を配分する提案を出し、それは第3位・第5位の賛成で可決されます。

    #98%になりませんでしたorz。

    次のページ »