2020Q3 軟體工程實習面試紀錄

前言

2020過了四分之三,這年面臨自己比較大的轉變:以不相關的科系轉向資工。這一年受到好多人的幫助,做了很多努力,也遇到疫情造成數十年不見的衝擊。因為疫情影響,有一個再次redirect的短暫時間,紀錄一下這段時間做過的事情。

我的2019,上半年在營造現場學習,下半年則是專心準備國考,視為對大學時期自己的一個交代。考完後,曾經歷一段比較迷惘的階段:人生不斷在走「和別人不一樣的路」,卻一再地經過現實洗磨後,發現自己想達成的理想,照這樣下去達不到。決定要唸研究所,想要轉向資管(推甄入學放棄的志願),因為大四被謝主任的BIM課啟發、大五在瑞典修Internation Business後,終於理解管理公司的價值,加上資訊的能力,應該很厲害吧!在資管系的老師們解說與建議下,我似懂非懂地了解資管和資工的差別,以及老師聽完我的經歷後,建議我比較適合讀資工,開始我轉職的路。我打算這幾(5+)年多鑽研技術的部份,工作穩定後再來發展管理能力。11月底下,才發現現在說「資工很競爭」到底是多麼可怕,台大資工考試、國外資工研究所動輒千人報考/申請,更別說相關系組雨後春筍般地飛漲。

很幸運地,從12月開始拼了命地準備,最後美夢成真,獲得美國大學的offer。原本以為這就是故事的happy ending,八月就能飛到美國開學,豈料疫情震動了世界,期待到美國可以和同學、老師建立人脈,到各地遊歷,以及爭取在軟體工程最好的工作機會,如今這些能否實現,都是未知數。去與不去的優缺點旗鼓相當,掙扎許久後,最終還是決定延一個學期出國讀書。

也因此,開始我在還沒站穩就試著要跑的求職歷程了!這一年來,我總是在不怎麼充足的時間下,嘗試不太可能的事情,很大一部分源自於家人給予的鼓勵(慫恿)和支持,包括心理上和物質上。如果沒有他們的堅定的勸進,我可能事情都花七分力來做,躺在家裡很舒服,但一天一天被別人超越。考慮未來想在國外工作三五年,現在找工作的目標是在國外應徵會加分的經歷,因此以跨國公司為主;儘管美國疫情與政局不明朗,還是以明年春季入學為前提,找尋可以接受3~4個月的實習工作。

履歷準備

去年底申請學校時,已經做過履歷,我只有更新現況、將一些比較和學術相關的項目刪減。最開始寫履歷時,得到同學推薦Princeton的履歷撰寫指引(參考這裡),其中包括最基本的不該放照片,怎麼寫學歷、校內外經歷、語句範例都有很好的介紹,讓我大幅修正自己寫履歷的方式。我沒有什麼亮眼的經歷,帶著這份履歷投職缺時,說真的,心驚膽戰。

尋找職缺、參加就業博覽會

職缺管道

我有使用LinkedIn尋找工作,也有在104開放履歷。另外,今年八月中,CakeResume也舉辦了實體的2020 Summer Tech Career Fair,在臉書廣告投很大,我天天都看到。我覺得,104和LinkedIn比較會看到中小企業和新創的職缺資訊,跨國大型公司如Google微軟,或台灣大型公司(其實也是跨國公司)如台積電、華碩會在自己的網站開職缺,即使他們參加就業博覽會,或在CakeResume開職缺,多會link回自己的網站招募系統填資料、收履歷。在公司網站看職缺,可以了解更多資訊,甚至能從職缺分佈猜測team正在做的專案類型。(如:Amazon

2020 Summer Tech Career Fair

如果不算在椰林大道擺攤的就業博覽會(只記得那時沒有人要土木系畢業生QQ),這是我第一次參加Career Fair。據說要帶著自己的履歷和HR聊天,為了這個我去買了一件比較正式的襯衫,而且非常緊張,一度覺得還是不要去算了?

其實到現場就是成功的一半了,拋開害怕失敗的恐懼總會帶你到更好的境界。那天和參與的HR聊天,也了解到有些公司可能只缺前端或後端、想招新人或職場老手;你也可以從聊天中聽出來,小公司或新創在乎你做過什麼什麼案子、會哪個具體的語言、框架,想要找即戰力。我和其中一間新創的HR聊了一下,她發現我會C++,但開發語言都不熟以後,就直言我是還沒有準備好工作。相較之下,大公司即使知道你很菜很新,還是願意評估你的抽象能力,從聊天過程也了解到面試過程,感覺比較貼近leetcode上的題目,大有「你是菜逼八沒關係,但我想知道你的資質值不值得我們培育」的態勢。在此要特別感謝華碩的HR,即使沒有立即適合的缺,還是用很重視我的態度把我拉到一旁1 on 1 talk,給我接下來唸書方向,還有對AI、產業狀況的一些觀點。

另外,透過聊天可以了解到,台灣公司如果不是自己建徵才系統,大多還是透過104徵才,即使最富創造力、變化快速的軟體公司、新創也是如此。很多新創都說,是因為要參加這次的career fair,才使用Cake Resume的職缺平台。聽起來這場就博是Cake Resume想要進軍徵才市場的線下活動,後續會不會帶來徵才管道的變動,讓我們看下去。

結果

我最後透過 Tech Career Fair 獲得趨勢科技Temp (派遣) 的測試工程師實習面試,以及在微軟網站投遞,獲得AI R&D Center實習的面試。

趨勢科技面試

這個team做的是一個可攜式的離線掃毒工具,想要做一個管理界面,除了測試,也會了解整個專案的運作。公司使用Codility平台,在到公司面試前有三道技術題,要在面試前完成,使用Python。我從來沒寫過Python,那週末就在cram,用一個不熟悉的語言寫題目,還好題目本身不是太難,完成了。

到公司面試時,第一關是現場測驗,也是使用Codility平台。然而開始測驗以後才發現,這裡不是考算法的技術題,比較多是想了解你有沒有測試、Linux等相關經驗(我還在測試前問HR如果不會Python能不能在考試過程上網查)。

第二關就是用人單位(做這產品team)的leader和技術人員來面試,最重要的部份。他們先花了一些時間改我表現得不怎麼樣的測驗,但也沒有對測驗結果給feedback。我在這個階段學到很多。一方面,這是我第一次接觸大公司開發專案的人,所以我透過他們的介紹,了解他們公司組織相對扁平,專案數目比我想像的還多,每個開發團隊的組成如何等等。當然,還是能親身體驗最好啦!另一方面,大概因為也沒什麼其他的好問,他們問了很多履歷上的問題,主要是我在履歷上寫的專案經歷。剛起步的我,沒有什麼值得說嘴的成果,有些預計要寫的程式,最後也沒什麼成果。有個瑞典因為興趣來寫的網頁程式,最後因為學期結束沒有繼續做了。面試官問我現在會不會想要把這個專案再拿起來完成,我說因為當時需要這個程式的需求已經不存在了,所以我傾向開始新的專案。最後我請面試官給我整體的面試feedback時,他委婉地說我受到很多限制,所以每個coding專案最後都沒有完成,但總歸來說就是很可惜,沒有一個成果,我估計大概也因為這樣,他也沒辦法多問我什麼。這是我很深刻的挫折:過去我很多事情,都是時間到了就結案、就放手,碰到問題時沒有足夠的動機克服它,理由可以很多:那時候寫程式只是興趣、沒有人可以給我幫助、知識量也不夠。可是結果就是沒有結果,面試一多問兩句就講不出東西,很現實的一問就倒,有跟沒有的差距赤裸裸地呈現在眼前。他也問了我的就學狀況、預計可以做到什麼時候等基本問題。

最後是HR來問問對整個面試流程是否滿意,以及一些行政的細節,例如大概什麼時候會有結果、有沒有在應徵其他公司,還有提問的時間。來面試這個職缺的人次比我想像的還多,他們好像這個職位好像也只開一個缺,所以機會比我想像的還渺茫(是有多低估台灣資工產業的人才數量)。

整個面試過程比我想像的還要漫長、還要耗費精力,加上和面試官對話後,發現自己不足的地方、該改變的態度,那天晚上回家躺在床上動也不想動。但我很感謝這次經驗,很想要謝謝這個team花了快兩個小時在和我聊、試探我的優缺點,刺激我思考、知道自己缺什麼,也修正自己的態度,開始把以前亂做的專案重新拿起來,「做完」才是終點。

微軟AI R&D Center面試

微軟的面試流程比趨勢還多一關,首先有一次視訊的一小時phone interview,之後過了一個多禮拜後,才獲得通知,安排約三小時的on-site interview。然而不管是phone或是on-site,面試都是由約一小時的session組成,每個session都是該team不同的成員與我進行一對一的面試。

先說結論,我非常喜歡微軟面試的安排,每一次的面試都讓我覺得不管最後有沒有上,能走過這一輪太值得了(包括進到漂亮的辦公室)。因為每個面試都是由member各自作面試官,session裡面的內容、順序安排都不太一樣,也可以感受到每個面試官用不同方式試探你的個性、能力。tech interview的同一個題目,都會從簡單的解法開始,如果達成後再漸漸要求降低時間與空間複雜度,同一個問題可以有不同的解法,面試官會根據你的回答調整他問的問題。我覺得這樣開放的問題對雙方都很好,受試者可以有更多空間展現自己多面向的能力以及思考的流程,對僱用者而言,也可以避免受試者可能就剛好刷過這個題目,但其實綜合能力不足的風險。可能因為這是入門職缺,tech的問題都沒有太難,圍繞在array就可以解的範圍,以及各種sorting(重要重要)的複雜度和變化,倒是我太緊張,看到題目的第一瞬間幾乎都答不出來。面試官都會先花一段時間做蠻認真的自我介紹,這也是讓我覺得面試經驗很好的重要的component。

第一個phone interview先進行一段英文自我介紹,接下來約40分鐘都在做tech review的討論。用的是MS的Teams做通訊軟體(後來發現他們的會議室有配置很好的相應硬體),和一個同步的文字編輯器(相當於白板)。開始自我介紹時和最後約五分鐘的時間,面試官都會讓你問問題,了解他也了解公司,我主要想知道team在做什麼、後續面試流程,也問他我最好奇的工作型態與小組如何分工。技術題是給定一個有負有正的已排序整數數列,如何在最短時間獲得已排序的平方後整數數列。

大概隔快兩個禮拜,才收到on-site面試邀請,並且約了再下一個禮拜面試。台北微軟在市政府站的國泰置地廣場,不得不說雖然預期跨國大公司的辦公室會很漂亮,實際到訪時還是很驚豔!科技感的玻璃隔間,配上深色溫暖的地毯、繽紛且形狀多樣的桌椅,整個辦公室很安靜。另外,很多辦公室區域是以台灣原住民族命名的。

on-site也是由三個session組成,前兩個形式跟phone幾乎一樣,包含主要的tech interview和詢問履歷、互相了解的時間,很開心我終於在白板上寫了我第一次的「白板題」!最後一個session是純behavioral,面試官說「我這關很重要的任務是要解答你的疑惑,不可以讓你面試完還是不了解我們在做什麼」,算是氣氛比較輕鬆,但我覺得重要性不亞於tech的關卡。

剛到的時候我真的超級、超級緊張,所以第一題tech沒有答的很好,原本接近答案了,但面試官質問我的方法後我就放棄原本的方法。太緊張之下,我很多時間腦袋是一片空白,或者bubble, insersion, merge, quick, heap sort重複播放,或者一直舉例舉錯。最後讓面試官講出答案,才知道方向對了,但是判斷標準修一下就可以了。還是寫出了code,聊天的過程我也很想知道他怎麼看我的表現、以及發現同個問題他們會設定很多種解答。這題是問給定長度為n+1的整數數列,數字範圍[1..n],必定有(只有)一個數字重複,出現的次數可能不只兩次,找出這個數字。最後希望在O(n)->O(1)空間、O(n^2)->O(nlogn)->O(n)時間複雜度解題。

第二題的面試官把順序倒過來,先花時間了解彼此,才問我技術題。我很喜歡這位面試官,也因為他有趣的故事對他的名字很有印象。他就是從實習做起,最後獲得正職的。他也問了我在瑞典交換的經驗,我很開心能和他分享我人生最快樂的時光,還有我拿棧板做沙發的故事。我想他在問我修演算法時最有興趣的主題時,就是在implicitly讓我選自己擅長的類型。題目是給定二維地圖邊界、起終點和走法限制,算出所有可能的走法。這題我就寫得比較順,加上debug的時間,還有在時間內完成,是個開心的session。

最後的behavioral,和面試官聊得很很開心。我對他們都用Surface Notebook印象深刻,也了解台灣微軟做了哪些有趣的事情、美國總部和其他據點的關係、面試官覺得管理階層在分配專案時的考量為何、也更感受到微軟正在轉型。這些對公司的認識,讓我對微軟的認識更具體,也增加我對這間公司的評價。至於面試官這時怎麼評價我,我也很想知道!希望以後可以坐上那面試官的位子,感受一下。

心得

從兩家大公司非常花心力和時間的面試流程,可以看出他們雖然說是找實習生/派遣職位,事實上可能是在找能長期合作的潛在人才。一方面他們願意給我這種什麼都不懂的人機會,但一方面也代表他們在找正式人力時,有一定比例的缺是透過這種漫長的觀察篩選過程,如果在工作過程中團隊發現你不是那麼適合,時間到了就會找尋另外的人才填補。即使你好像有點能力,還是要經歷一段充滿不確定性的「被觀察期」,努力表現爭取上岸的機會。

從面試的過程,也感受到資訊業真的是技術人力密集的產業,公司會多麼重視好人才、培育,以及適性的重要性。我想這很直接地跟公司的獲利能力有關,只有有錢的老闆才說得出「人才是公司最重視的資本」、「我們把員工視為與公司一同成長的夥伴」這種也許有點假掰,但聽了就讓人很爽的話。所以這個社會很現實,有很多人的工作實力被產業現況造成的低薪低估了,也有很多人卡位對的戰場,拿到很多紅利。面試時間除了有硬的技術題,也讓一直很會解題的宅宅們瘋狂刷題,但是我也感受到團隊不是要找技術最強的人,「適不適合一個團隊」在面試時的重要性,比想像的重要。

最後很可惜在Career Fair前一週聽聞Mozilla把台北辦公室收掉了,狐狸QQ 希望疫情對產業的衝擊可以漸漸恢復。

儘管沒什麼把握,還是希望最終能有好結果。

致謝

回頭看,好多朋友、前輩和師長的幫助才讓我走到這裡。前面的路還更長,希望我屆時能成為像你們一樣手心向下的人。

謝謝在去年11月百忙撥冗,聽我訴說不成熟的夢想,並協助我釐清目標與現實、發展路徑的資管系蔡益坤老師、孔令傑老師。

謝謝給我建議、對我始終抱持信心的土木系的老師們,讓我用更高的視野審視自己發展的方向,給予我信心。特別感謝謝尚賢老師、陳柏華老師在百忙之中為我撰寫推薦信,葛宇甯老師熱心介紹接觸實務的機會,還有游景雲老師、許聿廷老師、黃尹男老師與我和翼傑學長分享好多好多求學、海內外的生活經歷。

謝謝在BIM中心給我機會接觸現實應用問題、參與很多使用者研究的敬淳學長、千溥學姐,還有carry的維廷(什麼時候去看球賽)。

謝謝柏均和我分享資工所同學的第一手消息,分享很多本科系同學在升學和求職遇到的情境。不知你怎麼對我這菜雞申請資工所會有信心,總之謝謝。謝謝翼傑學長接我的的跨洋電話,在我搞不清楚什麼學校什麼學程注重什麼時,給我選校的建議。謝謝柏佑讓我獲得一本Mason 2000,我只能說這太重要了,我GRE都靠它。謝謝Ruby讓我知道一個出色的台大學生可以把自己推向多高的巔峰,從轉述中一窺那個頂峰是什麼樣子,希望妳今年開始工作能有很多收穫。謝謝尚軒協助送履歷,讓我的敲門磚真的敲到公司的門。

謝謝冠榮學長給我一個很好的環境認識軟體公司實務的工作型態,認識好多值得學習的前輩。

謝謝丰筠不離不棄的陪伴,即使碰上這樣聚少離多或者變化無常的日子,我們把握當下繼續加油。謝謝我的爸爸、媽媽,給我一個無後顧之憂的環境,以及非常多的支持與鼓勵,讓我有機會追求更高、更好的生活。長得越大,越明白不是每個人生來想要唸研究所就能報考研究所的,遑論出國拿學位的機會,我會好好把握。

不積跬步,無以致千里。每天都要很努力才行。