# 2022面試心得
#### 前情提要
四大學碩畢業,論文主要做跟AI相關的應用,本身沒什麼資工背景,沒上過計概,資料結構,物件導向...很多課程都沒修,有修過的只有演算法,作業系統跟計算機組織,最熟悉的語言是python
c++都是靠寫leetcode,大概刷了快400題,畢業後花一個月上網惡補很多我不會的東西,面了兩個多月最後終於找到喜歡的工作,過程真的蠻煎熬的,想說分享一下我的面試經驗,看到其他人的分享每個都offer get真的好羨慕阿,希望我的分享可以幫助到其他人
#### 公司
* Qualcomm - AI Software Platform Engineer
D0 投履歷
D3 收到OA, OA題目難度落在leetcode easy~medium,6題寫2小時,稍微有一點趕
D8 約一面
D16 一面
一面主管先請你自我介紹,之後把履歷上所有的經歷都問過一遍,所以要對自己的履歷很熟悉,之後考了一題有小數點的字串相加,邊聊天邊寫,沒寫完的可以回家繼續寫
D35 感謝函
題目寫太久,加上可能還沒準備好就去面試,回答問題的時候並不是很有信心,就被刷掉了
* Google - Camera Software Engineer
D0 HR主動聯絡
D32 跟HR討論後續面試流程,我跟HR說想要有一個月的準備時間,他也同意讓我準備好再面試
D51 phone interview
難度大概leetcode medium,考了跟unordered_map相關的題目,我跟面試官要了hint才寫出來
D54 得到HR return feedback, 約下一輪onsite interview(4 round)
D67 1st interview, g&l
leetcode medium難度, 2維dp
g&l 其實就是問你的behavior question, 問你跟別人怎麼合作的,你的做事習慣,解決問題的能力
D72 3rd interview
考disjoint set,我用暴力解寫,也是要了hint才能做優化
D73 4th interview
將學生分配到宿舍,學生有兩種,想要有室友的跟不想要的,宿舍會告訴你能住幾個人,設計一個function把學生按照需求作分配
D82
沒被拒絕也沒有錄取,表現不上不下,說有後續消息再通知我
* tomofun - AI Engineer
D0 投履歷
D2 收到HR面試邀約跟OA
D5 HR面試
主要是問你behavior question,像是遇到挫折你怎麼處理,你遇到最困難的事情是什麼,跟別人怎麼合作的,同學擺爛怎麼處理等等
D12 收到一面通知
我人當時在國外,所以沒辦法配合面試時間,他們也願意等我回台灣之後再約面試
D26 一面
跟小主管和HR一起面試,做了10-15min的自我介紹,介紹自己的學經歷,論文內容等等,主管問了我蠻多論文的問題跟之前做過的project,之後HR又補問了一些BQ的問題
D54 感謝函
他們家的產品主要在做狗狗攝影機,需要蠻多跟object detection, classification, 處理audio相關的AI應用,面試過程還算愉快不過沒有得到二面的機會,可能有找到更適合的人選吧QQ
* 緯創 - 軟體工程師
D0 投履歷
D13 一面
單純聊聊天,直接給我口頭offer
* 瑞昱
D0 找朋友內推及填寫資料
D1 收到AI-Vision演算法開發(teamA), PC Camera演算法開發(teamB)的一面邀約
D3 收到影像/ML演算法(teamC, teamD)的面試邀約
D7 teamA, teamB一面
連續面了兩個team,兩個都會先請你自我介紹,接著根據你ppt介紹的內容開始問問題,teamA真的問的蠻詳細的,花了一些時間跟他們介紹我的論文內容,可能我介紹的不夠清楚,溝通起來沒有很順暢,teamB跟teamA差不多,不過有稍微考一下coding,問你怎麼加快除法這個operation,之後兩個team都是無聲卡
D10 收到機器學習開發工程師C1(teamE)面試邀約
D13 teamC, teamD一面
一樣也是連續面兩個team,這兩個team本身是同一個team,後來分成兩個部門,先自我介紹>主管介紹工作內容>考coding跟邏輯問題
coding:
加減乘除後回傳4捨5入的結果,只能用int type實作
邏輯問題:
給你10顆球跟一個天枰,其中9顆一樣重1顆不一樣,請問最少秤幾次可以找到那顆不一樣的球
D14 teamE 一面
一樣自我介紹>主管介紹工作內容>問一些deep learning相關的問題,像是什麼是overfitting, underfitting, 如何避免,最近看過的一篇paper是甚麼,結果無聲卡
D20 teamC二面,跟一面差不多,只是跟不同主管介紹而已
D23 teamD二面,一樣自我介紹聊聊天
D30 teamD三面,主管先請你介紹你對這個職缺的了解程度,然後請你問問題,接著再問性格相關的問題,像是別人覺得你是怎樣的人,平常是你問別人問題還是別人問你問題,你覺得自己聰明嗎之類的,沒有標準答案
D44 主動詢問後續消息,結果感謝函
* 群聯 - 韌體工程師
D0 公司從104看到我的履歷約一面
D7 一面 主要就是考C/pointer/sizeof/union/struct/memory/binary search/algorithm的設計...不能用c++的container實作,結果無聲卡
* 至達科技 - 軟體工程師
D0 104投履歷
D2 主管打電話來介紹工作內容,稍微考一下觀念,一些常見data structure操作的時間複雜度
D4 technical interview
考的內容大部份圍繞在oop/data structure/c++基本觀念
像是overload/override, heap/stack, virtual function是甚麼
D9 去公司二面 再更進一步介紹公司及工作內容,給你問問題,面試官是公司的幾位cofounder
D10 offer get
* cadence - software engineer
D0 透過104聯絡我約一面
D5 一面 一共兩小時,先自我介紹接著1hr online paper test
自我介紹都在問問題,問了我很多oop的觀念跟unordered_map/map是怎麼實作的,什麼是RBtree/hashing...
paper test的題目都不算難,easy~medium程度,像是traverse tree,邏輯問題,priority_queue之類的,當天收到HR的電話約二面
D15 到總部二面
流程: 30min自我介紹(英文)>Whiteboard discussion>QA
白板題總共考三題,分別是binary search, leetcode 56, binary tree相關的題目
解完之後會問你時間複雜度,如果解得快的話會有follow up
binary tree題目:
一顆二元樹,裡面的數字代表有幾根香蕉,猴子能最多吃幾根,吃的條件是不能連續吃(吃了該node,就不能吃他的child)
沒有好好準備要問他們的問題,可能問了一些白癡問題,所以結果無聲卡
* synopsys - RD II
D0 請朋友內推
D6 收到teamA的面試邀約
D12 teamA一面
簡單的自我介紹跟職缺介紹
D13 跟teamB約一面
D14 teamA online test
用codility考試,2小時寫5題,前兩題算是熱身
第3題: 給int N, 回傳一個長度為N的string其中有越多unique char越好且每個unique char出現的次數要一樣, unique char指的是lower case(a~z)
第4題: graph相關的題目,需要用到DFS
第5題: 給一個int x, 可以刪除x其中一個5,回傳刪掉後最大的值
D17 收到teamC的面試邀約
D18 teamC一面
前20分鐘主要聽主管介紹這個team,接著考了一題code,寫出三個階段的計算機,input包含了以下幾個char,(1) + - (2) + - * / (3) + - * / ()
考完之後當下就約二面
D19 teamC二面
總共3小時,分別考了3題
第1題: 給一個string, 將string以level order建一個tree
第2題: 經典的DFS題目
第3題: 給3個點,問這三個點是順時針or逆時針
D21 teamB一面
也是簡單自我介紹跟了解工作內容
D21 收到teamC的口頭offer
D26 收到official offer letter,其他部門就沒有繼續面了
#### 心得
面試實在有太多地方要注意的了,每次面試都是一個練習的機會,在過程中就不斷調整自己,同時要保持寫題目的手感,我覺得最困難的地方就是問問題了,問了什麼問題可以加分而不是扣分,而且能讓你更了解職缺內容,這真的好難QQ
其實面試完沒有收到信的話也不要太難過,繼續讓自己更好才是最重要的