[面試] 研替心得 (群暉)

作者: rod24574575 (天然呆)   2015-11-08 19:28:57
我是在承德路那邊面試的
剛報到後就被帶到一間小會議室
簡單的填了基本資料表後
等了10幾分鐘就開始面試了
==============================================================================
第一關:
首先是請我自我介紹一下
之後就是問履歷中有寫到的一些事情
或是根據做過的project或專題來問實作方法等細節
接下來就是開始連續問各種專業問題了
1. process 和 thread 的差異?
2. Mutex 和 semaphore 的差異?mutex 如何實作?
3. TCP 和 UDP 的差異?
4. TCP 的傳輸機制和 ACK 是如何運作的?
5. 有沒有寫過 multi-threaded 的程式?對 multi-threaded 的概念了解程度如何?
6. process 的排程方法的種類和運作方式?
7. shared memory 是如何實作的?
8. 要計算 set A - set B 的話,要用什麼資料結構?時間和空間複雜度為何?
有更好的方法嗎?
再來則是考白板程式題
1. 寫一個用來 reverse linked list 的函式
這一題應該算是偏簡單的考驗指標用法的linked list題
個人是用3個指標對list從頭到尾處理一次就完成了
寫完後先在腦內帶入幾個小測資確定一下有沒有bug
之後換面試官人腦compile和驗證後
面試官就請我稍等一下後出去了
在等待第二關開始的空閒時間
我有試著稍微回想一下剛剛被問到的題目和自己的表現
可能是因為第一次面試所以表現得有點緊張
有幾題明明我其實應該是知道要如何回答的
但是當下卻突然想不太出來或是回答錯誤
讓我感到有點懊惱
所以第一關我個人是覺得表現得差強人意而已XD
==============================================================================
第二關:
首先一樣是自我介紹一下
再來也是問履歷或是做過的專題或project
然後又是專業問題時間
1. 如果是我會如何去實作 mutex?
2. process 和 thread 的差異?
3. socket programming 的運作機制?
4. TCP 的 3-way handshaking 機制?
5. 介紹 OOP 的概念 (繼承和多型)
6. static 放在不同位置所代表的意義?
7. Majority Element:假設現在有一個 integer array,裡面有一個 integer 出現次數
超過1/2,請問該如何找出這個integer?此方法的時間和空間複
雜度為何?
再來則是考白板程式題
1. 寫一個可以判斷 linked list 中是否有 cycle 的函式
可以用俗稱「龜兔賽跑」的方法去實作
也就是用2個指標:一個一次走一步、另一個一次走兩步
如果撞到的話就代表有cycle
走到NULL的話就代表沒有cycle
2. 寫一個可以找出 binary tree 從 root 到 leaf 的最短路徑的函式
直接用BFS應該就可以輕鬆解決了
面試官看了看沒什麼問題後
就直接送我出去結束第一天的面試
回到家午睡途中就接到人資來電約二面時間
==============================================================================
第三關(偽):
進來的是人資姊姊
大概問了一些非專業上的問題
像是為什麼要來面試群暉之類的
還有就是興趣或其他人格特質的問題
可能是想要看回答和反應來判斷我的個性之類的 (?
反正就都照實回答就好了
所以其實沒什麼壓力XD
==============================================================================
第三關(真):
首先一樣還是自我介紹
再來也是介紹一下做過的專題或project
之後是短暫的問題時間
1. process 的 schedule 方法介紹?如果是你會使用哪一種?
2. 說說看你修過的所有課中,那些課讓你覺得很有趣或是印象深刻?
不過既然問題問比較少
那可想而知主力應該都放在白板程式題了
1. 給定遞迴式:a_n = 3 * a_(n-1) - 2 * a_(n-2), a_0 = 1, a_1 = 2,
寫一個回傳 a_n 的函式
一開始我很制式的用DP的方法去算出答案
但是面試官就問我有沒有更好的方法呢
後來稍微觀察一下 a_n 的規律就發現 a_n = 2^n
所以其實可以很直接的就回傳答案
2. 給定一數字 N,寫一個函式去找出並回傳相加後等於 N 的「長度 L 的連續數字」
最直觀的答案就是「從 N 開始的長度 1 的連續數字」
不過這一題答案不只一種
通式的話應該是寫成如果 N 被奇數 M 整除的話
就會有「以 N/M 為中心的長度為 M 的連續數字」這個答案 (M=1時就是最直觀的答案)
也有「以 (M-1)/2 和 (M-1)/2 + 1 為中心的長度為 (N/M)*2 的連續數字」這個答案
這一題一開始其實我是沒什麼頭緒
後來經過面試官稍微提示才慢慢找出所有可能的答案
PS. 有點忘了當初的答案了,這題答案不太確定是不是這樣寫XD
3. 寫一個對 matrix 旋轉 90 度的函式
可以用2個for迴圈去一次旋轉4個elements
只要稍微注意邊界條件和各elements的位置
這題應該就可以輕鬆解決
==============================================================================
第四關:
終於到傳說中的主管關
主管就問我有沒有什麼東西想問的
我就問了公司有哪些team之類的問題
之後主管看了我基本資料表寫的期望薪資就說可以給我這個價錢
然後說等等要開會所以就這樣直接結束面試吧
結果:offer get
==============================================================================
總結:
之前有些心得文說面試經驗不怎麼愉快
不過可能我運氣比較好
遇到的面試官們都很和善
遇到不會的白板題也會適時給予提示或引導思考的方向
在我回答問題時也會認真的邊聽邊作筆記 (應該是記錄我對這方面的熟悉度之類的)
整體來說面試的感覺頗不錯
==============================================================================
準備方向建議:
1. 資料結構:
不需要會什麼太高深的資料結構
只要能清楚理解基本的資料結構就好了
像是linked list、tree、stack、heap、queue、hash
尤其是linked list、tree、stack更是一定要熟悉各自的用法和優缺點
2. 演算法:
如果以前有修過相關課程的話
還是建議拿出來重新翻一下
雖然我其實只有被考到很簡單的幾個演算法
但是之前的其他心得文好像有些會被考到稍微深入一點的概念
所以還是念一下會比較保險
3. 作業系統:
主要考的部分還是process和thread的相關概念
但是偶爾也會考到其他部分
像是我就被問到排程的相關問題
基本上還是建議把課程投影片拿出來複習一遍
如果時間不夠的話也可以只全力複習重點
4. 計算機網路:
之前沒看過有心得文提到會考到計網相關的部分
不過我還被考到蠻多題的
所以保險起見可能也是要複習一下
範圍看起來主要是圍繞著TCP和UDP
所以一樣時間不夠可以只重點複習TCP和UDP的部分
5. 物件導向程式觀念:
完全沒學過的話一定要好好惡補
之前學過的話大概就稍微複習一下多型和繼承就好了
其他部分只靠平常的印象應該也可以輕鬆應付
6. coding
這部分主要還是要靠平常累積下來的基礎
而面試前複習的話則是靠LeetCode
我個人是因為還算喜歡寫這種解題型的程式
所以當初一面前的一個禮拜就開始寫
總共寫了90幾題左右
一面和二面之間的空檔又再多寫了30幾題
不過其實我覺得頂多只需要把easy的題目都寫完就好了 (剛剛數了一下大概67題)
如果能不看Discussion就把easy全部解決
我是覺得白板程式題部分應該真的很穩了XD
當然如果時間不夠的話也可以只在看起來會考的tag中各選幾題來寫就好了
因為大部分人應該已經很久沒有寫這種解題型的程式了
所以一定要至少寫個幾題找回手感和解題的sense
不然我覺得到時候很容易會在白板上犯一些小bug或少考慮到邊界條件等
而且寫code其實也算是順便複習到資料結構和演算法
==============================================================================
不知不覺寫了好長一大串
有想到什麼的話我再補充吧XD
作者: st930617 (宇)   2015-11-08 19:33:00
恭喜
作者: KobeEatShit (劉德鴻)   2015-11-08 19:35:00
認真專業 推
作者: jengmei (鄭小妹)   2015-11-08 19:38:00
作者: naskate (QQ)   2015-11-08 19:45:00
強!
作者: A4P8T6X9 (殘廢的名偵探)   2015-11-08 19:55:00
推神
作者: kobe329 (poka)   2015-11-08 20:02:00
值得學習
作者: NCUking (中大王)   2015-11-08 20:06:00
leetcode easy部分沒辦法自己做出來的人應該很快就被刷準備到medium比較穩
作者: antiall (Hammer Smashed Face)   2015-11-08 20:17:00
太強了…
作者: csam11000 (csam11000)   2015-11-08 20:25:00
恩組好尊神 (拜
作者: flere (人間失格)   2015-11-08 20:28:00
你要寫好多白板啊!我弱弱的總共才寫兩題而已就結束了XD
作者: clamperni (肥宅牛牛)   2015-11-08 20:30:00
噗噗
作者: flere (人間失格)   2015-11-08 20:30:00
阿錯了我是三題XD
作者: jqpp3210 (碰寶貝)   2015-11-08 20:35:00
好強……
作者: orzx3 (卡哩)   2015-11-08 21:03:00
大大全部都寫出來嗎.....? 太神拉
作者: s860134 (s860134)   2015-11-08 21:05:00
真的有在練
作者: arcc   2015-11-08 22:22:00
太強拉
作者: dan714 (小one)   2015-11-08 22:41:00
恭喜原po!!不過這些問題對於有一兩年工作經驗得的人算簡單吧…沒必要神話,這個板上的學生真的這麼多
作者: bluebluelan (新陰流大目錄免許皆傳)   2015-11-08 23:15:00
白板題大概都是leetcode easy的水準
作者: HOMEWA (回家的蛙)   2015-11-08 23:23:00
我必須承認 我都看不懂..
作者: longlongint (華哥爾)   2015-11-09 00:05:00
推認真
作者: s860134 (s860134)   2015-11-09 02:17:00
據內部消息指出 群暉目前RD team超過一半是研替?(聽說的
作者: coolricky (ricky)   2015-11-09 11:20:00
專業的喔
作者: a3294814 (阿賢)   2015-11-09 18:16:00
不吝嗇分享 ~推~
作者: wk7 (想再年輕一次)   2015-11-10 06:35:00
工作都是打雜的話,一兩年經驗之後反而倒退嚕
作者: lammin (死魚)   2015-11-10 10:00:00
GJ
作者: poloo5582 (小鬼)   2015-11-10 15:05:00
諾德大大怎麼可以這麼猛

Links booklink

Contact Us: admin [ a t ] ucptt.com