面試題大彙總

所有的初級或中級程序員遇到的面試題不會出這個框架,當然,許多問題是我抄來的,也有自己面試中遇到的。

一、java基礎

1、基礎

(1)

(2)異常種類。

 

2、集合

ArrayList刪除的原理或過程

https://www.cnblogs.com/huangjinyong/p/9455163.html

HashMap遍歷刪除

https://zhidao.baidu.com/question/442077920.html

3、IO和網絡

  • BIO、NIO、AIO的概念
  • 什麼是長連接和短連接
  • Http1.0和2.0相比有什麼區別,可參考《Http 2.0
  • Https的基本概念
  • 三次握手和四次揮手、爲什麼揮手需要四次
  • 從遊覽器中輸入URL到頁面加載的發生了什麼?可參考《從輸入URL到頁面加載發生了什麼

4、線程和進程

(1)

  • 說說線程安全問題,什麼是線程安全,如何保證線程安全
  • 重入鎖的概念,重入鎖爲什麼可以防止死鎖
  • 產生死鎖的四個條件(互斥、請求與保持、不剝奪、循環等待)
  • 如何檢查死鎖(通過jConsole檢查死鎖)
  • volatile 實現原理(禁止指令重排、刷新內存)
  • synchronized 實現原理(對象監視器)
  • synchronized 與 lock 的區別
  • AQS同步隊列
  • CAS無鎖的概念、樂觀鎖和悲觀鎖
  • 常見的原子操作類
  • 什麼是ABA問題,出現ABA問題JDK是如何解決的
  • 樂觀鎖的業務場景及實現方式
  • Java 8並法包下常見的併發類
  • 偏向鎖、輕量級鎖、重量級鎖、自旋鎖的概念
  • 可參考:《Java多線程編程核心技術

(2)

1、ThreadLocal用過麼,原理是什麼,用的時候要注意什麼

2、Synchronized和Lock的區別

3、synchronized 的原理,什麼是自旋鎖,偏向鎖,輕量級鎖,什麼叫可重入鎖,什麼叫公平鎖和非公平鎖

4、concurrenthashmap具體實現及其原理,jdk8下的改版

5、用過哪些原子類,他們的參數以及原理是什麼

6、cas是什麼,他會產生什麼問題(ABA問題的解決,如加入修改次數、版本號)

7、如果讓你實現一個併發安全的鏈表,你會怎麼做

8、簡述ConcurrentLinkedQueue和LinkedBlockingQueue的用處和不同之處

9、簡述AQS的實現原理

10、countdowlatch和cyclicbarrier的用法,以及相互之間的差別?

11、concurrent包中使用過哪些類?分別說說使用在什麼場景?爲什麼要使用?

12、LockSupport工具

13、Condition接口及其實現原理

14、Fork/Join框架的理解

15、jdk8的parallelStream的理解

16、分段鎖的原理,鎖力度減小的思考

(3)

5 JVM

類加載的順序

GC

 

二、框架

spring 

1 springIOC和AOP 

2 spring是如何管理事務的

springMVC

1 springMVC原理

mybatis

1 resultType和resultmap區別

2spring和mybatis集成後緩存會怎樣?

springBoot

springCloud

Hibernate

 

三、web

JS

常用的協議有哪些

 

四、數據庫

索引

oracle分頁和mysql分頁

事務級別

 

五、linux

linux常用命令

ls 

find

cat

mkdir

vi wq

cd

ps -ef | grep 8080

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章