鐵人賽 後端面試題,問什麼? - Jian-Min-Huang/tech-note GitHub Wiki
前言
承續上一天,今天的主題一樣跟面試有關,那跟軟體開發啥關係,昨天是準備入門,今天就是已經入門了,用一個很商業的角度去衡量你大概偏離主流多遠。但偏離主流是錯的嗎?不不不,偏離主流沒有錯,事實上有些人覺得當小眾還很酷呢!但反正這一樣是有優缺的,這就留待個人自己去衡量選擇。
語言本體
- 問 Java 特性?或是其他語言怎麼實作那些特性?問熟悉度?
RDBMS 上場
- 資料相關,型別差別?量級?
- Index 相關,種類?原理?優缺?
- 查詢議題,速度快慢?JOIN?
- 寫入議題,速度快慢?交易?
- 架構議題,主從?讀寫分離?分表分庫?Partition?叢集?
- 特殊議題,full table scan、db lock,... 等等。
NoSQL 附加
- CAP?問使用情境?如果用的很深,就問怎麼處理以前 RDBMS 輕鬆處理的事要怎麼用 NoSQL 解。
Cache 隨後
- 使用情境?量級?怎麼處理競爭跟鎖?
多執行緒
- 問熟悉度?使用場景?進階的框架有沒有用過 (例如 Reactive、Actor、Routine)?
Spring
- 問熟悉度?如果有用就接著問使用場景跟特性,如果沒用就問通常我們用 Spring 處理掉的東西怎麼處理的 (例如 @Transactional、DI 和 Scheduler)。
系統架構與環境部屬
- 架構規劃、負載平衡、雲生化、量級、微服務、DevOps、Log & Metrics、效能調教、... 等等。
測試
- 寫不寫單元測試?怎麼做整合測試?自動化跟壓力測試?
軟實力
- 怎麼跟其他部門配合?開發流程?除錯流程?
以上的題目就是我面一隻 Senior 大概會問到的題目,當然不是說全都要會才會上,但多少薪水多少期待,這是互相的。這邊就寫出來給大家參考一下自己有沒有對上面的字眼完全感到陌生的,可以去補齊一下 :)
About Me
Jian-Min Huang
wide range skill set backend engineer
Research, Architecture, Coding, DB, Ops, Infra.
mainly write Java but also ❤️ Scala, Kotlin and Go