[心得] 後端面試心得(Java)

作者: moonjimmy (zoo一個猛)   2022-05-29 04:57:51
面試時間:4-5月
自我介紹:
大學學店延畢仔+四中碩,年資約6-7y。主學Java,其他語言js, kotlin略懂。
唸書時期完全混日子,九九乘法表要寫半小時,碩論發發問卷準時下課。畢業後
研替在一間軟體外包商做銀行系統做SA,主要工作內容是密集的user訪談開spec,
偶爾碰碰sql, java, js。服役期滿衝著翻倍的薪水到菲律賓做博弈,此時才真正開始
寫程式,實際coding年資約4年,在東南亞不同的博弈公司轉換了幾次,去年開始學
k8s生態系相關的devOps概念並有少量的實作,主要技能點都在Spring框架,大略方向
EJB -> Spring Boot -> Spring Cloud。前端很菜,大部分都在維護前人留下的code
(Angular, React)。今年三月因爲多方因素下有強烈動機歸國洗白,開始這次不算長的
面試旅程。附上履歷前半部分參考:https://imgur.com/a/LUIUD2G
面試準備:
三月中下決心要離職,開始利用閒暇時間整理履歷,複習框架各種實作細節,
準備方向大概是幾個主題: concurrent, immutable, microservice structure,
redis, memory usage, transaction, index, Pessimistic/Optimistic Locking,
Isolation。
Leetcode premium一個月刷下去,依據實際面試出現次數排序往下做,
每天easy, medium大概1:1做個5-6題,持續約3周。
在四月中返台機票買了開始投履歷:
MTK(沒得到面試機會), TSMC, LINE Taiwan。
本來預估要是面試不順利,會繼續投Appier, 趨勢, Innova,
不過運氣不錯所以後面的計畫都沒有執行。
TSMC:
官網註冊後,職缺列表搜尋關鍵字JAVA,投了四五個看起來較為相關的職缺,
幾天後HR來信詢問另外兩個部門的面試意願(都不是我投的)。
D-4: Hackerrank線上測驗,限時90分鐘,難度大概medium, medium, hard
D-0: 剛回國直接在防疫旅館和單位主管線上面試,首先和我介紹目前IT主要的工作,
要加速內部自動化的進度,把內部各種系統以Cloud Native重構(TypeScript/Kotlin)
並配合SRE去維護私有雲。後面主要圍繞在履歷上相關經驗提問,問了很多實作上有可能
遇到的問題,例如restful/gRpc, memory leak, continuous testing, load balance。
其他對於CI/CD, microservice, functional programming這幾個主題有比較多的討論。
結束後開了個full stack的作業,時限兩週,後續二面會針對作業內容安排和團隊成員
們一起進行。
D+6: 英文線上考試,類似多益的題型,25題聽力25題閱讀,沒注意時間到了最後五題
直接空白(碩畢時多益成績8xx)
D+7: 團隊線上二面,前端的部分沒什麼聊到,後端主要聚焦在test case design,
error handling, db table設計,這幾個項目做更深入的討論,例如是否有更好地實現
方式、這個方案有什麼優缺點等。我自認在這關表現滿差的,很多地方為了求快速寫完
有些欠缺考慮,還有一題被問這個API的優化方案直接回答不出來,算是被震撼教育了
一下,面完一度認為大概是沒機會了。
D+11: HR關,第一次遇到沒有讓我自我介紹的HR。從大學時期開始提問,包含延畢原因
,後續工作上遇到的困難、離職原因、對於這次應徵職位的了解等等,沒什麼刁鑽的
問題。
D+18: 另一個單位的主管面試,同樣是IT部門下,同樣是要把內部老舊的系統翻新,
後續計畫要把原來java寫的系統轉為TypeScript上雲。問了很多在微服務架構相關的
問題,例如為何用spring cloud、 Microservice優缺點、部署流程、服務間的通訊設計
等,主要都是問你宏觀的概念或實務上的操作,coding細節的問題幾乎沒有,
如果對雲服務架構足夠熟悉應該都不是很難回答。
D+20: HR來信詢問想去哪個單位
D+22: 口頭offer
D+24: 電子offer
Line Taiwan:
Line Career 主動投遞,隔天收到回信要求做一份OA和後端的作業。
OA是大約8題的選擇+問答題,和2題約easy程度的coding test,前面選擇題的部分問的
很深,幾乎涵蓋所有後端+運維,我有兩題直接空白(雖然可以猜,但考慮到後續面試
如果被問到可能適得其反)。Coding test的平台相當難用,建議可以開個自己熟悉的
ide寫好在copy上去就好。作業的部分就是實做一個backend project,建議把它當作
一個實際的production來寫,我寫的時候因為覺得太簡單,沒有很認真去對待它,
後續面試一袋米要扛幾樓。作業完成並做完OA後一天收到面試邀請。
D-14: pre-assessment
D-0: 線上面試,backend lead + 另一位不同單位的主管 + 1位工程師 + 1位HR。
首先面試官們會先自我介紹一輪,然後開始介紹這次面試的職缺的工作內容,
需要具備哪些能力等。簡短的自我介紹後,直接進入問問題環節,面試官會要求
你分享螢幕畫面,打開IDE和前面要求你做的project,從test case開始仔細地問你
這麼寫的理由、可能會出現異常的地方、並且會當場要你用另外一種實現方式重寫
一部分的程式碼,一邊寫一邊和你討論是否有更好或考慮更全面的寫法。再來開始以
整個Spring框架為範圍做提問,比較有印象的有concurrent問題、redis實務上的應用
和實現方式、git操作、table index設計、CI/CD、k8s結構、現場給一個需求問你會
怎麼設計這樣的情境題,建議可以先把notepad開著,因為很多問題會要你條列式的把
實現步驟寫出來討論,整體面試流程還滿長的,接近兩小時。因為第一次做這種類似
線上白板的面試,我還滿緊張的,快結束時面試官鼓勵我說我的表現還不錯,雖然
不知道是不是在安慰我,但心情至少放鬆了一點。
D+1: HR通知第一階段通過,預約二面時間
D+4: HR面試,和我確認職缺的工作內容,問了些前面工作的經歷和題職原因,
期望薪資等。後面仔細的和我介紹組織架構、薪資結構、和日本韓國team的協作、
福利制度,這次時間約30分鐘。
D+9: HR來信要我提供一些畢業證書等個人資料
後續根據可能的核薪範圍,判斷應該和另一家還是有一些差距,婉拒了後續的流程
心得:
雖然博弈業一直以來我待的還算舒服(WFH快兩年),但缺點也實在不少,
尤其是生活下一個階段需要和銀行打交道的時候,還有和親戚解釋你在做什麼工作
的時候。這次回台原本有心理準備接受降薪待遇,但很幸運最後是無縫接軌。
博弈業相對封閉的環境真的會讓人感受不到外界的變化,技術沒什麼在迭代,
準備面試的過程中感受到了我能力的局限,要是我再晚幾年走可能比現在困難好幾倍
。感謝soft_job讓我退場成功,我以後ㄧ定好好做人 嗚嗚
作者: vencil (vencs)   2022-05-29 06:53:00
推分享
作者: chrischen (一個人的長假)   2022-05-29 06:59:00
推 博弈已經走下坡 洗的漂亮
作者: foreverk (文藝青年)   2022-05-29 06:59:00
公司技術封閉真的滿可怕的,對公司來說是穩定,對員工來說卻是不利未來發展
作者: ke265379ke (山王澤北)   2022-05-29 07:07:00
你老闆是fb來的嗎? 上次好像有版友分享tsmc有個待過fb的sre技術長?
作者: jen1121 (Old_Hsiao)   2022-05-29 07:37:00
波菜早不行了
作者: hobnob (hobnob)   2022-05-29 09:59:00
好厲害,推推
作者: devilkool (對貓毛過敏的貓控)   2022-05-29 10:24:00
作者: loveu8 (RA1-推廣)   2022-05-29 10:49:00
蠻意外從java 轉 typescript的蠻好奇tsmc他們內部怎麼評選轉換的XD
作者: k798976869 (kk)   2022-05-29 12:22:00
空降大頭想玩就玩 成功升官加薪 失敗兩手一攤走人 爽
作者: cjamhe01385 (徹)   2022-05-29 12:39:00
這不是 FB 主管的 team,聽說是 NTAD tiger team?
作者: umum29 (....)   2022-05-29 12:40:00
好奇java轉typescript+1 應該是javascript轉typescript
作者: DrTech (竹科管理處網軍研發人員)   2022-05-29 13:09:00
你的技術沒什麼迭代,已經贏台灣一狗票人了。其實我蠻建議大家參考這篇履歷的寫法,不要寫精通Java,精通xx,沒意義,寫你做過什麼事情,量化一下規模與成果就好。
作者: sam125502000 (媽媽叫我去台科大)   2022-05-29 13:26:00
比較好奇最後年資承認多少 跨產業的話
作者: ghmsxtwo (YI)   2022-05-29 13:29:00
GG IT 承認純軟資歷,我猜原po 32職等?
作者: hakosaki (hakosaki)   2022-05-29 14:06:00
先推再看
作者: hegemon (hegemon)   2022-05-29 15:05:00
java轉typescript 沒啥問題呀,老闆叫你轉就轉呀整個後端開始往nodejs走
作者: loveu8 (RA1-推廣)   2022-05-29 15:54:00
若是純後端的話,deno當作一個平台,也是不錯的選擇原生支援typescript若是要前後整合一包的話,還是nodejs比較方便就是
作者: charliejack (charliejack)   2022-05-30 22:04:00
推推
作者: flyfrog188   2022-06-01 10:04:00
恭喜洗白,有緣再相聚
作者: PoloHuang (黃保羅)   2022-06-07 18:32:00
恭喜加入gg

Links booklink

Contact Us: admin [ a t ] ucptt.com