本內容來源于 16 年畢業的學長,先在 58,后阿里,如今準備跳槽了,以下內容為他的最近面試經歷,
我最近從大廠離職之后在合肥呆了個把月,之前已經準備了半個多月,從7月底開始投簡歷面試,目前是JAVA高級職位,到現在為止已經面了24+公司了,手上也有一些意向offer?,F在把跟面試官對壘的面試問題總體記錄一下。
手撕代碼連環炮
- 單例模式了解嗎?有哪幾種?
- 寫個單例模式?這個單例模式有什么問題?
- 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)的時間復雜度?
- 編寫一個程序實現最小棧?
網絡協議連環炮
- 網絡協議了解嗎?
- 說一下7層網絡協議有哪些層?
- 說一下我從瀏覽器輸入一個url訪問天貓網站整個過程經歷了什么?
- DNS是干嘛的?
- CDN了解嗎?干嘛的?
- 假如我訪問12306,發現很慢,怎么排查?
- 說一下http協議的請求頭有哪些?
- 說一下https與http的區別?
- 說一下http的狀態碼有哪些,代表什么意思?
- 說一下HTTP中session和cookie的區別?
- 說一下HTTP建立鏈接的過程?
- RPC框架用過嗎?是基于TCP協議的嗎?
- 說一下TCP協議的握手和揮手過程?為什么是三次握手,四次揮手呢?
- TCP滑動窗口了解嗎?解決了什么問題?
- 假如我的RPC服務出現了大量TimewAIt和closewait的鏈接應該怎么排查?
- TCP長鏈接和短鏈接了解嗎?有什么區別?分別適用于什么場景?
設計模式連環炮
- 你用過哪些策略模式?舉幾個例子?
- MyBatis或者spring源碼閱讀過嗎?了解里面有哪些設計模式嗎?
- java類加載機制了解嗎?用的是什么設計模式?
- 單例模式用過嗎?寫個單例模式?還有其他實現方案嗎?有什么區別?
- 說一下什么是策略模式?有什么優缺點?說一下代理模式在哪些地方會用到?
- 假如我要對接第三方的系統,但是我自己的業務服務協議不支持,如果支持的話有一定改造成本,用哪種設計模式會減少對系統的侵入性?
- 說一下適配器模式和橋接模式的區別?
業務系統架構連環炮
- 你好,我是xx公司的面試官我叫xx,你先做個自我介紹吧?
- 說說你比較擅長哪方面?java后端?更詳細的呢?
- 說說你怎么用這些技術的?
- 說一下你比較熟悉的項目?
- 說一下哪些系統或者大型模塊是你獨立作為owner開發的?有什么挑戰?
- 畫一下業務架構圖?里面有哪些核心業務模型?
- 業務領域有哪些?
- 是微服務架構的話你這么多工程是通過什么分工的?為什么這么做?
- 你覺得這個系統的架構模型有什么缺點?
- DDD了解嗎?如果是你你怎么梳理領域模型?
- 不依賴任何具體框架你怎么設計工程架構和業務功能模塊?說說這么做的好處是什么?
- 說幾個你熟悉的業務流程,在紙上/白板上畫一下?
hr連環炮
- 你好,請問你對我們的面試流程有什么想法?
- 覺得我們的面試官怎么樣?
- 我們公司的辦公環境怎么樣?
- 你在上家公司主要是做哪方面的內容?有什么成長?
- 你離開上家公司的原因是什么?
- 說說你對上家公司的印象?工作氛圍怎么樣?
- 請問你對下一份工作有什么要求嗎?想從事哪方面的工作呢?
- 工作中遇到哪些令你印象深刻的問題?你是怎么解決的?
- 說說你最近有沒有其他需要學習的地方?你平時是怎么學習的?
- 你覺得你有什么優缺點?
- 有女朋友嗎?
- 我們公司目前會有加班,你可以接受嗎?
- 你期望的最低薪資是多少?
- 你現在面試了多長時間呢?
- 手頭上有幾個offer?如果給你offer你大概最快什么時候可以入職呢?
性能優化連環炮
- 做過java程序性能優化嗎?
- 假如我有一個RPC服務出現了FGC怎么排查?
- 假如我有很多服務在不同的機器上,其中某個服務超時比較嚴重該怎么做?
- 假如我通過監控發現CPU飚的比較高怎么看?
- 一條sql執行的比較慢你會怎么排查?
- RPC原理了解嗎?說說RPC的調用過程?
- 假如你去設計一個RPC框架你會從哪些方面去考慮這個框架的性能和高可用?
- 說說為什么要進行服務治理?
- 微服務中引入Docker/k8s有什么優缺點?
- 你平時部署系統的時候用的持續集成系統是什么?有什么特色功能提高開發效率?
- 做過性能測試嗎?如何評估一個接口的性能指標?
- 假如我某個上游系統調用我的接口并發很高,我該怎么做?
- 如果上游系統對時延比較敏感你該怎么做?
- 如果上游系統是比較核心的應用不能限流怎么辦?
反問面試官連環炮
HR:
- 請問你們公司一般上下班是大概幾點呢?
- 請問你負責的這個部門目前技術團隊大概有多少人呢?
- 請問你們公司未來準備招多少人?
- 是不是處于業務上升期呢?
- 聽說你們公司最近風評不太好,是真的嗎?
- 現在手頭上還有其他offer,假如能給offer的話,你這邊能開出什么更有吸引力的條件嗎?
- 目前公司的福利啥的能簡單介紹一下嗎?
面試官:
- 我現在沒有什么問題了,你有什么要問我的嗎?
- 我問一下你現在負責的大概是哪方面的內容?
- 你們部門目前在公司是怎么樣的定位?
- 你們部門團隊目前有多少人?
- 請問你最近有沒有遇到過比較有挑戰的問題?
- 你們部門做的這個系統有沒有考慮商業化呢?
- 存儲系統怎么做的,MySQL?
- 你能說一下你負責的這個業務的大體內容和流程嗎?
- 我問一下剛剛面試的問題你有什么思路嗎?
以上就是近期面試的面試題總結