一份「熱騰騰」的面經分享(寫於拿到offer的24小時內)!

掃描下方海報二維碼,試聽課程:
java

(課程詳細大綱,請參見文末)mysql


本文是公衆號讀者潤土投稿的面試經歷面試

感謝潤土同窗的分享算法


首先介紹一下個人面試經歷,上週花了一週的時間,面試了5家公司,拿到兩個offer,這篇面試分享是在拿到第二個offer的當天晚上寫的。spring


因爲時間相隔較短,因此面試大部份內容都記得,我就單刀直入直接寫一下個人面試內容,寫做水平通常,有點像記流水帳,你們將就着看看。。。sql



面試過程還原:設計模式

1、360金融緩存

360一上來就是作幾頁紙的題其中包括選擇題20題和簡述題9題,加上填表時間,一共給了我45分鐘。tomcat

其中簡述題主要有如下幾個安全

  1. 寫出最近項目中代碼工程目錄結構,簡述各部份做用

  2. 如何避免對外開放接口被攻擊,有哪些經常使用的防禦手段能夠用上?

  3. 描述線程池的做用,並寫幾個經常使用的線程池類

  4. 什麼是操做的互斥性,接口冪等性如何保證?

  5. 異步通知交互補償機制的目的和設計?實際工做當中有沒有作過,踩過什麼坑麼?

  6. 描述一下TCP三次握手和四次握手地過程,查看TCP鏈接各狀態用什麼命令?

  7. 談談Threadlocal是如何解決併發安全的?

  8. Equals()方法與==的區別?重寫equals方法的還須要重寫哪些方法?爲何?

  9. 列舉一個設計模式,用代碼或者僞代碼實現


45分鐘後,準時過來收題了。

過了一會以後、進來了一位面試官、進行了技術上的面試。

  1. 談談你在項目中的角色,作出哪些貢獻、項目的組織架構是怎麼樣的?公司有多少人?

  2. 給我畫一畫系統架構圖

  3. 談談併發,談談分佈式緩存

  4. 談談分佈式事務

  5. 你在實際的工做當中有沒有用到線程池?

  6. 談一下你平時是如何設計系統的?系統是如何拆分的?要考慮哪些問題?

  7. 如何將一些熱賣的商品推薦給用戶的?

  8. 談談作過哪些系統優化?以你的實際經驗和踩過的坑拿幾個真實的案例出來講說?

面試結果:沒有進入下一輪、直接回去等通知,掛掉。。。

2、行雲全球匯

一、這家公司就是HR一上來就談了一些問題,好比你的職業規化、技術上有哪些短板、爲何要離開上家公司、跟上級領導性格不合怎麼辦、遇到技術問題出現僵持不下怎麼辦、以及問了一些其它的一些問題。

二、而後技術人員過來交談了近一個半小時,談的技術主要圍繞簡歷上進行的。

一、談談分佈式事務?

二、分佈式緩存的一系列問題

三、你看過springboot源碼,說說springboot的啓動過程?

四、beanfactory與factorybean的區別是什麼?

五、有用過線程池嗎?有哪些線程池?線程池裏面有哪些核心參數?

六、Jdk7與jdk8的區別

七、談談HashMap

八、有用過volatile嗎

九、springsecurity與shiro的區別、以及它們的使用場景?

十、zuul網關Filter處理流程及異常處理

十一、eureka與zookeeper註冊中心的區別?不用eureka能夠嗎?eureka已經中止維護了,有哪些替代方案?

十二、現場手寫遍歷一棵樹

1三、在系統中如何作sql優化的? b+樹和b-樹有什麼區別?

1四、mybatis中${}與#{}的區別?Statement與PreparedStatement的區別?

1五、mysql中的數據如何與es進行同步的?同步是否有延遲?

1六、說下netty,你在實際的工做當中,哪裏用到了netty?

1七、分佈式會話是如何實現的?

1八、Jvm中有哪些算法?

1九、一個服務慢了你是怎麼定位的?

三、而後就是管理者來談了一些問題

主要問了就是你在項目中的角色、有沒有帶人、手下面有幾個兄弟、以及將來的規化等。

四、再就是換了一個HR來談了一些問題,過往的一些工做經歷、 肯定入職時間,談薪等。

面試結果:拿到offer


3、某千萬級用戶量的水果新零售公司

這家公司也是另一家樓主拿到offer並最終選擇去的公司

樓主選擇的緣由是公司流量和用戶量都在千萬級別以上,有較大的發展空間

另外,薪資是25K * 13,也比較滿意,工做時間是雙休5天7小時制,總體來講性價比仍是很高。

下面說下這家公司的面試過程:

一、一上來就是研發副總監進行面試

一、自我介紹一下

二、大家系統的用戶量有多大?日活多少?高峯時期qps有多大?

三、說說分佈式事務,給我手畫一下大家分佈式事務是如何實現的?用了這個事務框架有沒有遇到問題。

四、Redis有哪些算法?給我描述一下。

五、給我畫一下大家的系統架構圖(而後進行了描述)

六、說說大家的系統爲何要用springcloud,不用dubbo?

七、說說dubbo?

八、說說zookeeper?

九、說下java的內存模型

十、netty的線程模型是怎麼樣的?

十一、tomcat有哪幾種 Connector運行模式?

十二、Spring提供了哪幾種標準的事件、分別給我描述一下?

1三、mybatis 是否能夠映射 Enum 枚舉類?

1四、給我描述一下springmvc的請求流程

1五、說說分庫分表有哪些方案,爲何選擇了sharding-jdbc而沒有選擇Mycat,說說大家是按照什麼規則進行分庫的?分庫分表以後是如何進行關聯查詢的?

1六、說下jvm的運行時數據區?有哪些垃圾回收器?

1七、有對mysql進行優化嗎?是怎麼優化的?

1八、有用過流程引擎嗎?說說Activitiy底層原理。


二、而後是總監上來談了一會、主要談了一些我的傾向與職業發展等問題

三、HR面談、比較詳細的問了過往的一些經歷、談薪、以及何時入職等。


4、其它2家小公司

此外,樓主還面試了其餘兩家小公司,問的東西相對來講都比較簡單、最後都是由於雙方不太匹配、最後沒有談成。


我的的一些面試體會

最後說一下我我的在面試中的一些體會,供你們參考。

第一個就是答題思路,這一塊的話,當面試官問到某個問題的時候,我腦海裏面就基本上呈現出一幅畫面,加上一些文字性的記憶,而後能夠一步步的說出來。

因此建議你們平時準備的時候,儘可能對某個技術點多畫圖,畫圖理解,輔助記憶,我的感受效果挺好的

另外,找工做面試是一個重要的環節,面不少試是一個身累心累的工程,在尋找到下一個理想下家以前,每一次感受就要勝利,又每次掉回空中,不想要被折磨。

我以爲要學會總結,總結本身,總結公司,要先認識到本身的優缺點,硬件和軟件,硬件專業技能,行業資源,從業經驗,軟件性格成長,情緒管理,精神狀態,將來規劃等。

關於offer選擇的話,應儘可能選擇在自已指望範圍以內的,包括薪水、工做氛圍、技術、業務等、這樣進去以後你纔會作得開心。

這就是個人面經分享,但願能夠幫到各位在準備面試或正在面試的朋友們。


END


《21天互聯網Java進階面試訓練營(分佈式篇)》詳細目錄,掃描圖片末尾的二維碼,試聽課程

相關文章
相關標籤/搜索