[面試] 研替心得分享及請益-上 (群暉/聯發科)
雖然還有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
推
09/08 23:59, , 1F
09/08 23:59, 1F
※ 編輯: colin8930 (1.161.160.46), 09/09/2016 00:00:28
推
09/09 00:00, , 2F
09/09 00:00, 2F
→
09/09 00:01, , 3F
09/09 00:01, 3F
→
09/09 00:08, , 4F
09/09 00:08, 4F
依版友要求刪除推文
※ 編輯: colin8930 (1.161.160.46), 09/09/2016 00:15:42
→
09/09 00:17, , 5F
09/09 00:17, 5F
→
09/09 00:19, , 6F
09/09 00:19, 6F
→
09/09 00:19, , 7F
09/09 00:19, 7F
→
09/09 00:20, , 8F
09/09 00:20, 8F
謝謝你的建議,我會審慎考慮後再決定
推
09/09 00:21, , 9F
09/09 00:21, 9F
強者我同學 m(_ _)m
※ 編輯: colin8930 (1.161.160.46), 09/09/2016 00:42:50
推
09/09 00:55, , 10F
09/09 00:55, 10F
推
09/09 01:04, , 11F
09/09 01:04, 11F
抱歉,如果要問問題的話可以用站內信嗎?
我不會用水球......
※ 編輯: colin8930 (1.161.160.46), 09/09/2016 01:09:23
推
09/09 01:16, , 12F
09/09 01:16, 12F
→
09/09 01:16, , 13F
09/09 01:16, 13F
推
09/09 01:19, , 14F
09/09 01:19, 14F
→
09/09 01:19, , 15F
09/09 01:19, 15F
推
09/09 01:20, , 16F
09/09 01:20, 16F
推
09/09 01:20, , 17F
09/09 01:20, 17F
※ 編輯: colin8930 (1.161.160.46), 09/09/2016 01:34:22
推
09/09 07:17, , 18F
09/09 07:17, 18F
推
09/09 08:36, , 19F
09/09 08:36, 19F
→
09/09 08:37, , 20F
09/09 08:37, 20F
→
09/09 08:38, , 21F
09/09 08:38, 21F
推
09/09 09:38, , 22F
09/09 09:38, 22F
推
09/09 10:00, , 23F
09/09 10:00, 23F
→
09/09 10:00, , 24F
09/09 10:00, 24F
因為很多人問,我就說一下我的想法,不保證是正解
首先,因為範圍是固定的
所以先開一個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
推
09/09 10:33, , 25F
09/09 10:33, 25F
推
09/09 11:03, , 26F
09/09 11:03, 26F
推
09/09 11:29, , 27F
09/09 11:29, 27F
→
09/09 11:50, , 28F
09/09 11:50, 28F
→
09/09 11:51, , 29F
09/09 11:51, 29F
→
09/09 11:51, , 30F
09/09 11:51, 30F
→
09/09 11:52, , 31F
09/09 11:52, 31F
推
09/09 11:53, , 32F
09/09 11:53, 32F
→
09/09 11:54, , 33F
09/09 11:54, 33F
→
09/09 12:04, , 34F
09/09 12:04, 34F
推
09/09 13:22, , 35F
09/09 13:22, 35F
推
09/09 17:27, , 36F
09/09 17:27, 36F
推
09/09 17:32, , 37F
09/09 17:32, 37F
推
09/09 19:17, , 38F
09/09 19:17, 38F
推
09/09 21:00, , 39F
09/09 21:00, 39F
→
09/09 21:59, , 40F
09/09 21:59, 40F
推
09/09 22:13, , 41F
09/09 22:13, 41F
→
09/09 22:13, , 42F
09/09 22:13, 42F
推
09/09 22:15, , 43F
09/09 22:15, 43F
推
09/09 22:17, , 44F
09/09 22:17, 44F
推
09/09 22:30, , 45F
09/09 22:30, 45F
→
09/09 22:30, , 46F
09/09 22:30, 46F
→
09/09 22:30, , 47F
09/09 22:30, 47F
謝謝提示,現在想想我的這個解法的確不是很完美,只是當時怕考官等太久
所以就把腦中浮現的想法寫出來XD
推
09/09 23:38, , 48F
09/09 23:38, 48F
※ 編輯: colin8930 (1.161.160.46), 09/10/2016 16:20:46
推
09/10 16:27, , 49F
09/10 16:27, 49F
其實面試還有一些小技巧,例如即使面試官沒有問,也可以把自己知道的講出來
像是考官問static是甚麼,除了回答標準答案之外
可以順便分析global, static local, static global......
有初始化沒初始化的差別? 是放在哪個section?
(bss? data? gcc -fzero-initialized-in-bss 的作用?
symbol table裡static 與非static的差別?)
反正面試就是在推銷自己,盡量把自己知道的說出來就對了
※ 編輯: colin8930 (1.161.160.46), 09/10/2016 16:49:12
推
09/12 16:10, , 50F
09/12 16:10, 50F
推
09/12 18:02, , 51F
09/12 18:02, 51F
推
09/21 07:12, , 52F
09/21 07:12, 52F
Tech_Job 近期熱門文章
10
20
PTT職涯區 即時熱門文章
78
236
11
175