July 13, 2011

如果你去Google面試,你要怎麼回答?

最近看到了這篇文章Google面試問題集覺得滿有趣的,從一間公司的面試題目可以瞭解一間公司的文化,以Google為例,Inside的評論如下
“Google是一間非常追求卓越的公司:對工程師而言,他要你會的東西的範圍是沒有侷限的,重點在於用最有效的技術解 決最困難的問題。如果是產品經理,Google希望你是偏執的,永遠都不滿意你的產品,永遠都在想怎麼做會更好。這是個工程文化強大的卓越公司,面對務實 hacking的Facebook公司,Google鋒芒暫時是被壓過去了。不過,Google在Android上的巨幅進展仍舊是相當耀眼的成就,我想 這是歸功於他追求卓越的公司文化使然。”
Googler可以說是工程師中的標竿,他們所要面對的可不是一般公司所遇見的問題,而是要開發出一個能在全球運行的解決方案。技術對他們來說只是最基本的工具,Googler都必須要有“自己動手作”的能力,以及創新的思維。舉一個實例,眾所皆知的Google街景車是怎麼做出來的的呢?由於沒有人做過,所以Googler必須從無到有把車子做出來。

Googler in workshop


從上圖來看,很難想像軟體工程師需要作這樣的工作(搞不好其實是Google的工務),不過正因工程師有這樣的實作能力,Google才有辦法做出實用性極高的產品。
Test run in Legoland
 所以Google需要的人不一定要是名校畢業(據傳聞Google很多怪咖),不過技術仍是必須的,並且要有很強的實作能力以及創新能力。接下來我們來看看Google面試都問些甚麼才能找到他們理想中的人才?我也把自己當作去Google面試一樣把這些問題認真的想一遍

問題1:人孔蓋為什麼是圓的?
Hint:人孔蓋是什麼?就是路上不是會有鐵的圓的蓋子,打開就可以下去到下水道,那個很重的鐵蓋就是人孔蓋。Google想問你人孔蓋為什麼不做三角形,方的,或 是星星狀
  • 相信看過下水道施工的人都知道,工人必須用鉤子把重達十多公斤的人孔蓋拖起來才能到下水道施工,把一端拖起來後直立,圓形才方便滾到旁邊放好。不過人孔蓋也是有方的啦XD
問題2:如果你是Google Adwords的產品經理,你打算怎麼行銷這個產品?
  • (由於這個問題太龐大所以單就我所知的方面回答)企業可以在大家做Google搜尋的同時看到跟關鍵字相關的廣告,不過以台灣而言,使用Google的使用者大多是重度網路使用者,且大多為大專以上理工資電相關科系學歷為主,社會人士大多為工程師以及資訊相關產業。因此Adwords應該針對專門市場進行行銷,如工程、醫學、機械等相關專業領域業,或是調查這類形的使用者(男性、技術工程師、網路高黏著度族群)對什麼樣的產品別有需求再加以行銷。
問題3:如果在高速公路上,三十分鐘內有一臺車經過的機率是0.95,請問10分鐘內有一臺車經過的機率是多少?
  • 這個就讓專業的來吧(偷看解答)
    Kuan-Wu Su說:
    10分鐘經 過的機率 0.63159685013596133942201771664202
    (1-x)^3=1 - 0.95, 解x, 反過來思考10分鐘內沒車經過的機率, 又30分鐘沒車經過的機率已知, 得解. 
問題4:現在是3:15分,請問時針跟分針間的角度是多少?
  • (看手錶)一個小時時針走30度,所以15分走7.5度得解7.5度
問題5:全世界有多少鋼琴調音師?
  • 這個問題的格局就很大了,如果是我的話我會先調查全世界每年的鋼琴銷售額(By google),再問調音師一台鋼琴大約幾年需要調一次音,再得知一個調音師一天可以調多少台鋼琴,把這樣的工作量乘上一個常數(如0.6,因為不可能工作滿載)等等資料來去推估有多少調音師
  • 解法二:去全世界的調音師協會把她們的會員名單駭出來
問題6:美國每年生產多少台吸塵器?
  • 取得全美吸塵器市場調查報告(恩這不太符合google自己動手做的精神)
  • 找出全美吸塵器十大品牌,並從營收及銷售量推估所生產的吸塵器(這回答真虛)
問題7:解釋”資料庫系統”給你的八歲姪女聽懂,請開始
  • 小姪女你以後讀資訊系或資管系就會懂了
  • 其實我連讀完資訊系我都解釋不出來了
  • 簡單來說就是給你一本畫滿格子的筆記本,你可以有規則的把資料填上去,寫錯可以劃掉或是訂正,你也可以翻你的筆記本找出你某天曾經寫過的東西(靠這樣四句了
問題8:清洗全台北市的窗戶這樣的任務交給你,你要收多少費用?
  • 我覺得可以用建築物樓層來計算。以洗大樓說,通常是兩人一組,用吊車洗窗戶
  • 去台北各區區公所調查建物相關資料(這個確定查的到)
  • 估算各項人力時間成本加上需要洗的建築物數目,總價再加個20%的管銷費用
問題9:怎麼樣最有效率地對一百萬個整數做排序?
  • Quick sort?(我演算法只學過一咪咪)
問題10:以公司策略角度來看,你覺得Larry Page該注意什麼事情?
  • 非死不可(不過G+應該給了很多壓力,而且最近FB好不穩)
  • 全球最大的區域網路:山寨中國
  • 台北市政府
  • 阿婆的一狗票雲端服務
  • Google的格局應該跳出跟人競爭的思維,可以不太管商業的眼光去開發全新的服務,以永續經營作為出發點,策略上可以朝綠能以及糧食危機方面思維
問題11:你覺得一個專做地區生意的雜工派遣個人公司(一到兩人)願意花多少錢在Adwords上面?
  • 由於經營的模式是地區小規模,應該不會有太多行銷預算,更何況是跟他們產業比較不相關的網路。假設他們有網路行銷的預算,一年了不起1000吧,不過由於屬性的關係,可能貼電線桿、漆圍牆對他們來說比較適合
問題12:你擁有一個很多使用者會上傳內容的網站,請問你要怎麼從中賺錢?
  • 這是指現在還在虧損的Youtube吧XD,由於現行廣告的模式仍無法支撐龐大的虧損,可以參考niconico動畫的收費模式,針對收費會員提供更好的服務,例如HD影片僅提供收費會員觀看,或是一些獨家的會員服務
  • 如果對一個廣泛得資訊提供網站而言,目前最大的收益仍是流量廣告吧,可以考慮做一些置入性內容行銷(前提是可以cover流量的費用,影音streaming流量實在太大)
問題13:你要怎麼解決世界飢荒問題?
Hint:大家都上Google應該也不能解決飢荒問題…..飢荒可能是分配不均的問題……maybe透過網路做分配的認養?
  • 糧食不夠是浪費糧食的問題,如果每個人都拿自己吃的完得份,餐廳也供應恰好份量的料理,回收的廚餘如果又可以養豬的話,我想糧價過高的問題應該可以克服
  • 另一個方面可以提高非洲的國民所得,賺的到錢的話生活品質自然會提升,而最有用的方法就是透過教育。Google可以透過網路進行教學,把非洲人民的教育水準提高,假設扣除政治動蕩不安的因素,人工便宜的話,應該很快就可以吸引外資來非洲投資。
問題15:你有兩個水壺,一個能量出3公升,另一個能量出五公升。用這兩個壺,你怎麼能量出四公升的水量?
  • 最簡單的一題:把五公升壺填滿,倒三公升壺裡,可得兩公升水,重複兩次即可得四公升
問題16:Youtube想引進一個新功能,就是在標題旁邊放上五張影片裡的圖片,看看這樣會不會有比較好的使用者體驗。不過問題來了,怎麼選出那五張圖,你有什麼想法嗎?
Hint:實際的問題,只是youtube的尺度很大,格局很大,你要想的不會是一般小家子氣的解法
  • 據我所知,Youtube可以統計使用者在哪段時間會盯著影片看,甚至倒回來看。除此之外,使用者在外連影片以及評論實可以取用特定時間,依照這些標準選圖,應該可以取到一些擁有豐富意涵的圖片
問題17:你知道”dead beef”的意思嗎?
Hint:這要非常hard core的工程師才會知道。你可以google一下dead beef
  •  這問題非常硬蕊啊,我也是Google過才知道這是Linux下一個類似Foobar的播放軟體
問題18:如果我要你找出來台灣現在正在上網的人數有多少,你會怎麼做?
  • 雖然每個人不見得分得到一個IP不過每個人在上網的時候一定會有(至少)一個Mac address。當然你也有可能裝vmware或是用虛擬網卡,不過就常理,一個人大多會有一個。

    再來是定義上網的行為,以通過ISP的封包視為上網

    由於臺灣網路生態的關係,所有的網路都會經過 hinet(包括學術網路),假設技術與人力允許的話,可以以區域機房為單位,在同ㄧ時間內監聽一分鐘的封包,再進行交叉 比對,把獨立的Mac address統計出來即可推估同ㄧ時間全台上網人數
結語:
自己做過上述18道題目之後,才發現其實這些題目具有相當的複雜性(才知道自己進不了Google),問題的格局也跳脫出一般企業所要面對的範疇。這些問題其實反映出我們日常生活中可能遇過但從不曾想過如何解決的問題。問題的種類也是五花八門,如果沒有經過長期的思考訓練,應試現場很難答出宏觀的答案。
問題上至人類飢荒,下至洗台北市全部窗戶的收費標準,其實就跟我們使用google的用途,用來解決生活中的大小事。這些開放式題目顯然沒有標準答案,因此這些問題其實是用來測試應試者的思考邏輯以及實務能力。認真思考過以後,其實我覺得很有趣也相當有收穫。如果有興趣的人也可以自己做做看或是改做重實務精神的Facebook面試題目,那又是另外一種思考方式了。

    9 comments:

    1. 問題15如果沒有其他容器的情況下
      好像無法存放第一次的兩公升?

      比較可行的解法是

      1.先將三公升的水倒入5公升的容器
      再倒第二次時
      這時會剩下1公升的水

      2.將五公升的水倒掉
      剩下一公升的水倒入五公升的容器

      3.最後再倒入三公升的水
      變成四公升

      ReplyDelete
      Replies
      1. 那。。。。水要在哪裡重裝。到掉就沒辦法了

        Delete
    2. 喔喔這個方法確實可行,看來您很有進入Google的潛力喔

      ReplyDelete
    3. 0xDEADBEEF ("dead beef") 在嵌入式系統中常用於標示軟體崩潰或是死鎖

      ReplyDelete
    4. 人孔蓋維修時間少,存在於路面的時間多,回答為工人容易滾動是不太合理的答案(但也不能說你錯),建議樓主可再想想。

      ReplyDelete
    5. 圓形人孔蓋不會掉
      同一條高速公路, 30分鐘和10分鐘沒差別, 假設只有一輛車在中午12:00上交流道開了30分鐘再下交流道,將這段距離切開成任意時間點來看, 還是只有一輛車經過.
      美國還有在生產吸塵器嗎? 不是都大陸製了!?
      如果在各大入口網站公布只要點擊google網頁就有機會中大獎的消息,大概就可以算出當下的人口

      ReplyDelete