【學長姊帶路】MS/Google/AICS/Synology 軟體工程師 面試分享

原標《2023純軟實習面試心得(MS/Google/AICS/Synology)》

文/匿名

前言

大學時期就很常聽到身邊的朋友去Google, Microsoft, WQ 等公司的實習,受到同儕感染後我也一直很想要有機會能夠拿到一份理想的實習工作,然而到了碩一的現在才終於拿到了理想的offer。

在準備面試的過程中也得到很多人的幫助因此想要和大家分享我自己面試的心得,同時也可以讓大家有點信心就算是普通人只要努力準備抱持對自己的信心依然能夠有機會拿到實習機會。

【學長姊帶路】MS/Google/AICS/Synology 軟體工程師 面試分享
一年的時間內透過和朋友比賽+到處找資源學習

面試結果

1. Microsoft: Offer get

2. Google: Thank you letter

3. AICS: Offer get

4. Synology: Thank you letter (面完一關就沒下文)

整體面試coding難度排名(個人體感): Google >= Microsoft >> AICS >> Synology

背景

– 112 CS 學士 + 碩士

– 主要研究領域為機器學習 + NLP

– 大學曾在兩個不同的實驗室做過專題

– 大學時擔任過系上ML, 機率課助教

– 無競賽經驗,純粹的業餘演算法愛好者

由於從朋友那聽說了Leetcode這個實用的面試準備工具,因此在寫題目的過程發現自己還蠻喜歡解演算法題的,在過程中也有定期的打週賽體驗一下與其他人競賽的快感,感覺打比賽真的蠻有趣+可以快速進步的。下方是我從最開始準備面試到拿到最終offer的Leetcode狀態

megapx

面試過程

1. AICS (好像是Research intern 有點忘了)

這間是我最早面的公司,由於第一間面試+聽到過去面試的傳聞其實我在面試前還蠻緊張的XD 不過實際面試完後我對AICS的面試體驗反而是所有面的公司中最好的。 一開始要寫一個colidify,大約一小時的時間完成三題簡單的問題,通過之後就會進入面試環節。面試的部分一開始會有一關電面決定是否可以進入後續的onsite面試,個人感覺電面的難度比後面兩關onsite還難一點,整體面試題目難度大約在Medium左右個人覺得其實算中等。

電面: 最一開始先自我介紹+詢問做過的project,過程中也有對技術的內容進行提問 + 詢問這些做過的東西對公司的幫助等等。討論結束後就是進入coding環節,一開始由一題medium難度的sliding window起手,順利解完後問了基於原本問題的一個follow-up (改一些設定,可以用背包DP解),後來我自己去查有找到類似的問題難度標籤是Hard,但個人體感大概就是難一點的medium左右並不會非常困難。順利解完後就進入閒聊環節。在這關我認為是我整體體驗過最好的一次面試體驗,在過程中面試官持續的和我互動溝通並且也會不斷的稱讚我哪裡表現的好,讓人可以非常安心的面試感受真的挺好的。

onsite: 這邊有兩關面試,比較不同的是其中一關的面試官全程只考coding,另一位則主要在聊天(?)。

第一位面試官在自我介紹完後直接就進入coding環節,一開始先一題easy的數學題,解完後有一個medium左右的follow-up,之後解完後又接了一題區間相關的問題(後來去查也是Hard tag,但感覺難度應該就難一點的medium而已)。快速解完後因為面試官好像也沒有其他題目了所以就進入了問問題時間。

第二位面試官則是花了相當多時間在和我聊天,從一開始自我介紹+project到後來和我聊了很多NLP, CV相關的前沿研究和前後端的未來發展(?,整體來說像是在分享各自的見解之類的感覺其實也蠻輕鬆的,大概聊了30分鐘左右還是不免俗地有一題白板題大概medium左右,花了五分鐘左右講解完+寫完code dry run沒問題後就進入閒聊環節了。

結果: 最後大概面試完隔天就拿到offer了我覺得整體效率蠻高的並且面試感受也都挺好的,然而因為之後還要面Google所以只好婉拒Offer。

2. Google – SWE intern

雖然一開始我的目標只有微軟(不期待能面上Google),但隨著面完AICS後帶給我自己不少的信心並認為自己應該也有機會能上吧,但可惜在某一關面試表現實在太糟糕了所以拿到了reject。

Google intern的部分基本上就是兩關白板題,google面試最大的優點是面試過程只需要關注白板題而不需要其他才藝表演(?),不過整體白板題我覺得也是最有挑戰性+最靈活的(但純粹演算法的難度我覺得微軟更難一些)

一面: 這次的面試官一開始只有給一段簡單的題目敘述並且裡面有蠻多我有點看不懂的字,需要透過一步一步地和面試官確認題目意思並先將題目定義清楚才能開始解題,這部分的體驗和我面過的其他面試都蠻不一樣的能感覺到面試官對於溝通的重要性非常在意。把題目理解清楚後我也花了一段時間來思考最佳解,在過程中面試官幾乎沒有給予任何回饋感覺蠻考驗要自己找到解法的,最後剛好想到曾經解過的某題hard的解法才成功完成最佳解 (three pass 配合 prefix + hash table)。但是之後由於時間不足沒能解出這題的follow-up,只有大概分析了一下暴力解的複雜度就結束了。

二面: 這關是我碰到最絕望的一場面試,儘管上一關沒有全解完但我自認表現並不算太差但這關的表現我認為應該是我拿到reject最主要的原因。這關的題目一題很像找規律的數學題,其實這題應該不能說很難但他是一題很多奇怪邊界條件的題目,題目基本上是要你實作一個從數字map到一個字串的問題,但有很多mapping的條件要注意。在這關我和面試官卡了很久並討論了很多case,但中間我一度搞錯要解的目標造成繞了很大一圈才又回來原本題目,最後時間到只完成了一個簡化版的解而沒有解完整個問題本身。

結果: 最後過了幾個月後收到了thank you letter,身邊不少面的朋友都有過HC進team match但貌似今年headcount很少所以我也沒聽到有認識的有面上實習,但我的表現實在太糟糕了連HC都沒有過QQ

3. Synology – Software Engineer in Test (Intern)

在沒面上google後心情有點低落,為了在準備微軟之前能夠有機會在練習一下於是就投了synology,基本上synology也是由兩關面試來決定實習的機會。

一面: Synology的面試主要有兩個部分構成: 技術問答 + 白板題。在一場45分鐘面試的前一半左右的時間主要在進行技術相關的問答,這是我遇過最專業的技術問答也是我覺得面試官各種專業能力最強的一場面試。技術問答的內容從API的設計到前後端的知識以及網路TCP/UDP介紹甚至包含Linux系統的知識和虛擬化技術等等,幾乎把我大學所學的CS知識都倒了一遍的感覺有種在進行知識對決之類的感受蠻特別的XD(雖然很明顯我是弱勢的那一方..)。後半場的部分則是問了一題medium左右的題目(一題簡單的hash table +sliding window),在順利解完後就進入問問題時間。

結果: 我覺得一面其實面的挺順利的,可是二面一開始面試官遲遲沒有出現後來過了15分鐘才有一個應該是面試官的人進來說要改約之後的時間,然後後來就沒有下文了..最後過了幾個月拿到了thank you letter

4. Microsoft – RDI (Bing Map)

時間軸: 4/6(投遞) ~ 4/20(初次電面) ~ 4/27(二面+確認部門) ~ 5/8(收到部門面試約時間通知) ~ 5/15(面完兩關) ~ 5/18(offer get),由於微軟面試整體時程蠻長的,所以給個我自己的時程供後人參考

這是我今年面試最終的目標,身為一名CS的學生(至少是我)對於微軟的追尋應該僅次於Google了,由於有聽身邊曾在bing map當過intern的朋友們提過工作的內容和福利因此也讓我對這份工作的渴望更加的強烈。 微軟的面試基本上和Google流程一模一樣,一開始HR關後就是由兩關的純白版題來決定實習機會,值得一提的是Bing map的面試官貌似都是由前一屆實習生擔任。

一面: 在簡單的自我介紹後就開始了面試,一開始是一題Medium左右的sliding window,快速講解完+實作完後接了一題完全不同的Hard難度的題目,這題是一題蠻特別的使用topological sort的圖論問題,花了一小段時間解完後就進入問問題時間。這關的面試官人真的非常好,在面完後他還和我聊到關於工作的內容並提到如果進去可以和他打聲招呼。

二面: 這關的面試官是一個感覺蠻厲害的電神,從頭到尾都保持著嚴肅的感覺。在面試問題的部分第一題是一題我稍微想了一陣子的medium問題(two pointer,但要走的方向要想一下),接著解完後第二題是一題我覺得蠻難的BFS + DP (之後我找到是一題Hard tag的問題),最後到了壓線40分鐘我才好不容易解完第二題。

結果: 在面試完三天內就拿到offer,不過整體而言微軟的面試就有點像40分鐘讓你解兩道困難題目的感覺比較少感受到評估coding能力之外的能力。(因此貌似對競賽選手相當有利?)

心得

由於我想要去的公司大部分都是考coding為主恰好我又對解演算法題目蠻有興趣的,因此運氣不錯能夠拿到微軟的offer。其實我在一年前也是一個演算法超級爛的普通人(一開始的時候連寫easy都會卡),但是在這一年的時間內透過和朋友比賽+到處找資源學習的確讓我的演算法實力有了不小的提升,所以才有了最終有機會拿到微軟offer的結果。我認為如果是想要進行純軟實習的大學或碩士生如果心有餘力可以多加練習演算法的能力,這真的對找純軟實習有蠻大的幫助。

以上是我找實習過程中的心得,祝福大家也能夠找到自己想要的實習或工作,謝謝大家的收看。

本文由 DCARD 網友 授權轉載, 原文: 《 2023 純軟實習面試心得(MS/Google/AICS/Synology)⁣ 》

___________

你也有經驗想分享嗎?快來投稿賺稿費吧!

瀏覽 1,876 次

覺得不錯的話就分享出去吧!

發佈留言

Back to top button