四個月的面試準備,網易三輪面面試,成功拿下offer(面經奉上)

在拿到網易offer以後,他發了這麼一條朋友圈。其實我看到以後心中有很大的感觸:在目標達成以前,咱們會處於一種十分煎熬的狀態-----咱們會懷疑本身的能力是否與公司要求匹配、會懷疑本身堅持的方向是否正確、會懷疑本身的運氣。可是在自我懷疑的同時,咱們也不敢在學習上放鬆對本身的要求-----咱們堅持刷題、作項目、刷面經、投簡歷。可是在收到offer郵件的那一刻,在聽到手機「叮」了一聲打開發現是意向公司的offer短信的那一刻,感受一切都釋然了。咱們熱淚盈眶,咱們心花盛開,由於咱們以爲一些的堅持和努力都是值得的!程序員

 

一面:

  • 自我介紹
  • 實習期間項目相關,而後轉到Spring
  • Spring 在項目中用了哪些特性,IOC,及Kafka監聽接口相關實現。
  • ThreadPool,Jdk原生線程池,四個參數詳細解釋原理,當線程池中poolSize達到corePoolSize且阻塞隊列已滿,再來一個任務,如何處理
  • 多線程實現同步的方式、互斥同步、非阻塞同步
  • 解釋Synchronize關鍵字的鎖優化技術,偏向鎖,輕量級鎖,重量級鎖,這些鎖是如何存儲的,偏向鎖撤銷升級爲輕量級鎖的過程,結合源碼解釋
  • volatile關鍵字語義,內存屏障如何實現,JMM對內存屏障作了哪些優化,volatile的語義加強
  • 指令重排序相關及其happen-before時,數據依賴等
  • HashMap底層數據結構,如何處理hash衝突,爲什麼HashMap的大小要設置爲2的n次冪,爲何IndexFor方法裏,須要hash&length-1,爲何HashMap容許null值,resize()過程,多線程下resize爲何會出現死循環,詳細解釋,結合源碼
  • HashMap jdk1.8以後,爲什麼轉鏈式結構爲紅黑樹,爲什麼長度爲8的時候,才轉成紅黑樹
  • NIO瞭解嗎
  • 不瞭解,屬於本身的知識空白區域。可是面試官比較友好,並無抓着這一塊不放。
  • 闡述一下快排基本原理。easy
  • 手寫單例模式。分別問了多線程狀況如何處理,何時能夠破壞單例模式,怎麼防止單例模式被破壞
  • JMM內存模型,如何保證緩存一致性。

二面:

  • 自我介紹
  • 介紹實習項目
  • Kafka監聽接口如何實現,爲什麼採用Kafka而不是用其餘消息隊列
  • 實現Kafka監聽接口的時候,遇到哪些坑,採起了哪些措施或者解決方案
  • Kafka的基本概念,及特色和優點。offset+zk+持久化分區日誌順序存儲之類的
  • MySQL瞭解嗎,介紹一下InnoDB
  • JVM瞭解嗎,介紹一下,講了垃圾回收機制
  • Full GC和Minor GC區別,及各自的觸發條件
  • 說說CMS垃圾回收器,及其適用場景

HR面:

  • HR小姐姐很漂亮
  • HR小姐姐真的很漂亮
  • 問題都比較中規中矩,沒有一開口就讓我講一個冷笑話
  • 有沒有實習
  • 在哪裏實習
  • 負責什麼系統
  • 爲何要讓我獨立負責
  • 手頭有沒有其餘offer
  • offer薪資有多少
  • 哪裏人 之後打算在哪裏發展 是否接受入職前實習
  • 是否接受996(而後後來才知道咱們部門並非996)

總結:

問題都比較的基礎,可是想要回答好卻並不容易,由於不少問題屬於你想答得很深就能夠深不見底,想答得淺一點一兩句話就講完了的那種。在平時學習的過程當中,必定要注重培養本身的知識體系,不要只會死記硬背一些所謂的面試題標準答案。面試實際上是一件量體裁衣的事情,不少東西(包括某些專業知識)並不存在一個很是量化的標準,重點是如何在面試官面前展示出本身獨特的一面。假如在回答某些問題時你直接把從網上背的「標準答案」說出來,面試官就會以爲你這我的對知識沒有本身的理解。面試官但是身經百戰了,什麼樣的候選人沒見過?因此想要在面試中和麪試官談笑風生,必定要在踏踏實實打牢專業基礎的前提下,再努力提高本身的編碼能力。如此,你想不拿一個好的offer都難!面試

學習方法:

如下所展現的所有資料,都可以避免費分享 轉發+關注,而後私信回覆「電子書」便可。算法

(1)多刷題數據庫

本身多刷一些面試題是很是重要的,即便是在本身不須要面試的狀況下,也要常常瞭解如今的大廠小廠面試都會問一些什麼?如今比較流行的技術是什麼等等諸如此類。那麼哥們是如何刷題的呢?刷題主要分爲Java技術以及算法兩大類,蒐集了目前比較新的一些題冊,包括【Java核心知識】以及【算法刷題】,如算法方面就有LeetCode。編程

Java企業筆試題集:緩存

 

(2)多看看技術牛的實戰書數據結構

實際上不少人目前的一個狀態是缺少實戰經驗,或者說是不知道該如何上手實戰。那麼,看一些技術比較過硬的大牛寫的實戰書籍對本身是頗有好處的,多少可以學習到一些實戰經驗。目前我手上整理到的實戰書籍也算是比較全面,包括Spring全家桶、JVM、併發編程技術、Redis相關、MySQL調優、Tomcat、ZooKeeper等高級技術。多線程

 

(3)多交流,多思考併發

最後要強調的重點就是——多交流,多思考。如今不少程序員陷入一個怪圈,成天只會在辦公室裏機械的工做,實際上程序員要想有很大很明顯的進步,交流是少不了的。那麼怎麼結識比本身厲害的技術牛呢?實際上渠道有不少,哥們我的的作法是:①看一些技術直播,在直播間交友;②加一些技術性的交流羣,多交流問題;③參加一些線下活動,如面基、研討會等等。app

寫在最後

學習如攀登,雖然有身心的疲憊,但更有沿途的優美風光,更不管登頂以後的極目遠眺。以後,你總會感嘆曾經的付出是值得的。

以上內容中全部的學習資料、面試資料,都可以避免費提供,但願你們金三銀四面試順利,拿下本身心儀的offer!

答案獲取方式:資料獲取方式:點擊連接《Java面試BAT通關手冊》,覆蓋了Java核心技術、JVM、Java併發、SSM、微服務、數據庫、數據結構等等。

相關文章
相關標籤/搜索