以前給你們分享了一個朋友在字節面試的面試經歷和拿到offer的過程,過程也算是比較精彩了,感興趣的朋友能夠去翻翻以前的那篇文章。話很少說重點來啦,一直有人發私信問我有沒有其餘大廠的面經分享啊,我也是聯繫了幾個參加春招去面試阿里頭條的粉絲,從他們那拿到了面試題和麪試流程,花了三天給你們整理在了下面。
阿里-釘釘-春招實習-面試-java研發
####一面(p7)(1h45min):java
一、自我介紹(主要是項目經驗,及項目中遇到的難點)mysql
二、針對項目中中間件zk,dubbo,kafka等出題面試
三、消息中間件的優缺點及選型算法
四、dubbo服務的一些原理spring
五、具體場景進行接口設計(例如拉取聊天記錄(cas進行版本控制))sql
六、手撕代碼:相似於三數相加,寫完之後進階,如何在多線程的狀況下完成這個題目(手寫mapreduce)(ps:我是經過volatile去寫的))docker
七、docker的瞭解,docker與虛擬機的設計區別數據庫
八、http幾個版本的差異後端
九、介紹組內主要工做緩存
十、問問題
二面(p9)(1h):
一、自我介紹(主要是項目經驗,及項目中遇到的難點)
二、針對項目中的rpc中間件dubbo原理詢問
三、若是本身設計一個rpc框架怎麼設計
四、各類序列號協議的特色
五、nio的設計架構
六、rpc與http的對比,爲何spring cloud用的是http
七、消息中間件的優缺點,選型(主要針對kafka於rocketmq)
八、docker與虛擬機的設計差異?用過k8s沒有?讓你設計一套容器管理的框架怎麼設計
九、平常學習的方式
十、隨機算法如何作到「公平」
十一、對將來的規劃
十二、問問題
三面(p9交叉面)(1h):
一、自我介紹(項目沒怎麼問)(這一面確實開放性的場景題)
二、針對spring框架中bean的生命週期,如何不使用spring配置生命週期的功能,完成每一個request與session都是單例的狀況(利用反射生成匿名類)(具體的描述不是特別記得了,反正挺難的)
三、Java的aop的實現原理,兩種代理機制的差異(實現原理)
四、如何設計一套rpc框架
五、序列化的知識點,serializable關鍵字的做用(實現原理),集中序列化協議,pb的優勢
六、tcp、udp的特色
七、tcp在當前存在的問題,滑動窗口機制、擁塞控制的不合理性,如何解決這個問題(用udp的方式解決滑動窗口的問題,解決網絡傳輸被限制的問題)(參考google正在開發的一套網絡協議)
八、 restful闡述
九、rpc過程當中異常怎麼處理的,利用反射生成?還有怎麼傳輸或者有沒有必要序列化傳輸?
十、本身平常的學習方式
十一、本身的職業規劃
四面(hr面)(1h):
一、自我介紹
二、爲何跨考,會不會專業知識不夠
三、家庭狀況
四、生活習慣、學習的方式
五、爲何會有這麼多大廠的offer,是如何作到的
六、offer選擇
七、從小學開始問,問到如今的一些經歷
八、有什麼問題要問
核心廣告系統與創意中心-後端開發面經
頭條一面:
一、介紹本身(主要說項目經驗,項目的上下文)
二、hashmap源碼、concurrenthashmap源碼
三、索引的功能、底層實現
四、索引爲何用b-tree實現有什麼優勢
五、索引用b+樹實現每次讀取的時候操做系統的動做;
六、mysql引擎區別;
七、innodb的默認讀是什麼;innodb可重複度的實現原理(mvvc+next-key lock)
八、多線程線程安全的一些知識;
九、悲觀鎖&樂觀鎖;
十、volatile關鍵字:內存可見性的原理;禁止重排序的原理;
十一、一道算法題,應該是樹的我記得
頭條二面
一、介紹本身(主要說項目經驗,項目的上下文)
二、一道sql題目(挺難的)
三、一道算法題:區間合成吧我記得是
四、rpc框架,若是本身實現要怎麼實現;
五、負載均衡
六、mq的優勢,mq選型的緣由;
七、docker與虛擬機的差別和優缺點;
八、線程安全;
九、垃圾回收,g1和cms實現細節;
十、數據庫事務
十一、覆蓋索引
頭條三面:
一、介紹本身(主要說項目經驗,項目的上下文)
二、主要問了大學以來學習歷程
三、主要自學了些什麼
四、死鎖的條件;
五、怎麼避免死鎖;銀行家算法是什麼;
六、tcp、udp;tcp的擁塞控制;tcp/http的滑動窗口存在的弊端
七、經常使用的liux命令行
八、算法題:字符串加減
九、spring的生命週期
十、這一面面的知識點都是比較基礎的,可是會找一個刁鑽的角度深刻進去
主要考察我的發展的空間吧我以爲
美團-到店事業部(上海)-後端開發-春招
一面(55min)
一、自我介紹
二、爲何筆試一題沒寫,而後讓我手撕三題算法題
三、項目經驗介紹,及項目中遇到的難點
四、爲何跨考,計算機基礎好嗎
五、計算機網絡tcp,udp ,http幾個版本之間的比較
六、java虛擬機
七、java鎖機制
八、操做系統中文件系統,進程與線程
九、銀行家算法
十、dubbo的原理解釋
十一、如何作熔斷機制
十二、常見的負載均衡的算法介紹
二面(1h)
一、自我介紹
二、一面問了哪些問題
三、項目經驗
四、rpc框架,及如何實現rpc框架
五、如何設計一套高併發的系統(微服務,消息中間件解耦,緩存。。。。)
六、樂觀鎖悲觀鎖
七、mysql索引,實現方式,原理,聚簇索引,覆蓋索引等
八、innodb的mvvc及next-key lock
九、場景題,大體是用版本控制,進行數據庫查詢
十、mysql中若是一個字段是varchar,查詢的時候查的是int類型會發生什麼(索引失效)
十一、es介紹,倒排索引的實現
十二、spring aop的實現原理
1三、mybatis一級索引、二級索引
1四、問問題
1五、願不肯意去北京