上週剛面試回來後的面試總結,想進BAT必看

認真期待發表於2018-04-08

上週陪同之前一起工作的同事去面試(喬治,小袁,鵬飛(面試人)),第一站是去深圳,第二站上海,第三站杭州。面試什麼公司我在這裡就不多說了,你們知道是一線公司就行。其實本來真的沒打算寫這篇文章,主要是自己的記憶力不是很好,再者是最近好多人詢問2018年最新的面試題有點多,我實在回答不過來,而且怕為了避免重複回答,給自己省點力氣,乾脆就在這裡統一回復了。

說實話,雖作為陪同人,面試的時候我是不可以一同進去面試的,鵬飛在面試完後出來也是憑藉他模糊的記憶,來慢慢回憶當時HR問的幾個問題,以下是我整理的一些面試題,雖然不是很完整,但差不多也是必問的幾個題目了(前言告訴大家,面試的答案我就不一個一個的寫出來了,畢竟等級的不同,回答時的答案也不同,這全靠大家自己慢慢領悟了)我能幫的也只有這麼多了。以下便是面試題。

第一站:(深圳)

1. 多個執行緒同時讀寫,讀執行緒的數量遠遠⼤於寫執行緒,你認為應該如何解決 併發的問題?你會選擇加什麼樣的鎖?

2. JAVA的AQS是否瞭解,它是⼲嘛的?

3. 除了synchronized關鍵字之外,你是怎麼來保障執行緒安全的?

4. 什麼時候需要加volatile關鍵字?它能保證執行緒安全嗎?

5. 執行緒池內的執行緒如果全部忙,提交⼀個新的任務,會發⽣什麼?佇列全部 塞滿了之後,還是忙,再提交會發⽣什麼?

6. Tomcat本身的引數你⼀般會怎麼調整?

7. synchronized關鍵字鎖住的是什麼東⻄?在位元組碼中是怎麼表示的?在內 存中的物件上表現為什麼?

8. wait/notify/notifyAll⽅法需不需要被包含在synchronized塊中?這是為什 麼?

9. ExecutorService你⼀般是怎麼⽤的?是每個service放⼀個還是⼀個項⽬ ⾥⾯放⼀個?有什麼好處?

第二,第三站

Spring

  1. 你有沒有⽤過Spring的AOP? 是⽤來⼲嘛的? ⼤概會怎麼使⽤?

  2. 如果⼀個接⼝有2個不同的實現, 那麼怎麼來Autowire⼀個指定的實現?

  3. Spring的宣告式事務 @Transaction註解⼀般寫在什麼位置? 丟擲了異常 會⾃動回滾嗎?有沒有辦法控制不觸發回滾?

  4. 如果想在某個Bean⽣成並裝配完畢後執⾏⾃⼰的邏輯,可以什麼⽅式實 現?

  5. SpringBoot沒有放到web容器⾥為什麼能跑HTTP服務?

  6. SpringBoot中如果你想使⽤⾃定義的配置⽂件⽽不僅僅是 application.properties,應該怎麼弄?

  7. SpringMVC中RequestMapping可以指定GET, POST⽅法麼?怎麼指定?

  8. SpringMVC如果希望把輸出的Object(例如XXResult或者XXResponse)這 種包裝為JSON輸出, 應該怎麼處理?

  9. 怎樣攔截SpringMVC的異常,然後做⾃定義的處理,⽐如打⽇志或者包裝 成JSON

  10. 1.struts1和struts2的區別

  11. .struts2和springMVC的區別

  12. spring框架中需要引用哪些jar包,以及這些jar包的用途

  13. springMVC的原理

  14. springMVC註解的意思

  15. spring中beanFactory和ApplicationContext的聯絡和區別

  16. spring注入的幾種方式

  17. spring如何實現事物管理的

  18. springIOC和AOP的原理

  19. hibernate中的1級和2級快取的使用方式以及區別原理

  20. spring中迴圈注入的方式

MySQL

  1. 如果有很多資料插⼊MYSQL 你會選擇什麼⽅式?

  2. 如果查詢很慢,你會想到的第⼀個⽅式是什麼?索引是⼲嘛的?

  3. 如果建了⼀個單列索引,查詢的時候查出2列,會⽤到這個單列索引嗎?

  4. 如果建了⼀個包含多個列的索引,查詢的時候只⽤了第⼀列,能不能⽤上 這個索引?查三列呢?

  5. 接上題,如果where條件後⾯帶有⼀個 i + 5 < 100 會使⽤到這個索引嗎?

  6. 怎麼看是否⽤到了某個索引?

  7. like %aaa%會使⽤索引嗎? like aaa%呢?

  8. drop、truncate、delete的區別?

  9. 平時你們是怎麼監控資料庫的? 慢SQL是怎麼排查的?

  10. 你們資料庫是否⽀持emoji表情,如果不⽀持,如何操作?

  11. 你們的資料庫單表資料量是多少?⼀般多⼤的時候開始出現查詢效能急 劇下降?

  12. 查詢死掉了,想要找出執⾏的查詢程式⽤什麼命令?找出來之後⼀般你 會⼲嘛?

  13. 讀寫分離是怎麼做的?你認為中介軟體會怎麼來操作?這樣操作跟事務有 什麼關係? 14. 分庫分表有沒有做過?線上的遷移過程是怎麼樣的?如何確定資料是正 確的?

  14. MySQL常用命令

  15. 資料庫中事物的特徵?

17. JDBC的使用?

  1. InnodB與MyISAM的區別

  2. MySQL為什麼使用B+樹作為索引?

JVM

  1. 你知道哪些或者你們線上使⽤什麼GC策略? 它有什麼優勢,適⽤於什麼 場景?

  2. JAVA類載入器包括⼏種?它們之間的⽗⼦關係是怎麼樣的?雙親委派機 制是什麼意思?有什麼好處?

  3. 如何⾃定義⼀個類載入器?你使⽤過哪些或者你在什麼場景下需要⼀個⾃ 定義的類載入器嗎?

  4. 堆記憶體設定的引數是什麼? 5. Perm Space中儲存什麼資料? 會引起OutOfMemory嗎? 6. 做gc時,⼀個物件在記憶體各個Space中被移動的順序是什麼?

  5. 你有沒有遇到過OutOfMemory問題?你是怎麼來處理這個問題的?處理 過程中有哪些收穫?

  6. 1.8之後Perm Space有哪些變動? MetaSpace⼤⼩預設是⽆限的麼? 還是 你們會通過什麼⽅式來指定⼤⼩?

  7. Jstack是⼲什麼的? Jstat呢? 如果線上程式週期性地出現卡頓,你懷疑可 能是gc導致的,你會怎麼來排查這個問題?執行緒⽇志⼀般你會看其中的什麼 部分?

  8. StackOverFlow異常有沒有遇到過?⼀般你猜測會在什麼情況下被觸 發?如何指定⼀個執行緒的堆疊⼤⼩?⼀般你們寫多少?

多執行緒

  1. 什麼是執行緒?

  2. 執行緒和程式有什麼區別?

  3. 如何在Java中實現執行緒?

  4. 用Runnable還是Thread?

  5. Thread 類中的start() 和 run() 方法有什麼區別?

  6. Java中CyclicBarrier 和 CountDownLatch有什麼不同?

  7. Java中的volatile 變數是什麼?

  8. Java中的同步集合與併發集合有什麼區別?

10) 如何避免死鎖?

  1. Java中活鎖和死鎖有什麼區別?

12) Java中synchronized 和 ReentrantLock 有什麼不同?

13) Java中ConcurrentHashMap的併發度是什麼?

  1. 如何在Java中建立Immutable物件?

15) 單例模式的雙檢鎖是什麼?

  1. 寫出3條你遵循的多執行緒最佳實踐

17) 如何避免死鎖?

  1. 常用的執行緒池模式以及不同執行緒池的使用場景

Netty

1.BIO、NIO和AIO的區別?

2.NIO的組成?

3.Netty的特點?

4.Netty的執行緒模型?

5.TCP 粘包/拆包的原因及解決方法?

6.瞭解哪幾種序列化協議?

7.如何選擇序列化協議?

8.Netty的零拷貝實現?

9.Netty的高效能表現在哪些方面?

10.NIOEventLoopGroup原始碼?

Redis

1.Redis與Memorycache的區別?

2.Redis的五種資料結構?

3.漸進式rehash過程?

4.rehash原始碼?

5.持久化機制

6.reaof原始碼?

7.事務與事件

8.主從複製

9.啟動過程

10.叢集

11.Redis的6種資料淘汰策略

12.redis的併發競爭問題?

Hadoop

1.HDFS的特點?

2.客戶端從HDFS中讀寫資料過程?

3.HDFS的檔案目錄結構?

4.NameNode的記憶體結構?

5.NameNode的重啟優化?

6.Git的使用?

7.Maven的使用

好了,到這裡面試題差不多已經寫完了,如果以上的面試題題目你已經全部理解,全部能回答出來了,那麼我可以在這裡告訴你,你牛批,我服。

如果以上題目還不會的,還回答不上來的,那麼你可以跟著我的腳步,我來介紹一下我總結出來的幾大體系,如果你想學習這些內容,我可以向大家推薦一下學習交流群:744642380 大家想學習的可以加群,但記得備註好資訊哦。(記住:加群:7446423804 請備註好資訊)

一下就是我總結出來的幾大體系圖:

一、原始碼分析

二、分散式架構

三、微服務

四、效能優化

五、Java工程化

總結:

以上就是我要說的寫的內容,希望以上的內容可以幫助到正在默默艱辛,遇到瓶疾且不知道怎麼辦的Java程式設計師們,我能幫你的只有這麼多了,面試題已經總結完了,我能幫的,也只有這麼多了,希望大家在往後的工作與面試中,一切順利。

作者:AI喬治 連結:https://www.jianshu.com/p/1fd6a3d4b739 來源:簡書 著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。

相關文章