在拿到網易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)多交流,多思考
最后要強調的重點就是——多交流,多思考,現在很多程式員陷入一個怪圈,整天只會在辦公室里機械的作業,實際上程式員要想有很大很明顯的進步,交流是少不了的,那么怎么結識比自己厲害的技術牛呢?實際上渠道有很多,哥們個人的做法是:①看一些技術直播,在直播間交友;②加一些技術性的交流群,多交流問題;③參加一些線下活動,如面基、研討會等等,
寫在最后
學習如攀登,雖然有身心的疲憊,但更有沿途的優美風光,更無論登頂之后的極目遠眺,之后,你總會感嘆曾經的付出是值得的,
以上內容中所有的學習資料、面試資料,均可以免費提供,希望大家金三銀四面試順利,拿下自己心儀的offer!
答案獲取方式:資料獲取方式:點擊鏈接《Java面試BAT通關手冊》,覆寫了Java核心技術、JVM、Java并發、SSM、微服務、資料庫、資料結構等等,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/79410.html
標籤:其他
