作者colin8930 (magiccc)
看板Tech_Job
標題[面試] 研替心得分享及請益 (群暉/聯發科)
時間Thu Sep 8 23:56:29 2016
雖然還有m要二面,不過我想最後應該是這兩間挑了吧
小弟是116EE + 112CS 因為很好猜,所以認識我的請不要認親XD
履歷打開後群暉跟晨星很快就寄了面試邀請
只有MTK是我主動投的
群暉
-----------------------
打開履歷後沒多久群暉的HR就寄了面試邀請給我
沒想到第一個面試的公司就是Tech_job版俗稱的大魔王XD
群暉研替面試固定都分兩個階段,會有三關的工程師面試
每一關一定都會要自我介紹,然後問一些問題後,就開始出白板題。
一面(兩個考官)
-----------------------
一
1. 問履歷 (大概快30分鐘...)
2. 實作:
1. binary search tree insert
基本題,很快就寫完了
2. 寫一個function判斷一個tree是不是合法的binary search tree
一開始有bug,主管提示之後有寫出正解
3. 給定一個範圍(1~100之類的),如何實作一個可以輸出n個(<100個)不重複
數值的亂數產生器
一開始回答出一個最差可能到O(n)的演算法,後來有把他壓到O(1)
3. 問演算法(都是問概念而已,不用實作):
1. heap sort 時間複雜度
2. quick sort 時間複雜度
4. 問c++ 多形、virtual function,還有很簡單的local變數(放在stack)與
動態配置new(放在heap)的概念,以及不delete的話,程式結束後會發生
甚麼事
5. 我問他問題
二
1. 問履歷
2. 問OS
1. process v.s. thread (必考,可以講越多越好)
2. virtual memory的概念
3. 如果需要維護一個用來讀取很大檔案(可以知道檔案大小)的
memory buffer要怎麼設計?
4. 主管接著問如果是multi-thread的情況下,要怎麼maintain比較好
5. 實作LRU cache
寫了一個爛code(忘記很多c++ stl的語法(pair, list怎麼用之類的
,還問考官pair要怎麼取值XD),考官說他覺得我直接自己刻會比較快XD),
寫完之後考官問要怎麼省記憶體還有優化,剛好有點子,所以很快的答了出來
6. 問要在一個array裡找到小符合某先限制(EX: 3的總數大於一定的值)的
sliding window,接著又問如果有多個限制怎麼辦,然後要去算complexity。
其實問題定義的不是很明確,沒有很懂考官想要問什麼,不過有一直說自己
的想法,然後跟考官討論,我想考官想考的應該是邏輯還有溝通能力吧。
7. 我問他問題
接著考官就請我在等HR的通知,過了一個小時HR就打來跟我約二面的時間。
二面
----------------------
有三關: HR、RD、XXX 根據經驗最後一關如果是主管進來就代表錄取了
HR:
問了一些經典人生題
RD:
先問履歷,他對我嵌入式課程做的project很有興趣XD
我就跟他討論了一下我們實作的內容以及遇到的困難,還有如何團隊合作等等
接著問我一些OS、C++ static的用法以及作用,還有之前問過的virtual function。
最後是白板題,我以為會出的比之前還難,結果他只問我兩個磁碟間檔案的讀寫要
怎麼實作,寫完以後討論了一下OS上會怎麼運作,還有怎麼作最佳化,就和平的結
束了XD
(其實聽到題目的當下我有愣了一下,不確定要回答什麼,就用fread, fwrite寫,
最佳化則只回答減少syscall及memory copy的overhead而已,自認回答得不是很
好。不過考官說我有講到他想問的點,所以應該還算OK吧)
主管:
這中間等了大概二十分鐘,這段時間真的很緊張,又甚麼事都做不了XD
主管一進來就跟我說我錄取了,讓我頓時鬆了一口氣。接著就討論了一下offer
以及公司的福利,今天面試就結束了。
總結
------------------
因為一些外務沒甚麼時間可以準備,大概就前兩天把OS翻過一次,然後寫寫leetcode
練練手感這樣而已。不過事實證明OS是很重要的,不複習的話我想連第一關都過不了,
然後有空可以多寫leetcode,前兩題白板題其實上面都找的到,我想Easy、Medium能解
的出來應該就差不多了(可是LRU那題是hard的,不小心被我遇到QQ)。
面試的考官都很厲害,人也都很好,當我卡住的時候他們都會適當地給Hint。而且他們
會從你會的東西裡面去問,像最後一位考官問我有沒有聽過double dispatch,我老實跟
他說我沒聽過,他就直接放過我了XD
MTK
---------------------
因為主管們只有晚上有空,所以就約了昨天晚上六點半。
只是要先過去考C語言與多益測驗。
C語言的話題目有分選擇、填空跟實作,都蠻基本的,細心一點的話應該不會太難。只是
實作的部分他們的系統我不是很會用,寫完想測試系統就一直跟我說connection failed
,所以一直沒辦法跑測試,後來想說算了,就直接上傳了。
實作的題目:
1. 給一個 n * m 的 matrix,輸出成 m * n 的matrix
2. 給一個prefix 字串,在給一個字串的array,輸出array裡不包含此字串的所有字串
面試的話有兩位主管,我就將準備好的履歷及成績單遞給他們,然後開始用簡報自我介紹
。介紹的內容包括我實習的經驗以及之前做過的project,過程中主管也會問一些技術上
的問題(linux kernel、Android framework),還有project實作中遇到甚麼困難,尤其是
如何團隊合作還有解決問題,我想這是工程師的核心能力,算是最重要的地方吧。
最後主管就跟我介紹了一下這個部門的工作內容,然後跟我聊了一下天,面試就結束了。
之後主管就請警衛幫我叫了計程車後,送我出門。
隔天(今天早上) HR就打電話通知錄取了,並告知我offer的內容。很感謝主管的賞識,讓
我不用再跑到新竹二面,畢竟還蠻花交通費還有交通時間的XD
請益
-----------------
首先要感謝強者我同學hungys大神,在面試的準備上提供我許多建議
以上兩家薪水跟板上打聽到的差不多
薪水、工時應該都是 聯發科 > 群暉
M的話部門是WSD/OSS1(新竹),群暉則是進去再分
現在要在這兩家中間做抉擇,好難呀...
另外想請問的是M的意向同意書及群暉要寄信回覆是否加入 這兩件事是要直接確定了嗎?
還是之後的役男服務契約書才是最終決定呢?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.161.160.46
※ 文章網址: https://www.ptt.cc/bbs/Tech_Job/M.1473350193.A.114.html
※ 編輯: colin8930 (1.161.160.46), 09/08/2016 23:57:43
※ 編輯: colin8930 (1.161.160.46), 09/08/2016 23:58:09
推 j6cl3: 強者推 09/08 23:59
※ 編輯: colin8930 (1.161.160.46), 09/09/2016 00:00:28
推 andy261: M 09/09 00:00
→ MOONY135: 強者 09/09 00:01
→ final01: 強者一面就搞定?? Orz 09/09 00:08
依版友要求刪除推文
※ 編輯: colin8930 (1.161.160.46), 09/09/2016 00:15:42
→ vivid23: 最後內政部那邊媒合的結果為準 (你選這公司, 公司也選你) 09/09 00:17
→ vivid23: 你現在是可以兩邊都答應, 最後你可能就會在你推掉的那家 09/09 00:19
→ vivid23: 公司黑了 09/09 00:19
→ vivid23: 多年後要換工作時, 那家公司的 HR 可能會記仇 09/09 00:20
謝謝你的建議,我會審慎考慮後再決定
推 hungys: 朝聖強者我同學 09/09 00:21
強者我同學 m(_ _)m
※ 編輯: colin8930 (1.161.160.46), 09/09/2016 00:42:50
推 djghera: 朝聖強者我同學的同學 09/09 00:55
推 solartear: 跪 09/09 01:04
抱歉,如果要問問題的話可以用站內信嗎?
我不會用水球......
※ 編輯: colin8930 (1.161.160.46), 09/09/2016 01:09:23
推 hst326: 要找誰面試是用人主管決定的,有實力收都來不及了,誰會因 09/09 01:16
→ hst326: 為你拒絕過offer而黑掉,會這樣的話也不值得加入了啊 09/09 01:16
推 hst326: Offer先拿到手,再慢慢考慮自己想做什麼,研替畢業後自身 09/09 01:19
→ hst326: 可以學得到什麼,是否更有競爭力的前提下去做最後決定 09/09 01:19
推 mark777: 覺得某樓好笑 XD 09/09 01:20
推 jssmile: 強者我室友,朝聖推... 09/09 01:20
※ 編輯: colin8930 (1.161.160.46), 09/09/2016 01:34:22
推 agigoo: 強 09/09 07:17
推 Fingel: 如果接受offer, 紙本offer寄來過了幾個月後再反悔真的 09/09 08:36
→ Fingel: 很不好,人家搞不好都收工不再找人,結果你放鳥人家要重新來 09/09 08:37
→ Fingel: 要反悔請快,給人家有轉圜的餘地,這是基本 09/09 08:38
推 haley06: 強者學者必須推! 09/09 09:38
推 er230059: 我比較好奇一個問題 09/09 10:00
→ er230059: 亂數產生用O(1)是怎做到的??? 09/09 10:00
因為很多人問,我就說一下我的想法,不保證是正解
首先,因為範圍是固定的
所以先開一個array放0~100,並用一個變數記最後一個的index (MAX)
之後用rand產生一個範圍在 0 ~ Max 之間的index去取值並回傳
再來將這個index與MAX的 element 做 swap,然後 MAX--
這樣可以保證每次取的都不會重複,並且都只要O(1)
如果有錯或有更好的想法歡迎提出來討論
※ 編輯: colin8930 (1.161.160.46), 09/09/2016 10:07:33