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

看板Soft_Job作者 (天然呆)時間8年前 (2015/11/08 19:29), 8年前編輯推噓13(1300)
留言13則, 13人參與, 最新討論串1/1
※ [本文轉錄自 Tech_Job 看板 #1MFp7ym4 ] 作者: rod24574575 (天然呆) 看板: Tech_Job 標題: [面試] 研替心得 (群暉) 時間: Sun Nov 8 19:28:57 2015 我是在承德路那邊面試的 剛報到後就被帶到一間小會議室 簡單的填了基本資料表後 等了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.html ※ 發信站: 批踢踢實業坊(ptt.cc) ※ 轉錄者: rod24574575 (61.228.150.125), 11/08/2015 19:29:30

11/08 20:40, , 1F
強者
11/08 20:40, 1F

11/08 20:47, , 2F
推分享~
11/08 20:47, 2F

11/08 20:59, , 3F
11/08 20:59, 3F
※ 編輯: rod24574575 (61.228.150.125), 11/08/2015 21:25:57

11/08 23:25, , 4F
強者
11/08 23:25, 4F

11/08 23:25, , 5F
push
11/08 23:25, 5F

11/09 00:13, , 6F
11/09 00:13, 6F

11/09 00:27, , 7F
看得出來你實力很堅強
11/09 00:27, 7F

11/09 01:07, , 8F
詳細推
11/09 01:07, 8F

11/09 02:08, , 9F
感謝分享
11/09 02:08, 9F

11/09 17:46, , 10F
連面試門票都拿不到 應徵雲端工程師結果是寫網頁的
11/09 17:46, 10F

11/09 19:29, , 11F
11/09 19:29, 11F

11/10 11:16, , 12F
好文
11/10 11:16, 12F

11/16 13:29, , 13F
11/16 13:29, 13F
文章代碼(AID): #1MFp8ScQ (Soft_Job)