百度高級java工程師面試實拍59題:高並發+中間件+分布式架構!

百度高級java工程師面試實拍59題:高併發+中間件+分佈式架構!

Java面試題目:

  1. Java讀取一個文件, 有哪些方法, 考慮性能, 用哪一個類
  2. BIO, NIO, AIO區別
  3. Java 類加載機制
  4. 為什麼使用雙親委派模型
  5. NIO的組件, Selector
  6. 什麼是序列化, IO的序列化方式, 為什麼需要序列化(包括在網絡傳輸的情況下)
  7. Error和Exception區別
  8. RuntimeException和非RuntimeException區別
  9. 什麼叫線程安全, 保證線程安全的方法
  10. 加鎖的方式, synchronized作用在方法上和代碼塊區別
  11. synchronized(this)和synchronized(Xx.class)區別

Web方面:

  1. Spring AOP實現原理
  2. 一個頁面, 一個提交按鈕, 如何防止重複提交, 我說驗證碼, 還有
    其它方式嗎?
  3. ajax實現跨域請求(前端或者後臺實現方法)
  4. cookie和session區別
  5. forward和redirect區別

數據庫

  1. 你建過索引嗎? 建索引的原則
  2. 索引的類型, 如主鍵索引
  3. 查看SQL執行計劃
  4. 有十萬條數據, 寫SQL語句查詢其中某字段較大值的幾條數據
  5. 子查詢與關聯查詢的區別

JVM

  1. 你用過的JVM命令有哪些
  2. 如果一個程序發生OOM, 該怎麼處理
  3. JVM內存模型
  4. JDK7與JDK8的JVM內存模型區別
  5. 回收算法
  6. 回收器
  7. 虛擬機client和server的區別
  8. 對象和引用之間一般用什麼連接?句柄池的作用是什麼。

網絡:

  1. HTTP1.0與HTTP1.1區別
  2. TCP與UDP區別

容器方面

  1. 介紹線程安全的list(copyonwritelist)
  2. 線程安全的map,具體是怎麼實現的,與Hashtable什麼區別。
  3. CAS

併發

  1. 知道的線程池(ThreadPoolExecutor屬於一類,forkjoin知道嗎)
  2. 線程池怎麼自己去實現?給你一個Runnable、一個容器怎麼實現。
  3. AQS中線程等待怎麼做的(線程掛起狀態怎麼做的)?

nio、bio

  1. 阻塞非阻塞的區別?
  2. 異步和同步的區別?異步是使用的內核級線程還是用戶態線程。
  3. AIO在Java中應用到了嗎?

中間件

  1. redis
  2. rabbitMq
  3. memcached等的使用場景和設計原理

redis:

  1. redis部署方式。
  2. redis怎麼加入節點
  3. redis持久化。

1.手撕字符串轉int

2.數據庫事務隔離級別

3.spring 事務

4.數據庫索引失效的場景

5.組合索引(A,B)若查詢B列是否用到了索引

6.如果A是string類型,而查詢的時候是1314151617 用到了索引嗎?能查到這條數據嗎?

7.數據庫怎麼實現樂觀鎖?

8.redis pipeline瞭解嗎?

9.秒殺場景?怎麼實現。redis怎麼限流,限流算法。

10.redis實現隊列、實現優先級隊列。

11.分佈式鎖。

PS: 覺得有點用的同學,歡迎給個贊轉發支持...

送你 58道《2018最新BAT高級java面試必考題》 含答案。

私信關鍵詞“BAT面試”即可獲取題目和答案鏈接哦!

百度高級java工程師面試實拍59題:高併發+中間件+分佈式架構!


分享到:


相關文章: