一面
- 鏡像二叉樹
- 兩個鏈表,一個從小到大,一個從大到小,合成一個從小到大的鏈表
- 多線程
- 單線程的cpu可以啓多線程嘛
- 線程和進程區別
- 線程怎麼通信
- 進程怎麼通信
- 分庫分表
- orderid怎麼保證全局唯一性,不會重複
- 如何記錄文章和瀏覽次數
- 按照文章和瀏覽次數排序
- redis sortedset插入時間複雜度
- mq作用,什麼是異步、解藕、削峯
- 一個日誌文件 找出URL出現最多的行
二面
- 自我介紹
- 算法題 : 一個有序數組,找出target的起止位置
nums = [5,7,7,8,8,10], target = 8
輸出 [3,4]
- 常用集合
- HashMap底層
- 線程池核心參數
- 線程池的一個線程拋異常怎麼辦
- 線程拋異常由誰處理
- jvm堆內存結構
- 新生代的對象什麼時候會進入老年代
- Spring Boot 和 Spring的區別
- 配置了數據庫的信息,爲什麼Spring Boot可以使用 (自動配置)
- Spring Bean是單例的嘛
- Spring Bean是線程安全的嘛
- aop (動態代理 jdk/cglib)
- Mybatis 一個mapper裏面的方法可以重載嗎
- Mybatis定義一個mapper接口底層怎麼處理的
- mysql聯合索引
- B+ 樹
- 事務隔離級別
- mysql事務通過 什麼日誌回滾的 (undolog)
- redis 分佈式鎖
- 分佈式會的東西
- zookeeper應用場景
- 項目相關
- 工作中最大的挑戰
三面
- 自我介紹
- 項目業務
- rabbit mq
- mq丟數據
- redis 哨兵 原理
- redis 集羣
- redis 主從同步
- redis 快在哪裏
- 什麼是io多路複用
- nio 相關
- zk zab協議
- 怎麼理解高併發
- 分佈式鎖
- setnx ex 怎麼保證原子性
lua
還有呢?
- setnx ex 怎麼保證原子性
- synchronize 和 lock
- lock的公平鎖和非公平鎖
- AQS
- 索引類型
- B+ 樹優點
- SQL優化
- mysql 隔離級別
- 隔離基於什麼實現 (基於鎖)
- 類加載
- 雙親委派 及 優點
- jvm GC
- 按回字輸出矩陣
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
5*5
1 2 3 4 5 6 7 8 9 10 11 12 13…..
- 反轉鏈表