※ 本文轉寄自 ptt.cc, 文章原始頁面
看板Tech_Job
標題

[心得] Google面試 & offer請益

時間
最新2023-10-06 19:00:00
留言214則留言,122人參與討論
推噓122 ( 122092 )
背景4大混血 資訊相關科系 一線ic 軟體 0.5y + 一線ic韌體 1y 技能樹方面 c++ leetcode 600題 純刷題仔 其他技能除了C外 其他都接近0 希望認識的不要認親>< 目前拿到2個offer A公司 工作內容: bsp 待遇: (N + 16k) * 14 優點: 正常工時 &爸爸是一線大廠 & 技能樹在台灣發展性好 缺點: 要碰硬體 B公司 工作內容: 遊戲app backend 待遇: N * (13 + 2) 優點: 使用c++ & 軟體夢 & 短工時福利佳 缺點: 博弈 & 目前後端know how = 0 兩邊錢差不多,產業類別無所謂,比較在乎技能累積 兩邊的面試也有相當的難度,對於工程師的要求也應該會比較高 未來職涯希望幾年後能跳到在台外商 or 不排斥往國外發展 另外想問幾個點: 1. 對於BSP的了解就是讀懂硬體規格,然後讓他能work? 不知道這理解是不是對的 & 有沒有其他困難和有挑戰的點 2. 不同產業的後端的技能是不是能shift? 會不會因為展業導致技能樹受到侷限? 博弈的app後端技術在台灣的市場狀況如何,轉職會不會受限? 如果不方便留言的也可以站內信>< - - - Google 面試分享(L3) 時程表: 2022: 6/7:HR LinkedIn 傳訊息 12/8:一面(coding) 2023: 2-4月:等新年度head count update & team match 6/6:二面(coding) 6/7:三面(coding, English) 6/8:四面(coding, English) 尋找願意跟我match的team manager 7/11:五面(behavior + team match) (一年內都可以team match, keep waiting……) - - - google面試流程 (2023 新制) 正式面試一般有5關 4關的coding & 1關behavior 4關coding中會有2關用全英文進行(2-4關中間2關) 根據HR表示,今年開始面試流程有一些改動, 所以可以從時程表中可以看到很多team match 現在面試流程是這樣: Step 1. HR電話考試,通過可安排一面 Step 2. 一面,通過可安排team match Step 3. team match,這邊比較像是確認產品線, 我是選擇silicon,所以後續都是安排silicon的工程師來幫我面試 Step 4. 二面 + 三面 + 四面 Step 5. 尋找願意跟你team match的manager,由他來完成behavior Step 6. team match (根據coding成績,極優秀的人可以先7再6) Step 7. Match上之後,會送hire committee,決定最後hire or not,有可能有加面的關卡 - - - Step 1 HR電話問一些資料結構 & 演算法的問題 選擇題or問答題,會用英文出題 主要確認基礎程式能力和英文能力 我大概刷100題左右時進行 當時英文能力太差,都用中文回答也過了 - - - Step 2 45分鐘coding面試,45分鐘是硬上線 會出一題類似leetcode的題目 要先說明打算怎麼解 & 分析時間複雜度 面試官同意後可以開始解題 邊寫要邊解釋每一行在做什麼 寫完之後需要自己建test case逐行驗證正確性 如果是比較簡單的題目會有follow up 我當時被問的是今年6月最後一天的daily (hard) 寫的時候有三個edge case沒考慮到 第一次他問我確定嗎? 我檢查一下之後發現改掉 第二次他問我要不要再檢查一下? 我又改了一個 第三次他又問確定嗎? 我說確定 然候他叫我跑test case,跑到一半才發現又錯一個地方 結果後來我還是通過了,而且feedback還很好 這一關比較像是測驗有沒有能力繼續往下走 如果這關沒過就會直接結束面試流程 - - - Step 3 以往都是一面完之後,就會一路面到behavior結束 但現在會先進行一個team match,選一個想要的職缺 然後會從這個職缺的產品找人當後續面試官 讓你可以面試完的時候和他聊天,對部門多一點了解 每一個coding關,面試官都會獨立寫出feedback feedback很詳細,會根據演算法 & 資料結構正確性之外 還會評論程式碼整潔度 表達方式 互動細節……等等都是評分項目 每場面試都是獨立的,面試官之間不會彼此討論 每一關面試官,會根據綜合評論,給出最後評分 Strong hire - hire - lean hire - lean no hire - no hire - strong no hire 我這關被問到簡單的string存取,模擬接收封包的情景 follow up 是模擬封包傳送錯誤的處理情形 解法不難也很直覺,大概是一般medium的難度 主要是考你怎麼選資料結構 & 如何update data 這關我拿到hire - - - Step 4 這一關是英文進行 題目是根據某些規則算西洋棋走法數 是在leetcode沒看過的題型 我有寫出次佳解,並說出最佳解的時間複雜度 時間不夠,沒有follow up ,但有問我可以怎麼優化 我只有回答出最佳解的方向,但不知怎麼實作 這關拿到lean hire - - - Step 5 這關也是英文關 一開始他貼跟昨天一模一樣的題目 如果出現這個情況一定要反應 不然會變成無效關,需要補面 後來他換了一題 根據某些情況算股票買賣時間點 也是leetcode沒看過的題型 因為我知道時間複雜度是O(n) 所以我一開始花了20分鐘想O(n)的解法,但是一直卡住 後來他給我一個提示 我花十分鐘寫了一個O(nlogn)的解法 他對我的解法和寫code能力很肯定 我也說我知道最佳解的方向,但是我一直想不到實作方式 我的負評只有花了20分鐘想不出有效解 其他評論都是正面的 這關拿到no hire - - - step 6 到這邊如果評分太差,會直接結束面試流程 如果評分很高,就會先送hire committee決定錄取與否 如果在中間,就會先team match 確認有team要你之後,他會幫你寫推薦信 增加通過hire committee的機會 我拿到三個評價分別為 hire, lean hire, no hire 介於中間,所以先進行team match 這時候hr會去問有沒有team manager想和你team match 你也可以自己找職缺,請HR幫你問 有找到人才會往下進行behavior,如果沒找到就一直等 面試流程一年內都可以進行 我後來match一個做Linux kernel的team behavior就是一般的樣子,上網查很多資訊 Match過程蠻愉快的 manager會跟你介紹部門做的東西 並且一直問你喜不喜歡 不會問你會什麼,也不會考試 - - - Step 7 後來team match沒有成功 因為manager有3個candidate可以選,最後選了別人 所以我現在還在等待team match的狀態 一年內都可以match,match成功才會送hire committee 送完之後會有三個可能結果,hire, no hire, hold hold可能就會需要再加面 如果面試沒上,會進入冷卻時間 冷卻時間半年到一年,會依你這次面試差多少來決定 - - - 我目前規劃: 我會先找工作也是因為google面試流程跟馬拉松一樣 而且看起來距離結束還有很長一段路要走,還不一定會上 所以先找一份工作當成過渡期 也順便選擇未來的領域 之後會繼續面試google,也會嘗試其他外商 - - - Google 面試刷題方式 L3(初級) - L4(中級) 應該都是以刷題為主 面試難度大概介於mid - hard 我這次被問的題目大概是1 mid, 3 hard 但不是很難的hard 我有朋友被問過極難的hard (leetcode 2242) 我大概刷100題面HR問答 250題面第1關 550題面234關 我準備的刷題方式 是把leetcode的study plan先寫完 然後每天寫daily 並且按照這個網站刷https://neetcode.io/ 寫題目的時候 如果10分鐘內想不到最佳解(包含時間複雜度) 就可以直接找答案來看 並且把解法學起來 每題寫完的題目 也要去看看別人是怎麼解的 即使原本不用看解答也能寫對 並且把程式優化,修到最好的版本 要練習到每一題都要在第一時間想到最佳解 並且一次寫就能寫對的程度 面試當下如果說不出夠好的解法 面試官也不會讓你開始寫 可以練習用run確認有沒有compiler 問題 確認沒問題之後直接submit 然後要一次對 hard的題目也一定要寫 因為真的有可能問到這麼難 各種題目題型都要刷(dp, bs, graph, array, …….) 各種特殊演算法也都要會(union, trie, …) Google面試重視的是能不能想出夠好的解法 並且在接近0失誤的情況下完成 還要能夠驗證正確性,清晰的解釋給面試官聽 以上全部要在45分鐘內完成 所以在平常刷題時候要盡量要求自己寫題能表現到完美 - - - 刷題的時候,每100題都是一個坎 基礎建立時期: 0~100是程式基本資料結構和演算法的建立,熟悉基本語法 100~200會接觸到簡單演算法的模板(DFS, BFS, BS, DP……) 題型熟悉時期: 200~300開始會接觸特殊演算法 這時候會自以為有點小成 但是有些題目還是會卡超久都想不到 才發現有些演算法根本想不到 300-400會開始熟悉所有題型 這時候會開始接觸各種題型的hard 並且熟悉每種題型的解法 開始練習看到題目就要知道該怎麼解 (有些題目跟你說解法,你還是不知道怎麼解) (蛤?為什麼這題是Binary search?) -> 最常見 (這題dp條件要怎麼更新?) 解法優化時期: 400之後,9成以上的題目都難不倒你 medium 即使沒看過,基本也都能秒殺 hard題型如果遇過,也都能在1小時內寫完 這時候會開始優化解法 不只要寫對,還要寫的美,寫得漂亮 之後累積題目的速度就會變很快 也很容易寫到以前寫過的題目 可以看一下自己青澀時期的寫法 並且重寫一次,讓現在的自己把他修得更美 後面就是題目累積和增加熟悉度 打週賽基本上都能輕鬆快速完成3題 (但我每次第四題都TLE 囧) - - - Google面試前準備: 面試前一定要找朋友mock interview 最好是有面試過google的朋友 面試的時候需要邊寫code邊解釋自己在寫什麼 對於沒有練習過的人來說是一個很大的挑戰 尤其是還需要用英文講解 所以平常也要練習邊寫程式邊講解 面試當下不一定要寫出能夠work的code 所以call function的時候如果input參數忘記,可以簡單寫一下 跟面試官達成共識,讓他知道你寫這行想要做什麼就好 平常也要練習考慮各種edge case 並且練習全部想好怎麼寫之後再開始寫,不要邊寫邊想 也不要寫到一半才發現前面沒考慮到,又回去改 再來就是面試的時候可以多和面試官討論 例如確認input size or 有沒有負值 如果想不到解法,也可以先講暴力法 面試官都會斟酌給提示,引導你往最佳解思考 (我當時就是不確定還要硬掰,不好好跟面試官討論QQ) - - - 如果有什麼面試細節不夠清楚的 可以留言或站內信問我 謝謝各位的觀看 ----- Sent from JPTT on my iPad -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.192.228.127 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Tech_Job/M.1691249057.A.BDC.html

214 則留言

※ 編輯: Dust2080 (123.192.228.127 臺灣), 08/05/2023 23:34:27

wondtty, 1F
N是?
去年發哥新人價

psow123, 2F
※ 編輯: Dust2080 (123.192.228.127 臺灣), 08/05/2023 23:36:44

a98987605, 3F

papapa, 4F
韌體一年經驗能累積到什麼?
FTL,我也不想再碰,所以我很老實的說只會c & c++,其他都不會><

HelloPPT, 5F
※ 編輯: Dust2080 (123.192.228.127 臺灣), 08/05/2023 23:45:31
※ 編輯: Dust2080 (123.192.228.127 臺灣), 08/05/2023 23:47:20

fish0112, 6F
用c++刷600題也很強了

brightest, 7F
硬體仔表示有題可刷真好

LinuxKernel, 8F
考成這樣結果進去該不會在做系統廠的事

qk3380888, 9F
面了一年 好痛苦…

gn01705529, 10F
軟體夢大概只能支撐頭幾年

nolegoat, 11F
請問google會承認一線ic的年資嗎
根據能力面試職等 pay的話各憑本事談 應該沒有像台廠一樣的職等&薪資換算公式

gn01705529, 12F
後來還是回到錢跟business

gn01705529, 13F
軟體能幹嘛?能不能賺錢才是重點

gn01705529, 14F
最後還是得回到公司政治及派系

gn01705529, 15F
除非你不想升遷

ppc, 16F
g社面試流程好恐怖
※ 編輯: Dust2080 (49.216.166.194 臺灣), 08/06/2023 00:19:25

NewLifePage, 17F
真的很厲害 推一個!

touurtn, 18F
B這樣也能錄取== 很好奇面試都不問資料庫嗎
他有問 但是我連題目都聽不懂xD 不過他問了很多c++和os底層實作方式 我基本上全部都有回答出來 他們覺得我c++實力很好 願意讓我後端從0開始學

russellluo, 19F
google 的招聘流程真的是太慢了

john11894324, 20F
看起來可以進google的都是神人
※ 編輯: Dust2080 (123.192.228.127 臺灣), 08/06/2023 00:32:00
※ 編輯: Dust2080 (123.192.228.127 臺灣), 08/06/2023 00:35:12

steak5566, 21F
大大已經很強了 台灣g真的好卷
我最近開始寫兩三次 都是前三題寫完 第4題TLE

steak5566, 22F
可以問一下大大週賽大概幾分嗎?

OUX8513, 23F
我跟你說,如果你之後有貸款的需求,有些銀行是不貸

OUX8513, 24F
給博弈相關公司的

jim543000, 25F
之前五個面向只要一個border line就會是lean hire
我不知道怎麼樣算coding失敗 不過我每一關都有寫出最佳解 or 次佳解

jim543000, 26F
兩個就是no hire 標準看來降低了嘛

jim543000, 27F
只有方向coding失敗也有lean hire簡直太不可思議

bla, 28F
看完我只覺得google有病…
※ 編輯: Dust2080 (123.192.228.127 臺灣), 08/06/2023 00:51:55

jim543000, 29F
非最佳解就是失敗的意思
ok 那可能早期真的比較高 現在只要能寫出面試官覺得夠好的解法就可以了 面試官還跟我說我O(nlogn)的方法還不錯 O(n)的解法實際上不一定比我的方法好

boomberm, 30F
我怎記得只要有一個no hire基本就沒救了
我原本也這麽以為 但HR讓我繼續往下走 那就等看看有沒有加面的機會
※ 編輯: Dust2080 (123.192.228.127 臺灣), 08/06/2023 00:58:54
※ 編輯: Dust2080 (123.192.228.127 臺灣), 08/06/2023 00:59:50

jim543000, 31F
早期標準比較高無誤 但也是之前的事情 有g就進吧 pa

jim543000, 32F
y還算香

lantimes, 33F
加油啦 你的程度應該勝過新店 和TPKD一堆人了 耐心

lantimes, 34F
等等吧
※ 編輯: Dust2080 (123.192.228.127 臺灣), 08/06/2023 01:09:22

ArayaHellCat, 35F
推分享

holebro, 36F
挖現在這麼難喔

IllMOR, 37F
之後要繼續走軟體再選B

IllMOR, 38F
不過最好還是不要博弈,你條件應該可以找到薪水差不

IllMOR, 39F
多的正常公司