廢話不多說,直接進主題!

java常用基礎面試知識點
1、java中==和equals和hashCode的區別
2、int、char、long各占多少位元組數
3、int與integer的區別
4、探探對java多型的理解
5、String、StringBuffer、StringBuilder區別
6、什么是內部類?內部類的作用
7、抽象類和介面區別
8、抽象類與介面的應用場景
9、抽象類是否可以沒有方法和屬性?
10、泛型中extends和super的區別
11、父類的靜態方法能否被子類重寫
12、final,finally,finalize的區別
13、序列化的方式
14、Serializable 和Parcelable 的區別
15、靜態屬性和靜態方法是否可以被繼承?是否可以被重寫?以及原因?
16、靜態內部類的設計意圖
17、成員內部類、靜態內部類、區域內部類和匿名內部類的理解,以及專案中的應用
18、談談對kotlin的理解
19、string 轉換成 integer的方式及原理
20、說說你對Java反射的理解
21、說說你對Java注解的理解
22、說說你對依賴注入的理解
二.HashMap相關
1、HashMap的實作原理
2、HashMap資料結構?
3、HashMap原始碼理解
4、HashMap如何put資料(從HashMap原始碼角度講解)?
5、HashMap怎么手寫實作?
6、ConcurrentHashMap的實作原理
7、ArrayMap和HashMap的對比
8、HashTable實作原理
9、TreeMap具體實作
10、HashMap和HashTable的區別
11、HashMap與HashSet的區別
12、HashSet與HashMap怎么判斷集合元素重復?
13、二叉樹的深度優先遍歷和廣度優先遍歷的具體實作
14、堆和堆疊在記憶體中的區別是什么(解答提示:可以從資料結構方面以及實際實作方面兩個方面去回答)?
15、講一下對樹,B+樹的理解
16、講一下對圖的理解
17、判斷單鏈表成環與否?
18、鏈表翻轉(即:翻轉一個單項鏈表)
19、合并多個單有序鏈表(假設都是遞增的)
三.鎖與多執行緒相關
1、synchronize的原理
2、談談對Synchronized關鍵字,類鎖,方法鎖,重入鎖的理解
3、static synchronized 方法的多執行緒訪問和作用
4、同一個類里面兩個synchronized方法,兩個執行緒同時訪問的問題
5、lock原理
6、死鎖的四個必要條件?
7、怎么避免死鎖?
8、物件鎖和類鎖是否會互相影響?
9、開啟執行緒的三種方式?
10、如何控制某個方法允許并發訪問執行緒的個數?
11、什么導致執行緒阻塞?
12、如何保證執行緒安全?
13、如何實作執行緒同步?
14、兩個行程同時要求寫或者讀,能不能實作?如何防止行程的同步?
15、談談對多執行緒的理解
16、多執行緒有什么要注意的問題?
17、談談你對并發編程的理解并舉例說明
18、談談你對多執行緒同步機制的理解?
19、如何保證多執行緒讀寫檔案的安全?
20、Java的并發、多執行緒、執行緒模型
四.MySQL相關
1、MySQL InnoDB、Mysaim的特點?
2、MySQL主備同步的基本原理,
3、select * from table t where size > 10 group by size order by size的sql陳述句執行順序?
4、如何優化資料庫性能(索引、分庫分表、批量操作、分頁演算法、升級硬碟SSD、業務優化、主從部署)
5、SQL什么情況下不會使用索引(不包含,不等于,函式)
6、一般在什么欄位上建索引(過濾資料最多的欄位)
7、如何從一張表中查出name欄位不包含“XYZ”的所有行?
8、MySQL,B+索引實作,行鎖實作,SQL優化
9、Redis,RDB和AOF,如何做高可用、集群
10、如何解決高并發減庫存問題
11、mysql存盤引擎中索引的實作機制;
12、資料庫事務的幾種粒度;
五.Spring相關
1、SpringBoot 如何固定版本
2、SpringBoot 自動配置原理
3、SpringBoot 組態檔注入
4、@Value 和 @ConfigurationProperties 比較
5、@PropertySource
6、@ImportResource
7、springboot 的 profile 加載
8、SpringBoot 激活指定 profile 的幾種方式
9、SpringBoot 專案內部組態檔加載順序
19、 SpringBoot 外部組態檔加載順序
11、 Springboot 日志關系
12、SpringBoot 如何擴展 SpringMVC 的配置
13、SpringBoot 如何注冊 filter , servlet , listener
14、SpringBoot 切換成 undertow
15、SpringBoot 的任務
16、SpringBoot 熱部署
17、SpringBoot 的監控
18、 SpringBoot 整合 redis
SpringBoot 是簡化 Spring 應用開發的一個框架,他整合了 Spring的技術堆疊,提供各種標準化的默認配置,使得我們可以快速開發 Spring 專案,免掉 xml 配置的麻煩,降低 Spring 專案的成本,
六.Redis等快取系統中間件相關
1、列舉一個常用的Redis客戶端的并發模型,
2、HBase如何實作模糊查詢?
3、列舉一個常用的訊息中間件,如果訊息要保序如何實作?
4、如何實作一個Hashtable?你的設計如何考慮Hash沖突?如何優化?
5、分布式快取,一致性hash
6、LRU演算法,slab分配,如何減少記憶體碎片
7、如何解決快取單機熱點問題
8、什么是布隆過濾器,其實作原理是? False positive指的是?
9、memcache與redis的區別
10、zookeeper有什么功能,選舉演算法如何進行
11、map/reduce程序,如何用map/reduce實作兩個資料源的聯合統計
七.演算法相關
1、排序演算法有哪些?
2、最快的排序演算法是哪個?
3、手寫一個冒泡排序
4、手寫快速排序代碼
5、快速排序的程序、時間復雜度、空間復雜度
6、手寫堆排序
7、堆排序程序、時間復雜度及空間復雜度
8、寫出你所知道的排序演算法及時空復雜度,穩定性
9、二叉樹給出根節點和目標節點,找出從根節點到目標節點的路徑
10、給阿里2萬多名員工按年齡排序應該選擇哪個演算法?
11、GC演算法(各種演算法的優缺點以及應用場景)
12、蟻群演算法與蒙特卡洛演算法
13、子串包含問題(KMP 演算法)寫代碼實作
14、一個無序,不重復陣列,輸出N個元素,使得N個元素的和相加為M,給出時間復雜度、空間復雜度,手寫演算法
15、萬億級別的兩個URL檔案A和B,如何求出A和B的差集C(提示:Bit映射->hash分組->多檔案讀寫效率->磁盤尋址以及應用層面對尋址的優化)
最后
針對最近很多人都在面試,我這邊也整理了相當多的面試專題資料,也有其他大廠的面經,希望可以幫助到大家,
最新整理面試題
上述的面試題答案都整理成檔案筆記,
也還整理了一些面試資料&最新2020收集的一些大廠的面試真題(都整理成檔案,小部分截圖),有需要的可以點擊進入暗號:qf
最新整理電子書

最新整理大廠面試檔案

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持,一鍵三連哦!

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/181416.html
標籤:其他
上一篇:DDD(領域驅動設計),你必須知道的貧血模型和充血模型
下一篇:自學編程,看書還是視頻?

