Soft_Job 板


LINE

看到最近的學界轉業界討論串很感慨, 因為自己就是付諸行動的其中一員。 過程冷暖自知,在成功轉職之前, 總是在思考自己這樣半途而廢, 到底是逃避還是有自知之明? 之前在本版發了一篇詢問下一步的文章, 在那之後,加入的校內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是禁招...) --
QR Code



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 24.177.245.51
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1492460824.A.D51.html ※ 編輯: Cauchy2008 (24.177.245.51), 04/18/2017 05:33:37
1F:推 fishfish1314: 能去google面試已經贏版上9成了好嗎 這樣有安慰到? 04/18 05:48
2F:→ n3oanderson: goo.gl/VJuJQ6 04/18 05:50
3F:→ n3oanderson: FizzBuzz: the Programmer's Stairway to Heaven 04/18 05:50
4F:推 saiba: 今年google SWE已經freeze了,所以最近HC的bar非常高... 04/18 06:29
5F:→ saiba: 前幾週被拒前HR打來說即使過HC到2018年前都沒有SWE的缺了 04/18 06:30
6F:推 drajan: 他們是要看你的problem-solving skill 跟你的thinking 04/18 06:52
7F:→ drajan: process 正確解題也不見得能夠讓面試官信服你有能力面對 04/18 06:53
8F:→ drajan: 不知答案的問題 04/18 06:53
9F:→ Lordaeron: goto? unix 上天天都見啊. 04/18 06:53
10F:→ Lordaeron: 而第二題比第一題正解多了吧. 3X5=15..... 04/18 06:57
11F:→ cha122977: 第二種擴充和修改都比較容易 04/18 06:57
12F:推 drajan: https://goo.gl/ifbL2v 04/18 06:58
13F:推 amatt: Linux kernel一堆continue跟goto的 04/18 07:04
14F:推 stosto: 他第一題沒把全部打出來啦 04/18 07:06
15F:→ stosto: 減少branch是對的 不過這邊影響不大啊 04/18 07:07
對,那時面試官說要一種減少if數的寫法,所以才又給他第二版
16F:推 bemyself: 我不懂 你是剛換領域 要看業界可以先進軟體業 04/18 07:14
問題是進不了T_T 除了google,沒有其他面試了…
17F:→ bemyself: 一下就因為被google拒絕而挫折 這樣換得了領域? 04/18 07:15
※ 編輯: Cauchy2008 (24.177.245.51), 04/18/2017 07:32:37
18F:→ shnobi: Goto不是禁招,遇到錯誤結束程序就很適合用goto 04/18 07:35
19F:推 sunpedro0202: 我覺得你很厲害了,加油! 04/18 07:46
20F:推 steve1012: 其實部分大公司反而對轉專業的更友善吧 面過很多小的 04/18 07:51
21F:→ steve1012: 考更多fundamental 04/18 07:51
22F:→ steve1012: 感覺原po很強啊 加油! 04/18 07:51
23F:推 A4P8T6X9: goto 統一出口很好用的說 04/18 07:51
24F:推 Sex5F: 區域變數 ....result出去無法呼叫 04/18 07:56
25F:→ Sex5F: 再加油吧! 04/18 07:56
什麼意思@@ 這題是要print一串東西, 整個for是被包在一個static function裡面。 (因為想問的是for的事情,外皮的function和class就省略了) 不需要從外面call result
26F:→ za755188: 沒錯 90%都用不到 04/18 08:02
27F:→ za755188: 但是當你要用到那10%時 就會覺得當初屨及好好學了QQ 04/18 08:03
28F:→ za755188: 應該orz 04/18 08:03
※ 編輯: Cauchy2008 (24.177.245.51), 04/18/2017 08:08:24
29F:推 cjSucks: 有可能問題都太簡單或考古題太多 看不出鑑別度被拒了 04/18 08:06
30F:推 fishlinghu: 第1題你如果用if /else if /else if /else 04/18 08:09
31F:→ fishlinghu: 這樣就不用continue了吧? 04/18 08:09
32F:→ fishlinghu: 建議你多找內推繼續投 被G拒連本科生都很正常吧XDD 04/18 08:09
33F:→ fishlinghu: 另外我個人覺得數學好做ML滿吃香的 CS很多學生都沒 04/18 08:10
34F:→ fishlinghu: 這種數學底子 04/18 08:11
關於避免用continue,那時還寫了一個第一版的變形 if(AA && BB) 這種,四個if寫完收工(面試官無言…) 我覺得他心目中的解答是第二版,然後我剛開始一直沒抓到他要的。 那時其實很慌:到底為什麼要糾結在這題這麼久!! ※ 編輯: Cauchy2008 (24.177.245.51), 04/18/2017 08:16:19
35F:→ fishlinghu: 阿不過可能是統計機率比較相關啦 04/18 08:11
36F:推 steve1012: 這題跟區域變數有啥關聯? 04/18 08:13
37F:推 bcew: 版本一會多做一次%15又多一次branch判斷 04/18 08:28
38F:噓 WangDaMing: 要去g面試不難啊!能上才難好嗎 04/18 08:30
39F:推 doranako: 有美國數學phd很強,在美國金融跟軟體都很多人要,我覺 04/18 08:43
40F:→ doranako: 得可以繼續嘗試 04/18 08:43
41F:推 paint: 感謝分享 大家學歷好高啊 04/18 09:23
42F:→ Murasaki0110: fizzbuzz leetcode上面不是有嗎 怎還寫出第一種 04/18 09:38
43F:推 maxqq: 遞迴... 04/18 09:53
44F:→ ssccg: 感覺差最多的在擴充性吧,再多別的數的倍數要加的if數量.. 04/18 10:03
45F:→ maxqq: 貼錯文 04/18 10:04
46F:→ wens: linux kernel 的 goto 幾乎都是 exit path, 不是亂用的 04/18 10:08
47F:推 chenxiaowoo: 對google沒有禁招~只有好跟不好,至於第二個版本在面 04/18 10:41
48F:推 mecumi: 只有我覺得第一個比較簡單易懂嘛XD 04/18 10:42
49F:→ chenxiaowoo: 試官的眼裡比較好,是因為簡潔、邏輯清楚(歐美邏輯 04/18 10:42
50F:推 physheepy: 我看到你第一種解法的第一個想法就是WTF 本身有維護過 04/18 11:15
51F:→ physheepy: 大型專案程式碼 有些寫法雖然沒有錯 複雜度也沒比較高 04/18 11:16
52F:→ physheepy: 但會讓原作者以外的人看的很痛苦 建議你試做看看專案 04/18 11:18
53F:→ physheepy: 你可能會比較有感覺 04/18 11:19
54F:推 ahli: 可以請問一下第一種解法不好看的點嗎? 04/18 11:36
55F:→ ahli: 以前被code review的人講過類似的點 但不太清楚@@ 04/18 11:37
56F:推 ggttoo44: 別用string因為太多暫存記憶體會導致頻繁GC改成stringbu 04/18 11:39
57F:→ ggttoo44: ff然後else if從15開始到3。 04/18 11:39
58F:→ remmurds: 我也很好奇continue到底哪裡不好 難道一串else-if就一定 04/18 11:41
59F:→ remmurds: 比較好嗎? 04/18 11:41
60F:推 ggttoo44: if(n%15==0){}else if(n%5==0){}else if(n%3==0){}從大 04/18 11:44
61F:→ ggttoo44: 到小類似這樣 04/18 11:44
62F:推 ahli: 條件的順序我也是寫15->5->3 (不用continue的話) 04/18 11:50
63F:推 steve1012: 第二個蠻漂亮的吧 第一個每個條件裡面都要print? 要是 04/18 11:57
64F:→ steve1012: 很多條件會蠻多重複的code? 04/18 11:57
65F:推 WashFreeID: if順序 15->3->5 判斷次數會比較少吧 04/18 11:59
66F:→ WashFreeID: 然後用length==0明顯不好 要用empty吧 04/18 12:00
67F:→ WashFreeID: 最後print那邊也可以改用三元運算子 一點小看法... 04/18 12:00
68F:推 physheepy: 第一個解法不好看的原因: 當我閱讀到continue 我知道有 04/18 12:02
69F:→ physheepy: 一長串code在某些狀況下會被略過 當我想要詳細了解什麼 04/18 12:03
70F:→ physheepy: code會被略過 我必須把整個loop很仔細全看過 而當我想 04/18 12:04
71F:→ physheepy: 加入一段新的程式碼 我會開始困惑 到底該從哪插入 才不 04/18 12:04
72F:→ physheepy: 造成bug 當你寫的程式很大 loop裡面呼叫許多其他函式 04/18 12:05
73F:→ physheepy: 這些函式又內含許多loop裡面一堆continue 你會被搞得 04/18 12:06
74F:→ physheepy: 暈頭轉向 大罵到底是誰寫出這種無俚頭的結構 04/18 12:07
75F:→ physheepy: 寫這種小程式 你看不出來continue的問題在哪很正常 04/18 12:09
76F:→ physheepy: 參與一些稍微有規模的專案 吃過幾次虧 就會知道什麼結 04/18 12:10
77F:→ physheepy: 構會讓人抓狂 補充:要如何判斷一段程式碼結構好不好? 04/18 12:10
78F:→ physheepy: 當你一個月後回去看 還能一眼看懂當初在寫啥 那你就算 04/18 12:11
79F:→ physheepy: 成功了 我現在寫code都會盡量要求自己做到這點 04/18 12:11
80F:→ physheepy: 另外 continue 不是不能用 是沒必要的時候少用 04/18 12:13
81F:推 kita: 不太懂, 如果今天要改成15倍數印"FB",或要加進14倍數 04/18 12:25
82F:→ kita: 第二種寫法有比較好擴充嗎? 04/18 12:25
83F:→ javatea: 不好看的原因是不需要用continue 還用continue 04/18 12:27
84F:→ javatea: 寫四個 if-elif 這還ok吧 = =跟大型專案洨的沒關係 04/18 12:28
85F:推 jj0321: 好害羞 專案洨 >////< 04/18 12:29
86F:→ javatea: 像那種講一堆話 但重點只有一句的 維護起來會比較頭疼 04/18 12:29
87F:推 kita: 用continue跟改用else不是差不多的邏輯嗎? 04/18 12:31
88F:推 kita: 其實想問,不懂題目的重點,不能直接問面試官嗎? 04/18 12:35
89F:推 fishlinghu: 說真的我覺得if else比較好看懂吧 一看就知道4 cases 04/18 12:39
90F:→ fishlinghu: 倒是string那種寫法 還要仔細看一下string如何相加 04/18 12:39
91F:推 O187: 取餘數要花時間,所以版本一不好 04/18 12:52
92F:→ marsyang1: break or 直接return常用,因為能判斷早點出迴圈,con 04/18 12:59
93F:→ marsyang1: tinue 不常使用。 04/18 12:59
94F:→ remmurds: physheepy講的東西比較像是open close principal沒做好 04/18 13:05
95F:→ remmurds: 跟用不用continue沒啥關係 04/18 13:06
96F:推 javatea: 做大型專案看不出來這東西根本不需要continue? 然後在錯 04/18 13:08
97F:→ javatea: 誤的認知下去分析一堆東西 這我也是醉了 04/18 13:08
98F:→ javatea: 今天這非多大的東西, 就事論事本來就是一個工程師本分= = 04/18 13:10
99F:推 vfgce: 呃,數學底子卻對R苦手? 我是不是誤會什麼了.... 04/18 13:14
100F:推 vfgce: 進機器學習,結果最熟java,R及python不在行..... 04/18 13:20
101F:→ Cauchy2008: R很亂(對不起...)我喜歡Java這種風格 04/18 13:20
102F:→ vfgce: 您數學底子做機器學習是大加分,但工具..... 04/18 13:21
103F:推 vfgce: 以CS的角度看,R當然很不易入門,但R的資料格式適合資料分析. 04/18 13:25
104F:→ vfgce: 語法簡潔,頭腦清楚的,幾行R就可以做java數十行才能做的計算 04/18 13:26
105F:→ vfgce: 若您喜歡語法嚴謹,接近CS領域的,那也該選python 04/18 13:26
106F:推 vfgce: java在機器學習領域不易使用啊.... 04/18 13:29
107F:→ Cauchy2008: 在學校通常是先用Matlab跑小數據,再翻成C++在雲端平 04/18 13:29
108F:→ Cauchy2008: 行計算...其實我沒有熱愛Python的原因跟Matlab相似, 04/18 13:29
109F:→ Cauchy2008: 這樣只好練C++了 04/18 13:29
110F:推 vfgce: 如果用java是為了效率可以理解,但python底層的package, 04/18 13:37
111F:→ vfgce: 是用C/c++寫的,實際執行不見得慢多少,真要遇到大數據,也是 04/18 13:38
112F:→ vfgce: 可以在hadoop/Spark底下執行... 04/18 13:39
113F:推 drajan: 喜歡JAVA風格又數學很好 那當然投入Scala的函數式懷抱囉 04/18 16:09
114F:→ artopll: 你的背景能夠加入到機器學習非常吃香啦 我自己本身應數 04/18 16:47
115F:→ artopll: 碩士 念最佳化的 04/18 16:47
116F:→ artopll: 做兩年android 現在轉機器學習相關工作,真的開心很多 04/18 16:48
117F:→ artopll: 雖然要重K一些數學 還有papareXD 04/18 16:48
118F:推 ahli: 感謝p大 有點sense了 04/18 18:27
119F:推 Sunal: 很純很的純數組,機器學習會很吃香嗎?還是我對純數組有些 04/18 19:57
120F:→ Sunal: 誤會 04/18 19:57
121F:→ ACMANIAC: 管他什麼組,機器學習的東西讀得懂就吃香,讀不懂就吃屎 04/18 20:54
122F:→ Cauchy2008: 純數組的優勢嘛...大概只有對「感覺複雜」的buffer拉 04/18 21:09
123F:→ Cauchy2008: 很高,很多統計的東西還是得補,程式得練 04/18 21:09
124F:→ Cauchy2008: 自己是覺得寫程式的感覺和寫paper很像,把大問題拆成 04/18 21:14
125F:→ Cauchy2008: 很多小定理,再從主證明去呼叫它們;如果有很多類似 04/18 21:14
126F:→ Cauchy2008: 表現的東西,就給它們一個class,再規範運作細節 04/18 21:14
127F:推 Aweil: 很純的PDE 是指像Caffarelli、Nirenberg等人在做的那種嗎? 04/18 22:08
128F:→ Aweil: 非線性elliptic PDE;free boundary之類的? 04/18 22:11
129F:→ Cauchy2008: 樓上內行!關鍵字除了free boundary以外全中 04/18 22:33
130F:推 Aweil: 跪一下 純橢圓方程高手養成不易 文章看來是鐵了心要轉行 04/18 23:41
131F:→ Aweil: 預祝順利 04/18 23:41
132F:→ eva19452002: 能去google面試已經是人中之龍了 04/19 05:21
133F:→ sayya2311: 真心覺得大材小用... 04/19 21:42
134F:推 aacs0130: 如果想了解業界,台灣軟體公司的正職可以試試,非實習 04/21 07:58
135F:推 k47100014: 如果他又加了個7的倍數你是不是又要多寫21,35,105? 04/21 08:29
136F:推 Csongs: 唉 英文真的要練惹 04/21 08:53
137F:推 popoblue: 台灣的軟體工作就不太需要考慮了... 連 Leetcode 都不考 04/23 12:22
138F:推 popoblue: 想找實習 在美國找找看吧 @@ 04/23 12:22
139F:推 brian980466: 機器學習還是python一支獨秀 04/25 02:35
140F:推 sppmg: 竟然沒人用case解? 05/01 02:57
141F:→ sppmg: ((n%3) << 1) & (n%5) case 0,1 ,2,3,* 05/01 03:00
142F:推 sppmg: 突然想起,寫錯啦! 05/01 04:57
143F:→ sppmg: 改這樣: (((n%3)>0) << 1) | ((n%5)>0) 05/01 04:59
144F:推 sppmg: 後來看回文才發現有類似解法 05/01 05:01
145F:→ sppmg: 咦,還是錯,==0才對。該睡了 05/01 05:02
146F:推 HowLeeHi: 樓上... 08/08 21:12







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Tech_Job站內搜尋

TOP