前言:
本文收集整理了2020年度各大廠常見面試題N道,你想要的這裡都有。內容涵蓋:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 等技術棧,希望大家都能找到適合自己的公司,開開心心的擼代碼。
JVM
- 線程
- JVM內存區域
- JVM運行時內存
- 垃圾回收與算法
- JAVA 四種引用類型
- GC分代收集算法 VS 分區收集算法
- GC垃圾收集器
- JAVA IO/NIO
- JVM 類加載機制
JAVA集合
- 接口繼承關係和實現
- List
- ArrayList(數組)
- Vector(數組實現、線程同步)
- LinkList(鏈表)
- Set
- HashSet(Hash表)
- TreeSet(二叉樹)
JAVA多線程併發
- JAVA併發知識庫
- JAVA線程實現/創建方式
- 4種線程池
- 線程生命週期(狀態)
- 終止線程4種方式
- sleep與wait 區別
- start與run區別
- JAVA後臺線程
- JAVA鎖
- 線程基本方法4.1.11. 線程上下文切換
- 同步鎖與死鎖
- 線程池原理
- JAVA阻塞隊列原理
- CyclicBarrier、CountDownLatch、Semaphore的用法
- volatile關鍵字的作用(變量可見性、禁止重排序)
- 如何在兩個線程之間共享數據
JAVA基礎
- JAVA異常分類及處理
- JAVA反射
- JAVA註解
- JAVA內部類
- JAVA泛型
- JAVA序列化(創建可複用的Java對象)
- JAVA複製
Spring 原理
- Spring 特點
- Spring 核心組件
- Spring 常用模塊
- Spring 主要包
- Spring 常用註解
- Spring第三方結合
- Spring IOC原理
- Spring AOP原理
- Spring MVC原理
- Spring Boot原理
- JPA原理
- Mybatis緩存
- Tomcat架構
微服務
- 服務註冊發現
- API 網關
- 配置中心
- 事件調度(kafka)
- 服務跟蹤(starter-sleuth)
- 服務熔斷(Hystrix)
- Hystrix斷路器機制
- API管理
Netty 與RPC
- Netty 原理
- Netty 高性能
- Netty RPC實現
- 關鍵技術
- 核心流程
- 消息編解碼
- 通訊過程
- RMI實現方式
分佈式緩存
- 緩存雪崩
- 緩存穿透
- 緩存預熱
- 緩存更新
- 緩存降級
Zookeeper
- Zookeeper概念
- Zookeeper角色
- Zookeeper工作原理(原子廣播)
- Znode有四種形式的目錄節點
Kafka
- Kafka概念
- Kafka數據存儲設計
- partition的數據文件(offset,MessageSize,data)
- 數據文件分段segment(順序讀寫、分段命令、二分查找)
- 數據文件索引(分段索引、稀疏存儲)
- 生產者設計
- 負載均衡(partition會均衡分佈到不同broker上)
- 批量發送
- 壓縮(GZIP或Snappy)
- 消費者設計
RabbitMQ
- RabbitMQ概念
- RabbitMQ架構
- Exchange 類型
算法
- 一致性算法
- Java算法
- 數據結構
- 加密算法
看完上面的內容,相信大家已經有了清晰的目標與方向,接下來就是查找學習資料了,我們為大家準備了一套體系化的架構師學習資料包以及BAT面試資料,供大家參考,學習資料包內容及領取方法如下:關注公眾號【極光訓練營】,回覆“領取”,有專門老師給大家提供資料哦~