看板 Soft_Job
作者 changyuheng (張昱珩)
標題 [閒聊] Homebrew 作者到 Google 面試被刷
時間 Sat Jun 13 14:19:52 2015


好像還沒人貼,轉貼一下。

http://bit.ly/1QuCQi1
Homebrew 作者的 google 面試推 | 哈啦閒聊的時刻 | kaif.io
Homebrew 作者的 google 面試推 | 哈啦閒聊的時刻 ...

 

沒過多久,這題就出現在 LeetCode 上面(答對率目前為該站前五高):

http://bit.ly/1MQOz4K
Invert Binary Tree | LeetCode OJ
[圖]
Invert a binary tree. 4 / \ 2 7 / \ / \ 1 3 6 9 to 4 / \ 7 2 / \ / \ 9 6 3 1 Trivia: This problem was inspired by this original tweet by Max Howell: Google: 90% of our engineers use the software you wrote (Homebrew), but you can’t invert a binary tree on a whiteboard so fuck off. ...

 

新聞:
http://bit.ly/1C4dTOk
雖然我們公司 90%的工程師都用你開發的工具,但我們還是不聘用你 | T客邦 - 我只推薦好東西
[圖]
軟體程式師 Max Howell 在 Twitter講述了他最近是怎麼在Google 面試時被刷下來的:「Google:我們 90% 的工程師都用你寫的軟體(Homebrew),但你沒辦法在白板上反轉(invert)二元樹,所以你還是滾蛋吧。」 ...

 

這題大家覺得難度怎麼樣?


身邊幾位朋友的解法不外乎 recursion、loop,
depth-first、breadth-first
http://www.wikiwand.com/en/Binary_tree#/Traversal

 
O(n)
有興趣可以參考,大家的 code 都差不多:http://bit.ly/1QUJU2o
3-4 lines Python - Leetcode Discuss
def invertTree(self, root): if root: root.left, root.right = self.invertTree(root.right), self. ... .left stack += node.left, node.right return root ...

 

--
http://changyuheng.github.io/
http://murmuring-on-the-air.github.io/

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.141.128.10
※ 文章代碼(AID): #1LUykEq7 (Soft_Job)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1434176398.A.D07.html
lovdkkkk: 一眼看起來很簡單, 實際上...可能也很簡單 @@1F 06/13 14:23
chen1025: 不難,但是太久沒摸資料結構,或是面試太緊張,不一定回答的好。2F 06/13 14:24
andyjon: 翻白板,這個有創意,或許會pass XD!!4F 06/13 14:30
yr: 看起來是邊跑 in-order traversal 一邊弄就好?
  *寫錯, pre-order
如果可以改樹,好像直接左右交換就好5F 06/13 14:31
leslielion: OP了,之前有人推文過了8F 06/13 14:43
yr: 剛試過了,左右互換就好了 XD 不過面試會緊張,會想一些
有的沒有的,所以做出來的解不是最佳解也是很常見的啦9F 06/13 14:46
leslielion: 不過@mxcl也不是沒寫出來,只是答案不是面試官要的11F 06/13 14:48
erspicu: 這滿無聊的 就很像是找一個資深工程師考他高中某題數學年代久遠 如果不是工作常用到東西 該忘了的忘了 未必答對羞辱對方說 你的程度連高中生都不如 還說自己是資深RD
用google或是找書能找到答案的東西 浪費腦容量去裝
很多面是愛問 sort排序 或是 大學資結.alg之類的東西
這類問題丟給剛期中考完的大學生最適合不過12F 06/13 14:57
liddle: 這是專利論文還是可以google到的解法?亂無聊一把的,面試者心理要多黑暗才講的出口那段話。18F 06/13 15:02
yr: 那段話是 @mxcl 自己寫的吧, Google 面試者都有訓練過
雖然程度參差不齊,但是不至於會講出這種話20F 06/13 15:20
csfgsj: erspicu 正解
如果張忠謀去應徵自家公司的製程工程師,應該也是這種結果22F 06/13 16:21
一點淺見。

LeetCode 上的那題,tree 圖給了、資料結構也給了,
身為一個 programmer,按圖施工而已,跟張董跨職務的類比差多了。
Max 應徵的是 iOS development。
而且他有寫出來:https://twitter.com/mxcl/status/608786398267715584
[圖]
Max Howell
@mxcl
Google: 90% of our engineers use the software you wrote (Homebrew), but you can’t invert a binary tree on a whiteboard so fuck off.
 
應該是說,
Google 面對他這種實務經驗這麼豐富的人,
因為他沒有寫出學術派最佳解而打槍他是 Google 的損失,
但畢業太久應該不是可以用來作為擁有像 LeetCode 上那樣的資訊卻寫不出來的理由。

scars: 要類比的話 反轉二元樹問題本身難度應該只到國小數學
真正要看的 是在問題中你怎樣處理時間/空間資源24F 06/13 16:56
Luos: 有比bigO更快的方法嗎?26F 06/13 17:00
roron: 招募entry-level的大概也只能考演算法資料結構這種題目吧如果你是去應徵管理職,我相信他不會問這種問題
或是像ext4的作者Theodore Ts'o那種的去google應該也不會被問這種問題吧XD27F 06/13 17:05
LearnRPG: 不難 CS大二前就要會的東西 只是 面試跟這是兩回事31F 06/13 17:29
frank11118: 這根本是國中題,我想應該是面試官有更獨特的解法吧?32F 06/13 17:54
※ 編輯: changyuheng (111.241.102.215), 06/13/2015 18:03:52
lovdkkkk: 啊不, 可能不用換改樹的 API 就好
吐左邊跟吐右邊的互換, 舊 API 也不用改, 再包兩個就好33F 06/13 18:21
userid: 不知道有什麼隱情。如果是面試者說的,Google 有點傷。35F 06/13 19:21
ntddt: 推, 有趣36F 06/13 20:31
azureblaze: 救我所知G社的制度是Hiring Committee裡有人有疑慮
candidate就再見。這樣的問題寫不出來有疑慮應該正常該不該問有經驗的人這種題目就是另外的問題了
據說是因為以前hire過經歷豐富講話頭頭是道,
實際上工卻什麼也寫不出來的人37F 06/14 00:26
final01: 這裡怎麼都嘴炮哥...好像沒看到有幾個人給解法42F 06/14 00:50
azureblaze: 原po不是都已經給好幾種了43F 06/14 00:55
LearnRPG: 因為這篇又不是討論怎麼做 當然你可以開篇討論leetcode44F 06/14 06:42

--
作者 changyuheng 的最新發文:
點此顯示更多發文記錄