一面
一面面試老師是個小姑娘,人特別好(不僅僅指長相啊),
問了mysql的索引
Redis的string型別
為什么使用rabbitmq
rabbitmq有哪些部件,如何保證準確性跟一致性,
演算法問了兩道
快排
無序陣列計算每個位置大于前面的多少個數字(歸并排序)
二面
二面就開始偏向專案了,
如何進行jvm調優(然后我巴拉巴拉,老師說你寫下具體的引數跟請求命令)
cpu滿了重啟系統后好了,但是一會又滿了,如何具體解決,(老師有點嚴格,一直說我不要聽原理,你給我說具體的命令)
然后問了如何設定秒殺系統
如何設定銀行系統,會碰到什么問題
為什么專案中使用了mongodb
同樣兩個演算法
一個文本距離計算
(用動態規劃解決)
一個是無序陣列可以存盤多少雨水問題
三面
沒有問技術
就是聊了聊怎么學習的
看了那些書
如何設定一個搶紅包的功能
以及自己專案中碰到了哪些問題,如何解決的
專案的技術選型以及為什么要選擇它
然后最手寫一個演算法
實作對hashmap增強,加上過期自動洗掉還有淘汰策略實作最短過期時間洗掉
HR面
技術規劃
還投了哪些公司
位元組了解
為什么考研
專案中最大的識訓
這里是我四面位元組成功之前,刷過的面試題;分享給大家!沒有包括演算法,因為演算法系列的比較多,但是我整理了PDF,需要的話可以“加我VX小助理”來免費獲取到!
Java基礎
- JAVA 中的幾種資料型別是什么,各自占用多少位元組,
- String 類能被繼承嗎,為什么,
- 兩個物件的 hashCode() 相同,則 equals() 也一定為 true,對嗎?
- String 屬于基礎的資料型別嗎?
- Java 中操作字串都有哪些類?它們之間有什么區別?
- Java 中 IO 流分為幾種?
- BIO、NIO、AIO 有什么區別?
- 用過哪些 Map 類,都有什么區別,HashMap 時執行緒安全的嗎,并發下使用的 Map 是什么,他們的內部原理分別是什么,比如存盤方法,hashcode,擴容,默認容量等,
- 如何將字串反轉?
- 抽象類必須要有抽象方法嗎?
- 普通類和抽象類有哪些區別?
- 抽象類能使用 final 修飾嗎?
- ArrayList 和 LinkedList 有什么區別?
- ConcurrentHashMap的資料結構(必考)
- volatile作用(必考)
- Atomic類如何保證原子性(CAS操作)(必考)
- 為什么要使用執行緒池(必考)
Redis
- Redis的應用場景
- Redis支持的資料型別(必考)
- zset跳表的資料結構(必考)
- Redis的資料過期策略(必考)
- Redis的LRU過期策略的具體實作
- 如何解決Redis快取雪崩,快取穿透問題
- Redis的持久化機制(必考)
- Redis為什么是單執行緒的?
- 什么是快取穿透?怎么解決?
- Redis持久化有幾種方式?
- Redis為什么這么快?(必考)
- Redis怎么實作分布式鎖?
- Redis如何做記憶體優化?
- Redis淘汰策略有哪些?
- Redis常見的性能問題有哪些?該如何解決?
- Redis的使用要注意什么?
ZooKeeper
- CAP定理
- ZAB協議
- leader選舉演算法和流程
- zookeeper 是什么?
- zookeeper 有幾種部署模式?
- zookeeper 怎么保證主從節點的狀態同步?
Mysql
- 事務的基本要素
- 事務隔離級別(必考)
- 如何解決事務的并發問題(臟讀,幻讀)(必考)
- MVCC多版本并發控制(必考)
- binlog,redolog,undolog都是什么,起什么作用
- InnoDB的行鎖/表鎖
- myisam和innodb的區別,什么時候選擇myisam
- 為什么選擇B+樹作為索引結構(必考)
- 索引B+樹的葉子節點都可以存哪些東西(必考)
- 查詢在什么時候不走(預期中的)索引(必考)
- sql如何優化
- explain是如何決議sql的
- order by原理
JVM
- 運行時資料區域(記憶體模型)(必考)
- 垃圾回識訓制(必考)
- 垃圾回收演算法(必考)
- Minor GC和Full GC觸發條件
- GC中Stop the world(STW)
- 各垃圾回收器的特點及區別
- 雙親委派模型
- JDBC和雙親委派模型關系
- JVM 中一次完整的 GC 流程是什么樣子的,物件如何晉升到老年代,說說你知道的幾種主要的 JVM 引數
Spring
- Spring的IOC/AOP的實作(必考)
- 動態代理的實作方式(必考)
- Spring如何解決回圈依賴(三級快取)(必考)
- Spring的后置處理器
- Spring的@Transactional如何實作的(必考)
- Spring的事務傳播級別
- BeanFactory和ApplicationContext的聯系和區別
其他
- 高并發系統的限流如何實作
- 高并發秒殺系統的設計
- 負載均衡如何設計
作業系統篇
- 行程和執行緒的區別
- 行程同步的幾種方式
- 執行緒間同步的方式
- 什么是緩沖區溢位,有什么危害,其原因是什么
- 行程中有哪幾種狀態
- 分頁和分段有什么區別
多執行緒篇
- 多執行緒的幾種實作方式,什么是執行緒安全
- volatile 的原理,作用,能代替鎖嗎?
- sleep 和 wait 的區別
- sleep(0)的意義
- Lock 和 Synchronized 的區別
- synchronized 的原理是什么,一般用在什么地方(比如加載靜態方法和非靜態方法的區別)
補充
另外還會考一些計算機網路之類的,像訊息佇列,RPC框架這種考的比較少,計算機網路就是分層啊,tcp/udp啊,三次握手之類的,作業系統就是行程與執行緒啊,行程的資料結構以及如何通信之類的,
資料結構的排序演算法也比較常考,考的話一定會讓你手寫個快排,剩下的演算法題就靠LeetCode的積累了,其實非演算法崗考的演算法題都蠻簡單的,很多題完全就是考察你智力是否正常,稍微難點的涉及到一些演算法思想的按照LeetCode題目型別的分類,每種題做一兩道基本就能完全應付面試了,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/213377.html
標籤:其他

