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

石杉的架構筆記發表於2019-08-29

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

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

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


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

感謝潤土同學的分享


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


由於時間相隔較短,所以面試大部分內容都記得,我就單刀直入直接寫一下我的面試內容,寫作水平一般,有點像記流水賬,大家將就著看看。。。



面試過程還原:

一、360金融

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

其中簡述題主要有以下幾個

  1. 寫出最近專案中程式碼工程目錄結構,簡述各部份作用

  2. 如何避免對外開放介面被攻擊,有哪些常用的防護手段可以用上?

  3. 描述執行緒池的作用,並寫幾個常用的執行緒池類

  4. 什麼是操作的互斥性,介面冪等性如何保證?

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

  6. 描述一下TCP三次握手和四次握手地過程,檢視TCP連線各狀態用什麼命令?

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

  8. Equals()方法與==的區別?重寫equals方法的還需要重寫哪些方法?為什麼?

  9. 列舉一個設計模式,用程式碼或者虛擬碼實現


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

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

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

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

  3. 談談併發,談談分散式快取

  4. 談談分散式事務

  5. 你在實際的工作當中有沒有用到執行緒池?

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

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

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

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

二、行雲全球匯

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

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

1、談談分散式事務?

2、分散式快取的一系列問題

3、你看過springboot原始碼,說說springboot的啟動過程?

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

5、有用過執行緒池嗎?有哪些執行緒池?執行緒池裡面有哪些核心引數?

6、Jdk7與jdk8的區別

7、談談HashMap

8、有用過volatile嗎

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

10、zuul閘道器Filter處理流程及異常處理

11、eureka與zookeeper註冊中心的區別?不用eureka可以嗎?eureka已經停止維護了,有哪些替代方案?

12、現場手寫遍歷一棵樹

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

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

15、mysql中的資料如何與es進行同步的?同步是否有延遲?

16、說下netty,你在實際的工作當中,哪裡用到了netty?

17、分散式會話是如何實現的?

18、Jvm中有哪些演算法?

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

3、然後就是管理者來談了一些問題

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

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

面試結果:拿到offer


三、某千萬級使用者量的水果新零售公司

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

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

另外,薪資是25K * 13,也比較滿意,工作時間是雙休5天7小時制,整體來說價效比還是很高。

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

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

1、自我介紹一下

2、你們系統的使用者量有多大?日活多少?高峰時期qps有多大?

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

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

5、給我畫一下你們的系統架構圖(然後進行了描述)

6、說說你們的系統為什麼要用springcloud,不用dubbo?

7、說說dubbo?

8、說說zookeeper?

9、說下java的記憶體模型

10、netty的執行緒模型是怎麼樣的?

11、tomcat有哪幾種 Connector執行模式?

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

13、mybatis 是否可以對映 Enum 列舉類?

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

15、說說分庫分表有哪些方案,為什麼選擇了sharding-jdbc而沒有選擇Mycat,說說你們是按照什麼規則進行分庫的?分庫分表之後是如何進行關聯查詢的?

16、說下jvm的執行時資料區?有哪些垃圾回收器?

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

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


2、然後是總監上來談了一會、主要談了一些個人傾向與職業發展等問題

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


四、其它2家小公司

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


個人的一些面試體會

最後說一下我個人在面試中的一些體會,供大家參考。

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

所以建議大家平時準備的時候,儘量對某個技術點多畫圖,畫圖理解,輔助記憶,個人感覺效果挺好的

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

我覺得要學會總結,總結自己,總結公司,要先認識到自己的優缺點,硬體和軟體,硬體專業技能,行業資源,從業經驗,軟體性格成長,情緒管理,精神狀態,未來規劃等。

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

這就是我的面經分享,希望可以幫到各位在準備面試或正在面試的朋友們。


END


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

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

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

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





相關文章