面試基礎知識梳理

Java 基礎

  1. Java基本數據類型
  2. Java hashmap新老版本實現,put,get ,解決哈希衝突,rehash問題,加載因子,爲什麼 hashmap中數組的長度是2的指數次方? 鏈表轉紅黑樹條件,深入紅黑樹,爲什麼查找快,時間複雜度,紅黑樹插入刪除結點,紅黑樹與平衡二叉樹的區別及優勢
  3. 多線程:原子性,可見性,有序性
  4. Java 新特性,lambda表達式等
  5. 引用傳遞和值傳遞
  6. String 和StringBuffer,StringBuilder
  7. 基本類型與包裝類型,如Integer i=20; int i=20; 兩個i是否相等
  8. 集合,linkedList和Arraylist的區別,list 和set的區別
  9. 抽象類與接口的區別
  10. 鎖的問題。 valotile, synchronized 和reentrantLock區別
  11. 線程池的核心參數,線程池種類,創建線程方法,創建線程池方法,線程的生命週期
  12. 類加載過程,常用類加載器,雙親委派模型

JVM基礎

  1. JVM 內存模型
  2. 垃圾回收算法
  3. 年輕代老年代回收,年輕代的兩個存活區是否有區別
  4. 內存溢出和內存泄漏區別
  5. 內存屏障

數據結構

  1. 排序:8大排序算法的手動實現,時間複雜度,空間複雜度要熟練於心
  2. 單鏈表與雙鏈表,反轉鏈表,判斷是否有環,找出鏈表的公共結點,兩個鏈表的合併,K個鏈表的合併
  3. 隊列與棧,兩個隊列實現棧,兩個棧實現隊列
  4. 堆的建立與調整,堆排序,海量數據區TopK元素問題
  5. 樹:二叉樹,平衡二叉樹,紅黑樹,B+樹。常見問題如二叉樹查找,平衡二叉樹的插入與刪除,紅黑樹特點,B+樹與平衡二叉樹 的區別

常見算法

  1. 斐波拉起數列,青蛙跳臺階,爬樓梯等變種題
  2. 字符串問題:最長公共子串,最大連續公共子序列
  3. 數組找中位數,找元素和爲指定值的子元素,找出滿足條件的數(如左邊的數都小於該元素值,右邊的數都大於元素值)
  4. 動態規劃問題:找零錢,連續遞增子序列

網絡

  1. 四七層網絡模型 tcp與udp區別,端口號,tcp流量控制,擁塞控制,eagle算法,三次握手與四次揮手,爲什麼不是2次握手和3次揮手

  2. http與tcp區別,http端口,1.0,1.1 ,2.0的區別 https,默認端口,加密算法種類

操作系統

進程與線程區別
線程通信方式,進程的通信方式有哪些
死鎖及解決,銀行家算法,哲學家進餐問題
同步與非同步,阻塞與非阻塞的區別
ArrayBlockingQueue與LinkedBlockingQueue區別
wait,notify,notifyAll方法爲什麼定義在Object類中

數據庫

基本語句書寫
left join,right join,inner join區別,默認的是哪種
count和sum的區別
mysql存儲引擎種類,區別,索引的種類及區別,默認是什麼存儲引擎,什麼索引,什麼情況下索引會失效
查詢較慢是如何對sql語句進行分析
針對海量數據,如5000萬條數據進行按id,手機號,名稱進行查找時,如何分表並做到儘可能快速的查詢
sql正則表達式應用,如查詢131開頭,尾號爲8,9的手機號

設計模式

單例模式
工廠
觀察者
策略
適配器

Spring

ioc,aop原理
servlet生命週期
反射原理
aop註解有哪些,實現方式有哪些,舉例一下應用場景

微服務

Springcloud 配置中心
如何完成中心調用,調用使用什麼協議
Springcloud熔斷
路由網關
負載均衡策略

redis與MQ

redis 支持哪些數據類型,端口號,redis緩存擊穿,雪崩如何處理
redis淘汰策略
哨兵選舉策略
slave切換爲master的策略
如何保證redis緩存與數據庫的一致性
rocketMQ有哪些核心組件
rocketMQ消息丟失如何處理:producer,broker,consumer 三種常景丟失
rocketMQ消費模式:集羣消費(默認),廣播消費
如何利用redis和MQ設計一個秒殺場景
docker 與k8s
docker的核心組件及部署
k8s有哪些核心組件
微服務走集羣管理用到哪些工具
如何管理各個中心的允許狀況,調用情況

項目理解

挑自己熟悉的講,儘量把場景,實現思路,遇到問題及解決方案說清楚

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