1. 程式人生 > 實用技巧 >來自阿里面試官的Java面試連珠炮,讓你自由發揮你能撐到哪一步?

來自阿里面試官的Java面試連珠炮,讓你自由發揮你能撐到哪一步?

本內容來源於我的一位學長親身經歷,先在58,後阿里,如今準備跳槽了,以下內容為他的最近面試經歷

我最近從大廠離職之後在合肥呆了個把月,之前已經準備了半個多月,從7月底開始投簡歷面試,目前是java高階職位,到現在為止已經面了24+公司了,手上也有一些意向offer。現在把跟面試官對壘的面試問題總體記錄一下。

手撕程式碼連環炮

  1. 單例模式瞭解嗎?有哪幾種?
  2. 寫個單例模式?這個單例模式有什麼問題?
  3. sychronized怎麼用的?
  4. volatile呢?
  5. 寫個冒泡演算法?
  6. 假如有個陣列[1,2,3,3,4,4,5,6,6,7],相對遞增有序,給定一個值假如3,列印這個值在陣列中出現的第一個索引下標?分析一下你寫的這個程式的時間複雜度。
  7. 寫個快速排序?非遞迴怎麼實現?
  8. 寫個二叉樹的前序遍歷?二叉樹的非遞迴中序遍歷?
  9. 假如有個陣列[3,2,2,3,3,4,4,5,6,6,7,4,4,4],有重複資料,現在要去重,要求去重後的陣列元素與原來資料的索引順序一致。分析一下時間複雜度和空間複雜度?有沒有更好的解法?思路是什麼?
  10. 假如有個陣列[1,3,7,3,8,4,9,6],現在要求陣列中存在最大差值的兩個數的索引下標。條件是要索引下標大的減索引下標小的才可以。分析一下時間複雜度和空間複雜度?有沒有更好的解法?思路是什麼?
  11. 手寫一個LRU Cache,保障get/put api都是O(1)的時間複雜度?
  12. 編寫一個程式實現最小棧?

推薦我的面試複習資料

這裡分享一份超級大牛總結的Java面試必備的複習資源《Java面試必備手冊》涵蓋29個Java核心技術詳解,JVM,Redis,Nginx,Spring Boot,Spring Cloud,Kafka,併發程式設計,Tomcat,MyBatis,BAT面試題等。轉發+關注,然後新增我的VX(tkzl6666)即可獲得免費領取方式!

網路協議連環炮

  1. 網路協議瞭解嗎?
  2. 說一下7層網路協議有哪些層?
  3. 說一下我從瀏覽器輸入一個url訪問天貓網站整個過程經歷了什麼?
  4. DNS是幹嘛的?
  5. CDN瞭解嗎?幹嘛的?
  6. 假如我訪問12306,發現很慢,怎麼排查?
  7. 說一下http協議的請求頭有哪些?
  8. 說一下https與http的區別?
  9. 說一下http的狀態碼有哪些,代表什麼意思?
  10. 說一下HTTP中session和cookie的區別?
  11. 說一下HTTP建立連結的過程?
  12. RPC框架用過嗎?是基於TCP協議的嗎?
  13. 說一下TCP協議的握手和揮手過程?為什麼是三次握手,四次揮手呢?
  14. TCP滑動視窗瞭解嗎?解決了什麼問題?
  15. 假如我的RPC服務出現了大量Timewait和closewait的連結應該怎麼排查?
  16. TCP長連結和短連結瞭解嗎?有什麼區別?分別適用於什麼場景?

推薦我的TCP相關複習資料

這裡分享一份我覺得非常棒的一份TCP相關書籍《TCP/IP協議族(第四版)》轉發+關注,然後新增我的VX(tkzl6666)即可獲得免費領取方式!

設計模式連環炮

  1. 你用過哪些策略模式?舉幾個例子?
  2. mybatis或者spring原始碼閱讀過嗎?瞭解裡面有哪些設計模式嗎?
  3. java類載入機制瞭解嗎?用的是什麼設計模式?
  4. 單例模式用過嗎?寫個單例模式?還有其他實現方案嗎?有什麼區別?
  5. 說一下什麼是策略模式?有什麼優缺點?說一下代理模式在哪些地方會用到?
  6. 假如我要對接第三方的系統,但是我自己的業務服務協議不支援,如果支援的話有一定改造成本,用哪種設計模式會減少對系統的侵入性?
  7. 說一下介面卡模式和橋接模式的區別?

推薦我的設計模式複習資料

這裡分享我的設計模式複習資料,來自位元組跳動大牛總結整理的《Java設計模式(實戰+原始碼)》,轉發+關注,然後新增我的VX(tkzl6666)即可獲得免費領取方式!

業務系統架構連環炮

  1. 你好,我是xx公司的面試官我叫xx,你先做個自我介紹吧?
  2. 說說你比較擅長哪方面?java後端?更詳細的呢?
  3. 說說你怎麼用這些技術的?
  4. 說一下你比較熟悉的專案?
  5. 說一下哪些系統或者大型模組是你獨立作為owner開發的?有什麼挑戰?
  6. 畫一下業務架構圖?裡面有哪些核心業務模型?
  7. 業務領域有哪些?
  8. 是微服務架構的話你這麼多工程是通過什麼分工的?為什麼這麼做?
  9. 你覺得這個系統的架構模型有什麼缺點?
  10. DDD瞭解嗎?如果是你你怎麼梳理領域模型?
  11. 不依賴任何具體框架你怎麼設計工程架構和業務功能模組?說說這麼做的好處是什麼?
  12. 說幾個你熟悉的業務流程,在紙上/白板上畫一下?

hr連環炮

  1. 你好,請問你對我們的面試流程有什麼想法?
  2. 覺得我們的面試官怎麼樣?
  3. 我們公司的辦公環境怎麼樣?
  4. 你在上家公司主要是做哪方面的內容?有什麼成長?
  5. 你離開上家公司的原因是什麼?
  6. 說說你對上家公司的印象?工作氛圍怎麼樣?
  7. 請問你對下一份工作有什麼要求嗎?想從事哪方面的工作呢?
  8. 工作中遇到哪些令你印象深刻的問題?你是怎麼解決的?
  9. 說說你最近有沒有其他需要學習的地方?你平時是怎麼學習的?
  10. 你覺得你有什麼優缺點?
  11. 有女朋友嗎?
  12. 我們公司目前會有加班,你可以接受嗎?
  13. 你期望的最低薪資是多少?
  14. 你現在面試了多長時間呢?
  15. 手頭上有幾個offer?如果給你offer你大概最快什麼時候可以入職呢?

效能優化連環炮

  1. 做過java程式效能優化嗎?
  2. 假如我有一個RPC服務出現了FGC怎麼排查?
  3. 假如我有很多服務在不同的機器上,其中某個服務超時比較嚴重該怎麼做?
  4. 假如我通過監控發現CPU飈的比較高怎麼看?
  5. 一條sql執行的比較慢你會怎麼排查?
  6. RPC原理了解嗎?說說RPC的呼叫過程?
  7. 假如你去設計一個RPC框架你會從哪些方面去考慮這個框架的效能和高可用?
  8. 說說為什麼要進行服務治理?
  9. 微服務中引入docker/k8s有什麼優缺點?
  10. 你平時部署系統的時候用的持續整合系統是什麼?有什麼特色功能提高開發效率?
  11. 做過效能測試嗎?如何評估一個介面的效能指標?
  12. 假如我某個上游系統呼叫我的介面併發很高,我該怎麼做?
  13. 如果上游系統對時延比較敏感你該怎麼做?
  14. 如果上游系統是比較核心的應用不能限流怎麼辦?

推薦我的效能優化複習資料

這裡分享一份很牛的大佬寫的《Java程式效能優化——讓你的Java程式更快、更穩定》轉發+關注,然後新增我的VX(tkzl6666)即可獲得免費領取方式!

反問面試官連環炮

HR:

  1. 請問你們公司一般上下班是大概幾點呢?
  2. 請問你負責的這個部門目前技術團隊大概有多少人呢?
  3. 請問你們公司未來準備招多少人?
  4. 是不是處於業務上升期呢?
  5. 聽說你們公司最近風評不太好,是真的嗎?
  6. 現在手頭上還有其他offer,假如能給offer的話,你這邊能開出什麼更有吸引力的條件嗎?
  7. 目前公司的福利啥的能簡單介紹一下嗎?

面試官:

  1. 我現在沒有什麼問題了,你有什麼要問我的嗎?
  2. 我問一下你現在負責的大概是哪方面的內容?
  3. 你們部門目前在公司是怎麼樣的定位?
  4. 你們部門團隊目前有多少人?
  5. 請問你最近有沒有遇到過比較有挑戰的問題?
  6. 你們部門做的這個系統有沒有考慮商業化呢?
  7. 儲存系統怎麼做的,Mysql?
  8. 你能說一下你負責的這個業務的大體內容和流程嗎?
  9. 我問一下剛剛面試的問題你有什麼思路嗎?