PTT推薦

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

看板Soft_Job標題[心得] 後端面試心得(Java)作者
moonjimmy
(zoo一個猛)
時間推噓13 推:13 噓:0 →:13

面試時間: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讓我退場成功,我以後ㄧ定好好做人 嗚嗚

--

※ PTT留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.228.239.93 (臺灣)
PTT 網址

vencil05/29 06:53推分享

chrischen05/29 06:59推 博弈已經走下坡 洗的漂亮

foreverk05/29 06:59公司技術封閉真的滿可怕的,對公司來說是穩定,對員工

foreverk05/29 06:59來說卻是不利未來發展

ke265379ke05/29 07:07你老闆是fb來的嗎? 上次好像有版友分享tsmc有個待過f

ke265379ke05/29 07:07b的sre技術長?

jen112105/29 07:37波菜早不行了

hobnob05/29 09:59好厲害,推推

devilkool05/29 10:24

loveu805/29 10:49蠻意外從java 轉 typescript的

loveu805/29 10:50蠻好奇tsmc他們內部怎麼評選轉換的XD

k79897686905/29 12:22空降大頭想玩就玩 成功升官加薪 失敗兩手一攤走人 爽

cjamhe0138505/29 12:39這不是 FB 主管的 team,聽說是 NTAD tiger team?

umum2905/29 12:40好奇java轉typescript+1 應該是javascript轉typescript

DrTech05/29 13:09你的技術沒什麼迭代,已經贏台灣一狗票人了。

DrTech05/29 13:18其實我蠻建議大家參考這篇履歷的寫法,不要寫精通Java,精

DrTech05/29 13:18通xx,沒意義,寫你做過什麼事情,量化一下規模與成果就好

DrTech05/29 13:18

sam12550200005/29 13:26比較好奇最後年資承認多少 跨產業的話

ghmsxtwo05/29 13:29GG IT 承認純軟資歷,我猜原po 32職等?

hakosaki05/29 14:06先推再看

hegemon05/29 15:05java轉typescript 沒啥問題呀,老闆叫你轉就轉呀

hegemon05/29 15:05整個後端開始往nodejs走

loveu805/29 15:54若是純後端的話,deno當作一個平台,也是不錯的選擇

loveu805/29 15:55原生支援typescript

loveu805/29 15:55若是要前後整合一包的話,還是nodejs比較方便就是