面試題: !=!=未看6
第一站:(深圳)
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. 分庫分表有沒有做過?線上的遷移過程是怎麽樣的?如何確定數據是正 確的?
15. MySQL常用命令
16. 數據庫中事物的特征?
17. JDBC的使用?
18. InnodB與MyISAM的區別
19. MySQL為什麽使用B+樹作為索引?
JVM
1. 你知道哪些或者你們線上使?什麽GC策略? 它有什麽優勢,適?於什麽 場景?
2. JAVA類加載器包括?種?它們之間的??關系是怎麽樣的?雙親委派機 制是什麽意思?有什麽好處?
3. 如何?定義?個類加載器?你使?過哪些或者你在什麽場景下需要?個? 定義的類加載器嗎?
4. 堆內存設置的參數是什麽? 5. Perm Space中保存什麽數據? 會引起OutOfMemory嗎? 6. 做gc時,?個對象在內存各個Space中被移動的順序是什麽?
7. 你有沒有遇到過OutOfMemory問題?你是怎麽來處理這個問題的?處理 過程中有哪些收獲?
8. 1.8之後Perm Space有哪些變動? MetaSpace??默認是?限的麽? 還是 你們會通過什麽?式來指定???
9. Jstack是?什麽的? Jstat呢? 如果線上程序周期性地出現卡頓,你懷疑可 能是gc導致的,你會怎麽來排查這個問題?線程?誌?般你會看其中的什麽 部分?
10. StackOverFlow異常有沒有遇到過??般你猜測會在什麽情況下被觸 發?如何指定?個線程的堆棧????般你們寫多少?
多線程
1) 什麽是線程?
2) 線程和進程有什麽區別?
3) 如何在Java中實現線程?
4) 用Runnable還是Thread?
6) Thread 類中的start() 和 run() 方法有什麽區別?
7) Java中CyclicBarrier 和 CountDownLatch有什麽不同?
8) Java中的volatile 變量是什麽?
9) Java中的同步集合與並發集合有什麽區別?
10) 如何避免死鎖?
11) Java中活鎖和死鎖有什麽區別?
12) Java中synchronized 和 ReentrantLock 有什麽不同?
13) Java中ConcurrentHashMap的並發度是什麽?
14) 如何在Java中創建Immutable對象?
15) 單例模式的雙檢鎖是什麽?
16) 寫出3條你遵循的多線程最佳實踐
17) 如何避免死鎖?
18. 常用的線程池模式以及不同線程池的使用場景
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的使用
好了,到這裏面試題差不多已經寫完了,如果以上的面試題題目你已經全部理解,全部能回答出來了,那麽我可以在這裏告訴你,你牛批,我服。
如果以上題目還不會的,還回答不上來的,那麽你可以跟著我的腳步,我來介紹一下我總結出來的幾大體系。
以下就是我總結出來的幾大體系圖:
一、源碼分析
二、分布式架構
三、微服務
四、性能優化
五、Java工程化
總結:
面試題: !=!=未看6