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

看板Tech_Job作者 (天然呆)時間10年前 (2015/11/08 19:29), 10年前編輯推噓20(2009)
留言29則, 25人參與, 最新討論串1/1
我是在承德路那邊面試的 剛報到後就被帶到一間小會議室 簡單的填了基本資料表後 等了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 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.228.150.125 ※ 文章網址: https://www.ptt.cc/bbs/Tech_Job/M.1446982140.A.C04.htmlrod24574575:轉錄至看板 Soft_Job 11/08 19:29

11/08 19:33, , 1F
恭喜
11/08 19:33, 1F

11/08 19:35, , 2F
認真專業 推
11/08 19:35, 2F

11/08 19:38, , 3F
11/08 19:38, 3F

11/08 19:45, , 4F
強!
11/08 19:45, 4F

11/08 19:55, , 5F
推神
11/08 19:55, 5F

11/08 20:02, , 6F
值得學習
11/08 20:02, 6F

11/08 20:06, , 7F
leetcode easy部分沒辦法自己做出來的人應該很快就被刷
11/08 20:06, 7F

11/08 20:06, , 8F
準備到medium比較穩
11/08 20:06, 8F

11/08 20:17, , 9F
太強了…
11/08 20:17, 9F

11/08 20:25, , 10F
恩組好尊神 (拜
11/08 20:25, 10F

11/08 20:28, , 11F
你要寫好多白板啊!我弱弱的總共才寫兩題而已就結束了XD
11/08 20:28, 11F

11/08 20:30, , 12F
噗噗
11/08 20:30, 12F

11/08 20:30, , 13F
阿錯了我是三題XD
11/08 20:30, 13F

11/08 20:35, , 14F
好強……
11/08 20:35, 14F

11/08 21:03, , 15F
大大全部都寫出來嗎.....? 太神拉
11/08 21:03, 15F

11/08 21:05, , 16F
真的有在練
11/08 21:05, 16F
修改一下第三關白板題的答案XD ※ 編輯: rod24574575 (61.228.150.125), 11/08/2015 21:29:09

11/08 22:22, , 17F
太強拉
11/08 22:22, 17F

11/08 22:41, , 18F
恭喜原po!!不過這些問題對於有一兩年工作經驗得的人算簡
11/08 22:41, 18F

11/08 22:41, , 19F
單吧…沒必要神話,這個板上的學生真的這麼多
11/08 22:41, 19F

11/08 23:15, , 20F
白板題大概都是leetcode easy的水準
11/08 23:15, 20F

11/08 23:23, , 21F
我必須承認 我都看不懂..
11/08 23:23, 21F

11/09 00:05, , 22F
推認真
11/09 00:05, 22F

11/09 02:17, , 23F
據內部消息指出 群暉目前RD team超過一半是研替?(聽說的
11/09 02:17, 23F

11/09 11:20, , 24F
專業的喔
11/09 11:20, 24F

11/09 18:16, , 25F
不吝嗇分享 ~推~
11/09 18:16, 25F

11/10 06:35, , 26F
工作都是打雜的話,一兩年經驗之後反而倒退嚕
11/10 06:35, 26F

11/10 10:00, , 27F
GJ
11/10 10:00, 27F

11/10 15:05, , 28F
諾德大大怎麼可以這麼猛
11/10 15:05, 28F

11/21 09:56, , 29F
RD研替很多但絕對遠小於一半
11/21 09:56, 29F
文章代碼(AID): #1MFp7ym4 (Tech_Job)