1. 程式人生 > 其它 >javaweb面試總結(二、電商專案),Java校招面試經驗

javaweb面試總結(二、電商專案),Java校招面試經驗

JAVA基礎

  1. JAVA異常分類及處理
  2. 異常分類
  3. 異常的處理方式
  4. Throw和throws的區別
  5. JAVA反射
  6. 動態語言
  7. 反射機制概念 (執行狀態中知道類所有的屬性和方法)
  8. Java反射API
  9. 反射使用步驟(獲取Class物件、呼叫物件方法)
  10. 獲取Class物件的3種方法
  11. 建立物件的兩種方法
  12. JAVA註解
  13. JAVA內部類
  14. JAVA泛型
  15. JAVA序列化(建立可複用的Java物件)
  16. JAVA複製

JAVA集合

  1. 介面繼承關係和實現
  2. List
  3. ArrayList(陣列)
  4. Vector(陣列實現、執行緒同步)
  5. LinkList(連結串列)
  6. Set
  7. HashSet(Hash表)
  8. TreeSet(二叉樹)
  9. LinkHashSet(HashSet+LinkedHashMap)
  10. Map
  11. HashMap(陣列+連結串列+紅黑樹)
  12. JAVA7實現
  13. JAVA8實現
  14. ConcurrentHashMap
  15. Segment段
  16. 執行緒安全(Segment 繼承 ReentrantLock 加鎖)
  17. 並行度(預設16)
  18. HashTable(執行緒安全)
  19. TreeMap(可排序)
  20. LinkHashMap(記錄插入順序)

JAVA多執行緒併發

  1. JAVA併發知識庫
  2. JAVA執行緒實現/建立方式
  3. 4種執行緒池
  4. 執行緒生命週期(狀態)
  5. 終止執行緒4種方式
  6. sleep與wait 區別
  7. start與run區別
  8. JAVA後臺執行緒
  9. JAVA鎖
  10. 執行緒基本方法
  11. 執行緒上下文切換
  12. 同步鎖與死鎖
  13. 執行緒池原理
  14. JAVA阻塞佇列原理
  15. CyclicBarrier、CountDownLatch、Semaphore的用法
  16. volatile關鍵字的作用(變數可見性、禁止重排序)
  17. 如何在兩個執行緒之間共享資料
  18. ThreadLocal作用(執行緒本地儲存)
  19. synchronized和ReentrantLock的區別
  20. ConcurrentHashMap併發
  21. Java中用到的執行緒排程
  22. 程序排程演算法
  23. 什麼是CAS(比較並交換-樂觀鎖機制-鎖自旋)
  24. 什麼是 AQS(抽象的佇列同步器)

JVM

  1. 執行緒
  2. JVM記憶體區域
  3. JVM執行時記憶體
  4. 垃圾回收與演算法
  5. JAVA 四種引用型別
  6. GC分代收集演算法 VS 分割槽收集演算法
  7. GC垃圾收集器
  8. JAVA IO/NIO
  9. JVM 類載入機制

Spring 原理

  1. Spring 特點
  2. 輕量級
  3. 控制反轉
  4. 面向切面
  5. 容器
  6. 框架集合
  7. Spring 核心元件
  8. Spring 常用模組
  9. Spring 主要包
  10. Spring 常用註解
  11. Spring IOC原理
  12. Spring APO原理
  13. Spring MVC原理
  14. Spring Boot原理
  15. JPA原理
  16. Mybatis快取
  17. Tomcat架構

微服務

  1. 服務註冊發現
  2. 客戶端註冊(zookeeper)
  3. 第三方註冊(獨立的服務Registrar)
  4. 客戶端發現
  5. 服務端發現
  6. Consul
  7. Eureka
  8. SmartStack
  9. Etcd
  10. API 閘道器
  11. 請求轉發
  12. 響應合併
  13. 協議轉換
  14. 資料轉換
  15. 安全認證
  16. 配置中心
  17. zookeeper配置中心
  18. 配置中心資料分類
  19. 事件排程(kafka)
  20. 服務跟蹤(starter-sleuth)
  21. 服務熔斷(Hystrix)
  22. Hystrix斷路器機制
  23. API管理

Netty 與RPC

  1. Netty 原理
  2. Netty 高效能
  3. 多路複用通訊方式
  4. 非同步通訊NIO
  5. 零拷貝(DIRECT BUFFERS使用堆外直接記憶體)
  6. 記憶體池(基於記憶體池的緩衝區重用機制)
  7. 高效的Reactor執行緒模型
  8. 無鎖設計、執行緒繫結
  9. 高效能的序列化框架
  10. Netty RPC實現
  11. 關鍵技術
  12. 核心流程
  13. 訊息編解碼
  14. 通訊過程
  15. RMI實現方式
  16. 實現步驟
  17. Protoclol Buffer
  18. Thrift

分散式快取

  1. 快取雪崩
  2. 快取穿透
  3. 快取預熱
  4. 快取更新
  5. 快取降級

網路

  1. 網路7層架構
  2. TCP/IP原理
  3. 網路訪問層(Network Access Layer)
  4. 網路層(Internet Layer)
  5. 傳輸層(Tramsport Layer-TCP/UDP)
  6. 應用層(Application Layer)
  7. TCP三次握手/四次揮手
  8. HTTP原理
  9. 傳輸流程
  10. HTTP狀態
  11. HTTPS
  12. CDN 原理
  13. 分發服務系統
  14. 負載均衡系統
  15. 管理系統

日誌

  1. Slf4j
  2. Log4j
  3. LogBack
  4. Logback優點
  5. ELK

Zookeeper

  1. Zookeeper概念
  2. Zookeeper角色
  3. Leader
  4. Follower
  5. Observer
  6. ZAB協議
  7. 事務編號 Zxid(事務請求計數器+ epoch)
  8. epoch
  9. Zab協議有兩種模式-恢復模式(選主)、廣播模式(同步)
  10. ZAB協議4階段
  11. Leader election(選舉階段-選出準Leader)
  12. ZAB協議JAVA實現(FLE-發現階段和同步合併為 Recovery Phase(恢復階段))
  13. 投票機制
  14. Zookeeper工作原理(原子廣播)
  15. Znode有四種形式的目錄節點

Kafka

  1. Kafka概念
  2. Kafka資料儲存設計
  3. partition的資料檔案(offset,MessageSize,data)
  4. 資料檔案分段segment(順序讀寫、分段命令、二分查詢)
  5. 資料檔案索引(分段索引、稀疏儲存)
  6. 生產者設計
  7. 負載均衡(partition會均衡分佈到不同broker上)
  8. 批量傳送
  9. 壓縮(GZIP或Snappy)
  10. 消費者設計
  11. Consumer Group

RabbitMQ

  1. RabbitMQ概念
  2. RabbitMQ架構
  3. Exchange 型別

Hbase

  1. Hbase概念
  2. 列式儲存
  3. Hbase核心概念
  4. Hbase核心架構
  5. Hbase的寫邏輯
  6. HBase vs Cassandra
  7. MongoDB
  8. MongoDB概念
  9. MongoDB特點

Cassandra

  1. Cassandra概念
  2. 資料模型
  3. Cassandra一致Hash和虛擬節點
  4. Gossip協議
  5. 資料複製
  6. 資料寫請求和協調者
  7. 資料讀請求和後臺修復
  8. 資料儲存(CommitLog、MemTable、SSTable)
  9. 二級索引(對要索引的value摘要,生成RowKey)
  10. 資料讀寫

設計模式

  1. 設計原則
  2. 工廠方法模式
  3. 抽象工廠模式
  4. 單例模式
  5. 建造者模式
  6. 原型模式
  7. 介面卡模式
  8. 裝飾器模式
  9. 代理模式
  10. 外觀模式
  11. 橋接模式
  12. 組合模式
  13. 享元模式
  14. 策略模式
  15. 模板方法模式
  16. 觀察者模式
  17. 迭代的模式
  18. 責任鏈模式
  19. 命令模式
  20. 備忘錄模式

負載均衡

  1. 四層負載均衡 vs 七層負載均衡
  2. 負載均衡演算法/策略
  3. LVS
  4. Keepalive
  5. Nginx反向代理負載均衡
  6. HAProxy

資料庫

  1. 儲存引擎
  2. 索引
  3. 資料庫三正規化
  4. 資料庫是事務
  5. 儲存過程(特定功能的SQL 語句集)
  6. 觸發器(一段能自動執行的程式)
  7. 資料庫併發策略
  8. 資料庫鎖
  9. 基於Redis分散式鎖
  10. 分割槽分表
  11. 兩階段提交協議
  12. 三階段提交協議
  13. 柔性事務
  14. CAP

一致性演算法

  1. Paxos
  2. Zab
  3. Raft
  4. NWR
  5. Gossip
  6. 一致性Hash
  7. 一致性Hash特性
  8. 一致性Hash原理

JAVA演算法

  1. 二分查詢
  2. 氣泡排序演算法
  3. 插入排序演算法
  4. 快速排序演算法
  5. 希爾排序演算法
  6. 歸併排序演算法
  7. 桶排序演算法
  8. 基數排序演算法
  9. 剪枝演算法
  10. 回溯演算法
  11. 最短路徑演算法
  12. 最大的陣列演算法
  13. 最長公共子序演算法
  14. 最小生成樹演算法

資料結構

  1. 棧(stack)
  2. 佇列(queue)
  3. 連結串列(Link)
  4. 散列表(Hash Table)
  5. 排序二叉樹
  6. 紅黑樹
  7. B-TREE
  8. 點陣圖

加密演算法

  1. AES
  2. RSA
  3. CRC
  4. MD5

Hadoop

  1. Hadoop概念
  2. HDFS
  3. Client
  4. NameNode
  5. Secondary NameNode
  6. DataNode
  7. MapReduce
  8. JobTracker
  9. TaskTracker
  10. Task
  11. Reduce Task 執行過程
  12. Hadoop MapReduce 作業的生命週期
  13. 作業提交與初始化
  14. 任務排程與監控。
  15. 任務執行環境準備
  16. 任務執行
  17. 作業完成

Spark

  1. Spark概念
  2. 核心架構
  3. 核心元件
  4. SPARK程式設計模型
  5. SPARK計算模型
  6. SPARK執行流程
  7. SPARK RDD流程
  8. SPARK RDD

Storm

  1. Storm概念
  2. 叢集架構
  3. Nimbus(master-程式碼分發給Supervisor)
  4. Supervisor(slave-管理Worker程序的啟動和終止)
  5. Worker(具體處理元件邏輯的程序)
  6. Task
  7. ZooKeeper
  8. 程式設計模型(spout->tuple->bolt)
  9. opology執行
  10. Storm Streaming Grouping
  11. ResourceManager
  12. NodeManager
  13. ApplicationMaster
  14. YARN執行流程

機器學習

  1. 決策樹
  2. 隨機森林演算法
  3. 邏輯迴歸
  4. SVM
  5. 樸素貝葉斯
  6. K 最近鄰演算法
  7. K 均值演算法
  8. Adaboost 演算法
  9. 神經網路
  10. 馬爾可夫

雲端計算

  1. SaaS
  2. PaaS
  3. IaaS
  4. Docker
  5. Openstack
  6. Namespaces
  7. 程序(CLONE_NEWPID 實現的程序隔離)
  8. Libnetwork與網路隔離
  9. 資源隔離與CGroups
  10. 映象與UnionFS
  11. 儲存驅動

執行緒、資料庫、演算法、JVM、分散式、微服務、框架、Spring相關知識

一線網際網路P7面試集錦+各種大廠面試集錦

學習筆記以及面試真題解析

本文已被CODING開源專案:【一線大廠Java面試題解析+核心總結學習筆記+最新講解視訊+實戰專案原始碼】收錄