[心得] 學界轉業界...google面試洗臉心得

看板Soft_Job (軟體人)作者時間9年前 (2017/04/18 04:27), 9年前編輯推噓54(55190)
留言146則, 52人參與, 最新討論串1/8 (看更多)
看到最近的學界轉業界討論串很感慨, 因為自己就是付諸行動的其中一員。 過程冷暖自知,在成功轉職之前, 總是在思考自己這樣半途而廢, 到底是逃避還是有自知之明? 之前在本版發了一篇詢問下一步的文章, 在那之後,加入的校內CS系的機器學習實驗室, 並且收到了google recruiter的聯繫。 期間不僅在學習換領域的知識, 同時也得面對家庭方面的壓力(詳見婚姻版)。 雖然之後總算取得了先生的支持, 無奈自己不爭氣,沒把握住機會。 最近這半年投履歷的結果: 自己海投:很多很多(但沒投FLAG這種等級的) --> 完全沒下文 HR內推:google --> onsite (Boston) 之後被拒 背景: 美國數學PhD,做偏微分方程 非統計積率、非金融、非數值分析……就是很純很純的那種,用紙筆工作 數學系博後第三年。 Coursera自學Java, Python, R (目前最愛Java,最頭大的是R,覺得Python普普,可是很多公司愛用。) 以前號稱會C++,但是Java熟到一個程度之後,覺得C++水好深... 面試準備: Leetcode刷了大概250題。 以下都拿Leetcode上類似的題,原題就不說了… 電話面試:Combination Sum  (第一場、也是至今唯一的一場電面) 這題對本科系的人來說,可能小菜一碟。 但當時自己做得坑坑疤疤的, 加上電話雜音特別多, 寫code用的google doc一度變成打字對話板。 面完隔天HR打電話來約onsite, 並且告知feedback(總之就是一堆溢美之詞)。 但自己實在是被電面嚇到了, 於是問HR能不能把onsite約在一個月之後:「這樣會不會太晚?」 HR笑回:「對google來說,沒有太晚這件事。」 (好吧,我錯了,就結果來說,是太早了…嗚嗚嗚) onsite面試 一共五輪+午餐 (第一場、也是至今唯一的一場onsite) 第一輪:Alien Dictionary 第二輪:這題找不到類似的…大意是判斷兩句子是否同義。 第三輪:Fizz Buzz 第四輪:Continuous Subarray Sum 第五輪:Most Frequent Subtree Sum (意思不同,但工具一樣) 平心而論,題目都不難,聽完當下至少都白板寫完了初版。 只怪自己沒有好好把握,不夠有效率,又有bug。 再加上面試前兩天剛被google code jam輾過一輪,身心俱疲。 (以後若有其他面試機會,絕對不會再白目跑去玩比賽了…) 面試官們人都很好,透過談話自己也學了不少, 而且午餐也很貼心了安排了一個華人陪我(雖然我們還是講英文)。 面完一個禮拜之後,HR打電話來告知沒過, 但是安慰說:「You are in good shape.」又說咱們保持聯系,明年再試試。 (這種打擊自信的事情還要再來一次嗎><) 雖然早就有心理準備,但是真的聽到沒過的消息還是哭了一下。 畢竟整個過程都是第一次經歷,初戀分手總是特別難過的…… (這也是發這篇文的原因,用文字來療傷) 現在自己也很迷茫,不知道下一年要做什麼。 繼續待在目前的lab? 再申請個CS Ph.D. program (Ph.D.才有全額獎學金)? 破釜沉舟,無業自學? 還是趁暑假回台灣做實習?(我是真的很想看看業界在做什麼阿) 美國很多實習的職位都只給註冊在學的學生, 不知道台灣是不是也這樣子? 補充一下Fizz Buzz這題,老實說至今尚不太明白這題的重點。 題目:從1數到n,如果是3的倍數,print Fizz    如果是5的倍數,print Buzz    如果是15的倍數,print FizzBuzz    如果都不是,就print 數字本身 這題面試時寫了兩個版本 版本一 for(int i = 1; i<= n; i++){ if(i%15 == 0){ System.out.println("FizzBuzz"); continue; } 以下類推… } 版本二 for(int i = 1; i <= n; i++){ String result = ""; if(i%3 == 0) result += "Fizz"; if(i%5 == 0) result += "Buzz"; if(result.length() > 0) System.out.println(result); else System.out.println(i); } 自己是覺得兩個版本沒有本質上的區別,都是O(n), 而且用continue還可以減少if判斷次數。 但面試官大推第二個版本,他覺得continue不好,不應該使用。 想問一下,在業界continue、break是盡量不用的東西嗎? (我只知道goto是禁招...) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 24.177.245.51 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1492460824.A.D51.html ※ 編輯: Cauchy2008 (24.177.245.51), 04/18/2017 05:33:37

04/18 05:48, , 1F
能去google面試已經贏版上9成了好嗎 這樣有安慰到?
04/18 05:48, 1F

04/18 05:50, , 2F
goo.gl/VJuJQ6
04/18 05:50, 2F

04/18 05:50, , 3F
FizzBuzz: the Programmer's Stairway to Heaven
04/18 05:50, 3F

04/18 06:29, , 4F
今年google SWE已經freeze了,所以最近HC的bar非常高...
04/18 06:29, 4F

04/18 06:30, , 5F
前幾週被拒前HR打來說即使過HC到2018年前都沒有SWE的缺了
04/18 06:30, 5F

04/18 06:52, , 6F
他們是要看你的problem-solving skill 跟你的thinking
04/18 06:52, 6F

04/18 06:53, , 7F
process 正確解題也不見得能夠讓面試官信服你有能力面對
04/18 06:53, 7F

04/18 06:53, , 8F
不知答案的問題
04/18 06:53, 8F

04/18 06:53, , 9F
goto? unix 上天天都見啊.
04/18 06:53, 9F

04/18 06:57, , 10F
而第二題比第一題正解多了吧. 3X5=15.....
04/18 06:57, 10F

04/18 06:57, , 11F
第二種擴充和修改都比較容易
04/18 06:57, 11F

04/18 06:58, , 12F
04/18 06:58, 12F

04/18 07:04, , 13F
Linux kernel一堆continue跟goto的
04/18 07:04, 13F

04/18 07:06, , 14F
他第一題沒把全部打出來啦
04/18 07:06, 14F

04/18 07:07, , 15F
減少branch是對的 不過這邊影響不大啊
04/18 07:07, 15F
對,那時面試官說要一種減少if數的寫法,所以才又給他第二版

04/18 07:14, , 16F
我不懂 你是剛換領域 要看業界可以先進軟體業
04/18 07:14, 16F
問題是進不了T_T 除了google,沒有其他面試了…

04/18 07:15, , 17F
一下就因為被google拒絕而挫折 這樣換得了領域?
04/18 07:15, 17F
※ 編輯: Cauchy2008 (24.177.245.51), 04/18/2017 07:32:37

04/18 07:35, , 18F
Goto不是禁招,遇到錯誤結束程序就很適合用goto
04/18 07:35, 18F

04/18 07:46, , 19F
我覺得你很厲害了,加油!
04/18 07:46, 19F

04/18 07:51, , 20F
其實部分大公司反而對轉專業的更友善吧 面過很多小的
04/18 07:51, 20F

04/18 07:51, , 21F
考更多fundamental
04/18 07:51, 21F

04/18 07:51, , 22F
感覺原po很強啊 加油!
04/18 07:51, 22F

04/18 07:51, , 23F
goto 統一出口很好用的說
04/18 07:51, 23F

04/18 07:56, , 24F
區域變數 ....result出去無法呼叫
04/18 07:56, 24F

04/18 07:56, , 25F
再加油吧!
04/18 07:56, 25F
什麼意思@@ 這題是要print一串東西, 整個for是被包在一個static function裡面。 (因為想問的是for的事情,外皮的function和class就省略了) 不需要從外面call result

04/18 08:02, , 26F
沒錯 90%都用不到
04/18 08:02, 26F

04/18 08:03, , 27F
但是當你要用到那10%時 就會覺得當初屨及好好學了QQ
04/18 08:03, 27F

04/18 08:03, , 28F
應該orz
04/18 08:03, 28F
※ 編輯: Cauchy2008 (24.177.245.51), 04/18/2017 08:08:24

04/18 08:06, , 29F
有可能問題都太簡單或考古題太多 看不出鑑別度被拒了
04/18 08:06, 29F

04/18 08:09, , 30F
第1題你如果用if /else if /else if /else
04/18 08:09, 30F

04/18 08:09, , 31F
這樣就不用continue了吧?
04/18 08:09, 31F

04/18 08:09, , 32F
建議你多找內推繼續投 被G拒連本科生都很正常吧XDD
04/18 08:09, 32F

04/18 08:10, , 33F
另外我個人覺得數學好做ML滿吃香的 CS很多學生都沒
04/18 08:10, 33F

04/18 08:11, , 34F
這種數學底子
04/18 08:11, 34F
還有 72 則推文
還有 1 段內文
04/18 13:29, , 107F
在學校通常是先用Matlab跑小數據,再翻成C++在雲端平
04/18 13:29, 107F

04/18 13:29, , 108F
行計算...其實我沒有熱愛Python的原因跟Matlab相似,
04/18 13:29, 108F

04/18 13:29, , 109F
這樣只好練C++了
04/18 13:29, 109F

04/18 13:37, , 110F
如果用java是為了效率可以理解,但python底層的package,
04/18 13:37, 110F

04/18 13:38, , 111F
是用C/c++寫的,實際執行不見得慢多少,真要遇到大數據,也是
04/18 13:38, 111F

04/18 13:39, , 112F
可以在hadoop/Spark底下執行...
04/18 13:39, 112F

04/18 16:09, , 113F
喜歡JAVA風格又數學很好 那當然投入Scala的函數式懷抱囉
04/18 16:09, 113F

04/18 16:47, , 114F
你的背景能夠加入到機器學習非常吃香啦 我自己本身應數
04/18 16:47, 114F

04/18 16:47, , 115F
碩士 念最佳化的
04/18 16:47, 115F

04/18 16:48, , 116F
做兩年android 現在轉機器學習相關工作,真的開心很多
04/18 16:48, 116F

04/18 16:48, , 117F
雖然要重K一些數學 還有papareXD
04/18 16:48, 117F

04/18 18:27, , 118F
感謝p大 有點sense了
04/18 18:27, 118F

04/18 19:57, , 119F
很純很的純數組,機器學習會很吃香嗎?還是我對純數組有些
04/18 19:57, 119F

04/18 19:57, , 120F
誤會
04/18 19:57, 120F

04/18 20:54, , 121F
管他什麼組,機器學習的東西讀得懂就吃香,讀不懂就吃屎
04/18 20:54, 121F

04/18 21:09, , 122F
純數組的優勢嘛...大概只有對「感覺複雜」的buffer拉
04/18 21:09, 122F

04/18 21:09, , 123F
很高,很多統計的東西還是得補,程式得練
04/18 21:09, 123F

04/18 21:14, , 124F
自己是覺得寫程式的感覺和寫paper很像,把大問題拆成
04/18 21:14, 124F

04/18 21:14, , 125F
很多小定理,再從主證明去呼叫它們;如果有很多類似
04/18 21:14, 125F

04/18 21:14, , 126F
表現的東西,就給它們一個class,再規範運作細節
04/18 21:14, 126F

04/18 22:08, , 127F
很純的PDE 是指像Caffarelli、Nirenberg等人在做的那種嗎?
04/18 22:08, 127F

04/18 22:11, , 128F
非線性elliptic PDE;free boundary之類的?
04/18 22:11, 128F

04/18 22:33, , 129F
樓上內行!關鍵字除了free boundary以外全中
04/18 22:33, 129F

04/18 23:41, , 130F
跪一下 純橢圓方程高手養成不易 文章看來是鐵了心要轉行
04/18 23:41, 130F

04/18 23:41, , 131F
預祝順利
04/18 23:41, 131F

04/19 05:21, , 132F
能去google面試已經是人中之龍了
04/19 05:21, 132F

04/19 21:42, , 133F
真心覺得大材小用...
04/19 21:42, 133F

04/21 07:58, , 134F
如果想了解業界,台灣軟體公司的正職可以試試,非實習
04/21 07:58, 134F

04/21 08:29, , 135F
如果他又加了個7的倍數你是不是又要多寫21,35,105?
04/21 08:29, 135F

04/21 08:53, , 136F
唉 英文真的要練惹
04/21 08:53, 136F

04/23 12:22, , 137F
台灣的軟體工作就不太需要考慮了... 連 Leetcode 都不考
04/23 12:22, 137F

04/23 12:22, , 138F
想找實習 在美國找找看吧 @@
04/23 12:22, 138F

04/25 02:35, , 139F
機器學習還是python一支獨秀
04/25 02:35, 139F

05/01 02:57, , 140F
竟然沒人用case解?
05/01 02:57, 140F

05/01 03:00, , 141F
((n%3) << 1) & (n%5) case 0,1 ,2,3,*
05/01 03:00, 141F

05/01 04:57, , 142F
突然想起,寫錯啦!
05/01 04:57, 142F

05/01 04:59, , 143F
改這樣: (((n%3)>0) << 1) | ((n%5)>0)
05/01 04:59, 143F

05/01 05:01, , 144F
後來看回文才發現有類似解法
05/01 05:01, 144F

05/01 05:02, , 145F
咦,還是錯,==0才對。該睡了
05/01 05:02, 145F

08/08 21:12, , 146F
樓上...
08/08 21:12, 146F
文章代碼(AID): #1OzIKOrH (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1OzIKOrH (Soft_Job)