顯示具有 computer science 標籤的文章。 顯示所有文章
顯示具有 computer science 標籤的文章。 顯示所有文章

2018年11月30日 星期五

[第14週] 好像表現得不錯喔!?有希望!?Google Tech 電話面試心得!

今天是11/30,下午剛做完Google暑期實習的電話面試!趁著剛面試完,又有點作息不正常睡不著,來和大家分享面試心得。這篇是很長的面試心得,算是紀錄自己的點點滴滴,希望之後有機會再寫一篇簡短的分析文章!

時間回到上週六,剛結束7天的bus trip,一路從紐約玩到巴爾的摩,週六從巴爾的摩搭飛機回Boston又玩了一天。其實覺得玩得也夠了,可以好好念書了,雖然還是欠很多作業,但我心想星期五的Google面試我至少應該把握一下,至少不要愧對自己,不要因為自己準備不夠,即便看過類似的題目,也因為解題的時候不熟悉,所以被面試的人給不好的評價。

加上女友最近上了FB暑期實習的消息,讓我真的也好想完成自己的夢想,進Google實習。所以從星期一開始我就一直刷題,到週三週四我幾乎整天都在練習題目。除了看面經題(最近別人在一畝三分地上分享面試被問到的題目),上leetcode找出來然後刷兩遍之外,也把我以前在台灣時,寫的題目都拿出來重新寫一遍。我覺得人還是健忘的,加上我剛來美國也花很多時間在體驗美國的生活,學校有活動就去,有朋友揪就去玩,幾乎把之前刷的題都忘光光。在FB面試的時候,題目也不是很難,但因為腦子有點卡住,只給得出暴力解,面試官的提示我也沒好好聽懂,所以在面試的時候跌了個大跤,第一輪結束後就被拒絕了。當時覺得蠻難過的,但我現在想想就是因為沒複習,沒準備好到面試的狀態。因此,今天這場面試,我覺得算是自我挑戰或是對自己負責的一場,因為Google面試題庫超大,真的很難寫到一模一樣的,但我覺得題型會是類似,就要看臨場表現。總之,就抱著背水一戰的心情,想說好好把握這幾天可以為了Google intern打拼的三四天吧,至少把做過的複習熟一點,然後把一些面經題弄懂,再把一些似懂非懂的都寫一寫,反正也當做為明年找正職做準備。

當然,我面試前一天我還是超緊張,兩天喝了三包茶,我是那種一喝茶就睡不著的人,三包真的是用生命在換時間精神。昨天跟今天我幾乎全程都超緊張,喝茶補充咖啡因,會讓我到有種ㄎㄧㄤ ㄎㄧㄤ 的狀態。我覺得自己也是蠻弱的,一點點咖啡因搞得好像吸毒一樣。總之,這種狀態其實還不錯,會開始不緊張,然後頭腦變清楚,缺點是會一直很亢奮,睡不太著,總之,這個狀態下,寫程式就變成唯一舒緩不安還有躁動的心得方法。我後來真的是既緊張又興奮,一整個太嗨了,唯一能減患症狀的就是coding,感覺一直打題目練習就很舒壓而且覺得很踏實,我自己建立了一個google doc做練習,裡面至少寫了50題,超過60頁,全部都是我這兩天的成果,在文章最後也分享給大家。

總之,我真的是超緊張的也超興奮,因為後來越刷越多,就感覺越來越有把握,當然遇到難題的時候還是卡住,很想撞牆算了,因為真的卡好久,常常想自己是不是智商不夠,解不出這種難題。但我後來就想,至少我不是真的在面試裡遇到這題,至少我現在可以選擇把它弄懂或是take a risk賭一把不會考。但因為我很亢奮,有很多精神時間,後來我就把好幾題hard的解法都看懂了。我覺得也是很厲害,一個超愛耍廢的人可以這麼專心完成一件事。我當初還有另一個想法是,反正將來也要面試正職,不如就讓Google的這兩場面試來督促我練習。反正就是很想加入Google但又要找很多理由來說服自己就算失敗不要難過。其實我覺得失敗會難過很正常啊,畢竟都有努力過了,而且是自己很想要的完成的夢想。

今天面試前,我除了把所有這兩天寫的題目又想了一遍,也想了一下自我介紹之類的東西,也研究了一下interview的注意事項。我覺得interview其實跟自己一個人解題目不太一樣,自己上leetcode練習解題目目標是要通過所有測資,但電話面試是要跟你的面試官一起解問題,你要時時刻刻確定互相理解對方的想法,所以你可能講一陣子想法就要跟他確認一下他有沒有聽懂,或是他有其他預期的想法。Google 的面試通常都會給一段題目敘述,但不會給你很多細節,像是傳進來的資料的型態是什麼?會不會是空的array之類的?這些都要你自己去跟面試官討論。還有我覺得面試的時候,自己也要好好分配時間,最好有個時鐘可以看。

今天下午連續兩通45分鐘的電話面試,中間相隔15分鐘。第一通感覺是華人打來,他說他在Google map用街景圖建立3D模型,我覺得這個application超酷的,因為我也常常用Google Map,但每次看到3D畫面都以為是有人一個一個畫出來,或是用空拍的,但沒想到街景圖也行。他有請我自我介紹一下,然後問我的doctor bot project,問我有沒有用到tensorflow。面試題就不細講了,有簽保密,總之是個動態規劃(DP)題。我其實一開始沒把握解法,但用這兩天的經驗,我強烈得感覺這題應該要用DP,所以我確認完題目,就跟他講我大概的想法,還有粗略的概念。他人也超好的,我講完立刻幫我更正一個地方,也讓我之後寫code順利很多。寫code的時間有點趕,我也只能盡量寫,中間有一個重複的地方我沒寫,他說也沒關係。總之過程很順利,最後時間到剛好解完。因為我是站著把電腦墊高面試的,打到後來手一點麻,講話卡卡的,就直接跟他說我很緊張,他就說你做得很好不用緊張,結束他也再講了一次。

兩通電話中間有休息了15分鐘。這15分鐘,我就在房間裡到處扭來扭去,焦躁不已。時間到接下一通,是個歐洲人的感覺,我還不太會念他的名字,有點尷尬。但開場也還好,好像我聊我之前做過什麼,對將來進Google會有幫助,我就說我之前工作的WeMo Scooter內部全用Google的軟體,然後我用Google App Script開發了什麼什麼之類的。接著又是tech question,超幸運剛好我寫過類似題,雖然他把題目包裝成別的問題,但我前兩天的經驗已經是可以直覺反應,對,就是那題。但我還是先分析了暴力解(Brute Force, BF)的解法,接著提出優化解。講解的時候有點鬼打牆,把index跟value亂寫,但面試官人很好,他說他懂,而且他也覺得我自己會很快發現,對這個小錯他也輕鬆看待,感覺他很親切,人很好。我講解其中一部分的時候,我也偷用了點幽默感,我覺得聊的蠻愉快的啊,很多歡樂的一場面試。不過最後剩十分鐘,他好像一直想努力把題目改難,弄一個follow up出來問我,但好像又覺得他沒準備好,也給我太少時間了,就算了。最後他有給我時間問他問題,雖然超過45分鐘,他還貼他們的論文給我看XD 覺得蠻高深的。

總之,兩輪面完了,得到還不錯的感覺,不敢想之後發生什麼事,畢竟Google實習招生還有很多關卡要過,所以很難說。眼前的面試跟審查(Hiring Commitee, HC)都不知道會不會過,或是搞不好要多加一輪面試。但至少這個時間點,我的心裡還算是滿足的。想一想從一開始投履歷,到Google OA,拿到面試,然後花四天瘋狂刷題準備,到真的跟Google的員工一起解一個難的問題,我覺得很不容易了。第一題真的完全沒看過,就是我跟面試官一個一個想法這樣build出來的,第二題也是因為刷很多寫的時候也比較順利。我覺得不僅僅是把題目做出來,而是我遇到難題沒有自己先慌張,也可以很從容得和面試官討論,然後一步一步break down解出來,對我而言真的是很大很大的進步。聽到面試官對答案很滿意,我當下真的很感動。因為一直以來被拒都有某部分原因是自己準備不足,感覺自己好像不是很能focus在同一件事上面很久,遇到難題也常常跳過,或是覺得自己好像懂了。常常以為自己準備好了,但其實沒有。所以我覺得面試前真的要準備跟複習,面試的時候要好好跟面試官交流。不知道接下來的流程會怎樣,不敢想,多專心在作業上吧!Finger Cross!

分享我準備Google面試的筆記:

2018年10月28日 星期日

[第10週] UMass Amherst CICS 軟體工程師求職博覽會 - 2018 Fall Tech Jobs & Internships Fair (Career fair)

Career Fair 實況
(圖片來源UMass Amherst CICS Career Center)

照片位置:UMass Amherst, MA
拍照時間:September 27 , 2018

日記地點:Irvine, CA
日記時間:May 19, 2020


職業博覽會(Career Fair)對於想在美國找到工作的國際學生來說再重要也不過了,因為是一個很好的機會讓學生跟公司面對面,認識公司的人、也讓公司認識你。這次想跟大家分享我們學校的計算機科學院(Computer Science Department)主辦的Career Fair究竟如何?然後在下一篇文章介紹Career Fair的前中後該做些什麼。會主要以我的學系(College of Information & Computer Sciences, CICS)的角度出發,分享自身經歷,但我們學校也有其他學院的Career Fair,也是很好的找工作管道。

我們系上每年會舉辦兩次 Tech Jobs & Internships Fair,一次是在九月底,一次可能是二月底或是三月初,大概都是開學後的兩週到三週之後,讓學生有點時間做準備,像是改履歷(Resume)等等。UMass CICS的職涯中心(Career Center)的老師真的超級認真的,也會提供很多協助,像是Career Fair工作坊,一對一改履歷時間,等等。Career Fair通常在學校Campus Center地下室的大禮堂跟旁邊幾個小教室舉辦,會有30幾家大小公司來擺攤,秋季的Career Fair,大公司像是Google, Amazon, Dell, HP, Mathworks等等大概都會來,以及麻州的公司,像是Tripadvisor, HubSpot等等中小型公司。基本是就很像校園博覽會一樣,可以去各個攤位遞履歷,找攤位的職員聊天,也可以搜集公司的職缺資料,甚至是公司的紀念衣服、小贈品、貼紙(!?)哈哈! 

我覺得Career Fair會是很好的機會認識公司,像我一開始也不知道Arista Network,但因為去他們的攤位聊天,後來也有機會面試拿到實習跟全職面試跟Offer。但這也要看公司類型,像大公司招募流程就很固定,基本上網路申請跟Career Fair投履歷也差不多,甚至大公司來也沒有收履歷,還是要你上網申請。不過我會說,能當面跟一些工程師聊天還是不錯的,有機會更了解公司,也有機會讓公司更了解你。但還是要說,之前的工作經驗跟project經驗還是重要的,有了這些才更有機會被公司挑到,給你面試機會喔!