本內容來源於我的一位學長親身經歷,先在58,後阿里,如今準備跳槽了,以下內容為他的最近面試經歷
我最近從大廠離職之後在合肥呆了個把月,之前已經準備了半個多月,從7月底開始投簡歷面試,目前是java高階職位,到現在為止已經面了24+公司了,手上也有一些意向offer。現在把跟面試官對壘的面試問題總體記錄一下。
手撕程式碼連環炮
- 單例模式瞭解嗎?有哪幾種?
- 寫個單例模式?這個單例模式有什麼問題?
- sychronized怎麼用的?
- volatile呢?
- 寫個冒泡演演算法?
- 假如有個陣列[1,2,3,3,4,4,5,6,6,7],相對遞增有序,給定一個值假如3,列印這個值在陣列中出現的第一個索引下標?分析一下你寫的這個程式的時間複雜度。
- 寫個快速排序?非遞迴怎麼實現?
- 寫個二元樹的前序遍歷?二元樹的非遞迴中序遍歷?
- 假如有個陣列[3,2,2,3,3,4,4,5,6,6,7,4,4,4],有重複資料,現在要去重,要求去重後的陣列元素與原來資料的索引順序一致。分析一下時間複雜度和空間複雜度?有沒有更好的解法?思路是什麼?
- 假如有個陣列[1,3,7,3,8,4,9,6],現在要求陣列中存在最大差值的兩個數的索引下標。條件是要索引下標大的減索引下標小的才可以。分析一下時間複雜度和空間複雜度?有沒有更好的解法?思路是什麼?
- 手寫一個LRU Cache,保障get/put api都是O(1)的時間複雜度?
- 編寫一個程式實現最小棧?
推薦我的面試複習資料
這裡分享一份超級大牛總結的Java面試必備的複習資源《Java面試必備手冊》涵蓋29個Java核心技術詳解,JVM,Redis,Nginx,Spring Boot,Spring Cloud,Kafka,並行程式設計,Tomcat,MyBatis,BAT面試題等。轉發+關注,然後新增我的VX(tkzl6666)即可獲得免費領取方式!
網路協定連環炮
- 網路協定了解嗎?
- 說一下7層網路協定有哪些層?
- 說一下我從瀏覽器輸入一個url存取天貓網站整個過程經歷了什麼?
- DNS是幹嘛的?
- CDN瞭解嗎?幹嘛的?
- 假如我存取12306,發現很慢,怎麼排查?
- 說一下http協定的請求頭有哪些?
- 說一下https與http的區別?
- 說一下http的狀態碼有哪些,代表什麼意思?
- 說一下HTTP中session和cookie的區別?
- 說一下HTTP建立連結的過程?
- RPC框架用過嗎?是基於TCP協定的嗎?
- 說一下TCP協定的握手和揮手過程?為什麼是三次握手,四次揮手呢?
- TCP滑動視窗瞭解嗎?解決了什麼問題?
- 假如我的RPC服務出現了大量Timewait和closewait的連結應該怎麼排查?
- TCP長連結和短連結了解嗎?有什麼區別?分別適用於什麼場景?
推薦我的TCP相關複習資料
這裡分享一份我覺得非常棒的一份TCP相關書籍《TCP/IP協定族(第四版)》轉發+關注,然後新增我的VX(tkzl6666)即可獲得免費領取方式!
設計模式連環炮
- 你用過哪些策略模式?舉幾個例子?
- mybatis或者spring原始碼閱讀過嗎?瞭解裡面有哪些設計模式嗎?
- java類載入機制瞭解嗎?用的是什麼設計模式?
- 單例模式用過嗎?寫個單例模式?還有其他實現方案嗎?有什麼區別?
- 說一下什麼是策略模式?有什麼優缺點?說一下代理模式在哪些地方會用到?
- 假如我要對接第三方的系統,但是我自己的業務服務協定不支援,如果支援的話有一定改造成本,用哪種設計模式會減少對系統的侵入性?
- 說一下介面卡模式和橋接模式的區別?
推薦我的設計模式複習資料
這裡分享我的設計模式複習資料,來自位元組跳動大牛總結整理的《Java設計模式(實戰+原始碼)》,轉發+關注,然後新增我的VX(tkzl6666)即可獲得免費領取方式!
業務系統架構連環炮
- 你好,我是xx公司的面試官我叫xx,你先做個自我介紹吧?
- 說說你比較擅長哪方面?java後端?更詳細的呢?
- 說說你怎麼用這些技術的?
- 說一下你比較熟悉的專案?
- 說一下哪些系統或者大型模組是你獨立作為owner開發的?有什麼挑戰?
- 畫一下業務架構圖?裡面有哪些核心業務模型?
- 業務領域有哪些?
- 是微服務架構的話你這麼多工程是通過什麼分工的?為什麼這麼做?
- 你覺得這個系統的架構模型有什麼缺點?
- DDD瞭解嗎?如果是你你怎麼梳理領域模型?
- 不依賴任何具體框架你怎麼設計工程架構和業務功能模組?說說這麼做的好處是什麼?
- 說幾個你熟悉的業務流程,在紙上/白板上畫一下?
hr連環炮
- 你好,請問你對我們的面試流程有什麼想法?
- 覺得我們的面試官怎麼樣?
- 我們公司的辦公環境怎麼樣?
- 你在上家公司主要是做哪方面的內容?有什麼成長?
- 你離開上家公司的原因是什麼?
- 說說你對上家公司的印象?工作氛圍怎麼樣?
- 請問你對下一份工作有什麼要求嗎?想從事哪方面的工作呢?
- 工作中遇到哪些令你印象深刻的問題?你是怎麼解決的?
- 說說你最近有沒有其他需要學習的地方?你平時是怎麼學習的?
- 你覺得你有什麼優缺點?
- 有女朋友嗎?
- 我們公司目前會有加班,你可以接受嗎?
- 你期望的最低薪資是多少?
- 你現在面試了多長時間呢?
- 手頭上有幾個offer?如果給你offer你大概最快什麼時候可以入職呢?
效能優化連環炮
- 做過java程式效能優化嗎?
- 假如我有一個RPC服務出現了FGC怎麼排查?
- 假如我有很多服務在不同的機器上,其中某個服務超時比較嚴重該怎麼做?
- 假如我通過監控發現CPU飈的比較高怎麼看?
- 一條sql執行的比較慢你會怎麼排查?
- RPC原理了解嗎?說說RPC的呼叫過程?
- 假如你去設計一個RPC框架你會從哪些方面去考慮這個框架的效能和高可用?
- 說說為什麼要進行服務治理?
- 微服務中引入docker/k8s有什麼優缺點?
- 你平時部署系統的時候用的持續整合系統是什麼?有什麼特色功能提高開發效率?
- 做過效能測試嗎?如何評估一個介面的效能指標?
- 假如我某個上游系統呼叫我的介面並行很高,我該怎麼做?
- 如果上游系統對時延比較敏感你該怎麼做?
- 如果上游系統是比較核心的應用不能限流怎麼辦?
推薦我的效能優化複習資料
這裡分享一份很牛的大佬寫的《Java程式效能優化——讓你的Java程式更快、更穩定》轉發+關注,然後新增我的VX(tkzl6666)即可獲得免費領取方式!
反問面試官連環炮
HR:
- 請問你們公司一般上下班是大概幾點呢?
- 請問你負責的這個部門目前技術團隊大概有多少人呢?
- 請問你們公司未來準備招多少人?
- 是不是處於業務上升期呢?
- 聽說你們公司最近風評不太好,是真的嗎?
- 現在手頭上還有其他offer,假如能給offer的話,你這邊能開出什麼更有吸引力的條件嗎?
- 目前公司的福利啥的能簡單介紹一下嗎?
面試官:
- 我現在沒有什麼問題了,你有什麼要問我的嗎?
- 我問一下你現在負責的大概是哪方面的內容?
- 你們部門目前在公司是怎麼樣的定位?
- 你們部門團隊目前有多少人?
- 請問你最近有沒有遇到過比較有挑戰的問題?
- 你們部門做的這個系統有沒有考慮商業化呢?
- 儲存系統怎麼做的,Mysql?
- 你能說一下你負責的這個業務的大體內容和流程嗎?
- 我問一下剛剛面試的問題你有什麼思路嗎?