# 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 其實面試完沒有收到信的話也不要太難過,繼續讓自己更好才是最重要的