為了進大廠我每晚刷題到深夜,一天兩頓飯總共面了二次阿里、三次騰訊、一次位元組、一次美團、一次滴滴.....終于在第三次面進了騰訊!太難了
下面是我六面下來,系統劃分的面試題分類,如下:
1)集合相關問題(必問):
HashMap、LinkedHashMap、ConcurrentHashMap、ArrayList、LinkedList的底層實作,
HashMap和Hashtable的區別,
ArrayList、LinkedList、Vector的區別,
HashMap和ConcurrentHashMap的區別,
HashMap和LinkedHashMap的區別,
HashMap是執行緒安全的嗎,
ConcurrentHashMap是怎么實作執行緒安全的,
2)執行緒相關問題(必問):
創建執行緒的3種方式,
什么是執行緒安全,
Runnable介面和Callable介面的區別,
wait方法和sleep方法的區別,
synchronized、Lock、ReentrantLock、ReadWriteLock,
介紹下CAS(無鎖技術),
什么是ThreadLocal,
創建執行緒池的4種方式,
ThreadPoolExecutor的內部作業原理,
分布式環境下,怎么保證執行緒安全,
3)JVM相關問題:
介紹下垃圾收集機制(在什么時候,對什么,做了什么),
垃圾收集有哪些演算法,各自的特點,
類加載的程序, 雙親委派模型,
有哪些類加載器,
能不能自己寫一個類叫java.lang.String,
4)設計模式相關問題(必問):
先問你熟悉哪些設計模式,然后再具體問你某個設計模式具體實作和相關擴展問題,
5)資料庫相關問題,針對Mysql(必問):
給題目讓你手寫SQL,
有沒有SQL優化經驗,
Mysql索引的資料結構,
SQL怎么進行優化,
SQL關鍵字的執行順序,
有哪幾種索引,
什么時候該(不該)建索引,
Explain包含哪些列,
Explain的Type列有哪幾種值,
6)框架相關問題:
Hibernate和Mybatis的區別,
Spring MVC和Struts2的區別,
Spring用了哪些設計模式,
Spring中AOP主要用來做什么,
Spring注入bean的方式,
什么是IOC,什么是依賴注入,
Spring是單例還是多例,怎么修改,
Spring事務隔離級別和傳播性,
介紹下Mybatis/Hibernate的快取機制,
Mybatis的mapper檔案中#和$的區別,
Mybatis的mapper檔案中resultType和resultMap的區別,
Mybatis中DAO層介面沒有寫實作類,Mapper中的方法和DAO介面方法是怎么系結到一起的,其內部是怎么實作的,
7)其他遇到問題:
介紹下堆疊和佇列,
IO和NIO的區別,
介面和抽象類的區別,
int和Integer的自動拆箱/裝箱相關問題, 常量池相關問題,
==和equals的區別,
多載和重寫的區別,
String和StringBuilder、StringBuffer的區別,
靜態變數、實體變數、區域變數執行緒安全嗎,為什么, try、catch、finally都有return陳述句時執行哪個,
介紹下B樹、二叉樹,
ajax的4個字母分別是什么意思,
xml全稱是什么,
分布式鎖的實作,
分布式session存盤解決方案,
常用的linux命令,
下面分享一下我自己自刷的面試題,總共大概近20000道,以及諸多的大廠面試真題,可以說給我的面試之路有一個事半功倍的效果,本著開源的態度,免費分享給大家,希望大家成功路上,一路坦途!需要免費領取加小助理VX:wjj2632646領取!



轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/224789.html
標籤:java
