我大概我是從去年12月份開始看書學習,到今年的6月份,一直學到看你們的面經基本上百分之90以上都會,我就在5月份開始投簡歷,邊面試邊補充基礎知識等。也是有些辛苦。終因而在前不久拿到了阿里的offer,定級P7。mysql
我如今也來寫面經,把我還能記住的,寫下來,反饋給你們:nginx
mysql知道哪些存儲引擎,它們的區別面試
mysql索引在什麼狀況下會失效redis
mysql在項目中的優化場景,慢查詢解決等算法
mysql有什麼索引,索引模型是什麼spring
B-樹與B+樹的區別?爲何不用紅黑樹sql
mysql主從同步怎麼作數據庫
樂觀鎖與悲觀鎖的區別?數組
binlog日誌瀏覽器
redis 持久化有哪幾種方式,怎麼選?
redis 主從同步是怎樣的過程?
redis 的 zset 怎麼實現的?
redis key 的過時策略
hashmap 是怎樣實現的?爲何要用紅黑樹,而不用平衡二叉樹?爲何在1.8中鏈表大於8時會轉紅黑樹?HashMap爲何線程不安全的?
如何實現線程安全的hashmap?
select 和 epoll的區別
http與https的區別,加密怎麼加的?
raft算法詳細講解
Kafka 選主怎麼作的?
kafka如何保證生產與消費都是同步的?
kafka 怎麼保證不丟消息的
redis如何保證高可用
算法:剪繩子(貪心或遞歸解決)
算法:給前序和中序遍歷,重建二叉樹
自我介紹
講講項目(項目沒啥亮點,直接問基礎)
volatile做用?底層實現?禁止重排序的場景?單例模式中volatile的做用?
如何構造線程池,它的參數,飽和策略?
公平鎖和非公平鎖區別?爲何公平鎖效率低?
線程都有哪些狀態?
線程、進程、協程的區別?
同步隊列器AQS思想,以及基於AQS實現的lock,。
併發工具類CountDownLatch、CyclicBarrier、Semaphore介紹
Execuors類實現的幾種線程池類型,最後如何返回?
手寫單例模式
手寫消費者生產者模式
算法:反轉單鏈表
算法:給定一個只包含 '(' 和 ')' 的字符串,找出最長的包含有效括號的子串的長度。
這一面,沒問啥東西,主要聊人生,和將來3年的規劃。
自我介紹
項目介紹(沒亮點,仍是問基礎)
堆排序的原理及時間複雜度,是否穩定,最壞及最壞場景。
Object類都有哪些方法?
DNS解析的過程/瀏覽器輸入一個url,敲下回車後網絡的全過程
HTTP和HTTPS的區別
UDP怎麼實現可靠傳輸
介紹下https,是如何加密的,加密算法
數據庫索引的優缺點,以及何時數據庫索引失效
事務的隔離級別?
數據庫的髒讀,不可重複讀,幻讀
算法:接雨水:給定 n 個非負整數表示每一個寬度爲 1 的柱子的高度圖,計算按此排列的柱子,下雨以後能接多少雨水。
算法:N皇后
1. Kafka的特性?
2. Kafka中的分區器、序列化器、攔截器是否瞭解?它們之間的處理順序是什麼?
3. 消費者重平衡(高可用性、伸縮性)
4. 那些情景下會形成消息漏消費?
5. 如何保證消息不被重複消費(冪等性)
6. KafkaConsumer是非線程安全的,那麼怎麼樣實現多線程消費?
7. Kafka生產者客戶端中使用了幾個線程來處理?分別是什麼?
8. 消費者與生產者的工做流程:
9. topic的分區數可不能夠增長?
10. 算法:二叉樹中的最大路徑和
11. 算法:給定單向鏈表的頭指針和一個要刪除的節點的值,定義一個函數刪除該節點。
redis的Zset怎麼實現的?
sentinel和cluster區別和各自適用場景
redis cluster集羣同步過程
redis單線程爲何快?
mybatis一級緩存和二級緩存
spring如何解決循環依賴?
spring AOP的原理。
spring的生命週期。
Dubbo服務暴露和引用過程,負載均衡策略,容錯機制在哪裏實現的源碼
項目中遇到了哪些問題。(抱歉,個人工做就是增刪改查,沒接觸過相關問題)
算法:二叉樹的鏡像
算法:從上到下打印二叉樹
如何設計一個秒殺系統?
一天爬一千萬條文章,怎麼作設計?怎麼並行協調?100 臺服務器怎麼儘量負載均衡?
有用太短域名服務嗎,能說一下嗎?
微服務的特色,如何實現服務發現和負載均衡
如何排查線上問題?(背過,沒排過)
貝葉斯的機率學原理
負載均衡的加權輪詢算法怎麼實現
若是用戶量大幅度上漲,如何優化?
paxos算法(這個算法太難,學的時候就沒太理解)
平時都看什麼博客,最近看什麼書了。
自我介紹
項目介紹(面試官:你說你經驗不足,那我們從基礎來問)
redis的5種類型,及其實現原理(redis設計與實現這本書我滾瓜爛熟,面試官誇我很不錯)
如何使用redis的Zset實現延時隊列?
redis如何實現高可用?
redis緩存穿透、緩存擊穿、緩存雪崩。
布隆過濾器的實現。
如何保證mysql與redis的雙寫一致性。
負載均衡算法有哪些?
服務發現是怎麼實現的?
熔斷是怎麼實現的?
算法:連續子數組的最大和
講講分佈式CAP和BASE?
什麼是強一致性
分佈式事務的解決方案?
TCC(兩階段型、補償型)
id生成器如何實現?
如何判斷一個圖是否有環?
一致性Hash算法,及其應用。
揹包問題
自我介紹
項目介紹
redis的zSet如何實現?
redis持久化機制。
redis的Hash類型講解,漸進式rehash。
HashMap原理,一個put操做,都有什麼流程?
nginx有本身配置過嗎(這個是我惟一手動操做過的,這個不是背的)
nginx的使用場景。
什麼是分佈式,什麼是集羣,區別是什麼?
在基於dubbo的分佈式環境中,通常將超時timeout設置在provider仍是consumer?
dubbo中負載均衡的策略有哪些?
接口的異步調用?如何設置?運行效果?
談談基於dubbo的系統中consumer集羣的解決方案?
mysql是集羣仍是單節點?最大鏈接數,最大的表中數據量大約是多少?
mysql主從複製主要有哪幾種模式?
mysql索引,B+樹,爲何不用紅黑樹?
數據庫垂直與水平拆分怎麼作。
分佈式session設置
IO、BIO、NIO,阻塞與非阻塞的區別?
分佈式接口的冪等性設計(不能重複扣付款)
算法:二叉搜索數與雙向鏈表(這個懵了)
算法:最長不含重複字符的子字符串
算法:手寫快速排序、插入排序、冒泡排序,並分析時間複雜度和空間複雜度,它們的穩定性。
多看多記,多作題多看書,但願你們能夠找到本身喜歡的工做,一切順利。