剛剛簽下拼多多不久,目前已經入職了一段時間,適應下來感覺還不錯,現在才想起是不是要分享一波面經。實際上在拼多多之前我是很想進BAT一線大廠的,畢竟大部分的程序員心裡都有大廠夢。但是,阿里的面試讓我的心是涼了半截,比較打擊人。具體是一個什麼情況,看下面的面經和總結吧!
含淚面試阿里P6涼涼,最終拿下PDD主力研發崗(面試題+複習筆記)
01 含淚面試阿里P6涼涼(3輪技術面掛)
面試阿里之前是非常有信心的,聽聞阿里不在乎學歷,不少在職員工都是大專出身,所以作為普通本科畢業的我才有這份勇氣,下了這個決心。面試前兩面時,還算是順利,所以早早就在竊喜,原以為能夠順利拿下offer,但在第三面居然被吊打,不得不歎服:不愧是第一的互聯網公司。(以下附面試題)
- 自我介紹+項目介紹
- 項目中你相比於別人的優勢在哪裡,就是你用了別人沒有的東西。
- 看你提到了連接池,druid連接池。
- 常見排序算法
- TCP三次握手,四次揮手。
- 數據庫引擎對比,索引
- 看你搞ACM,你給我講個簡單的數據結構
- 怎麼保證多線程操作的原子性。
- 深入問了樂觀鎖,悲觀鎖及其實現。
- zookeeper鎖,數據庫隔離級別。
- docker隔離部署問題。
- taobao查詢排序要考慮那些因素?
- 你覺得你的能力大概在什麼方面?
- 你是如何進行學習的?
- 畫一個軟件的執行流程。
- 有沒有寫過開發文檔。
- Java怎麼加載類。
- Linux常用命令。
- MVC,MVVM對比。
- Spring的IOC, AOP。
- 講一下ORM框架Hibernate
- 設計模式瞭解嗎?
- 數據庫的事務。
- 數據庫的鎖機制。
- 數據庫的數據底層是怎麼存儲的?
- 講一下synchronized鎖。
- 講一下互斥鎖的底層原理?
- 那mutex是怎麼實現的?你講一講原理?
- 講一下servlet的生命週期。
- Mybatis的一二級緩存,#和$的區別。
- 數據庫的索引知道嗎?索引失效?索引底層實現是什麼?
- 為什麼用B+樹不用B樹?為什麼索引要用B+樹不用別的數據結構?
- 說一下二叉搜索樹的插入。
- 給你N個已經排序好的長度為L的數組,將其排序成長度為N*L的數組。
- 對於你的算法,算法複雜度是多少?
- 講一講你看過的jdk源碼,越詳細越好。
- 編譯原理知道嗎?
- 有什麼想問的?
02 拼多多研發崗offer(研發主力,2輪技術面+HR面)
面試拼多多是比較機緣巧合的,一開始拼多多並未在我的面試清單裡,BATJ是我給自己定下的目標,但是面試阿里和騰訊之後都碰壁了,也就沒有多大信心再繼續下去。後來認識的學長在拼多多,給我拿了內推的機會,調整了心態重新嘗試了一下,最終3面拿下了offer,目前已經是研發團隊的主力之一,下面分享一下面試拼多多的面試題(含HR面)。
- 先聊項目
- Java中的HashMap、TreeMap解釋下?
- TreeMap查詢寫入的時間複雜度多少?
- ConcurrentHashMap怎麼實現線程安全的?
- HashMap多線程有什麼問題?怎麼解決?
- CAS和synchronize有什麼區別?都用synchronize不行麼?
- get需要加鎖麼,為什麼?
- volatile的作用是什麼?
- 給我一張紙,畫了一個九方格,都填了數字,給一個MN矩陣,從1開始逆時針打印這MN個數,要求時間複雜度儘可能低,可以先說下思路
- 系統有哪些模塊,每個模塊用了哪些技術,數據怎麼流轉的?給了我一張紙,我在上面簡單畫了下系統之間的流轉情況
- 鏈路追蹤的信息是怎麼傳遞的?
- SpanId怎麼保證唯一性?
- RpcContext是在什麼維度傳遞的?
- Dubbo的遠程調用怎麼實現的?
- Spring的單例是怎麼實現的?
- 為什麼要單獨實現一個服務治理框架?
- 誰主導的?內部還在使用麼?
- 逆向有想過怎麼做成通用麼?
- 未來的職業規劃問題
- 面試過哪些公司?拿到offer了嗎?
- 有什麼想問的?
03 複習筆記
我的複習筆記共含以下5個部分:
- java程序員面試文檔
- Redis 學習筆記
- Spring Boot 核心技術-筆記
- 性能調優總結(MySQL+JVM+Tomcat)
- 架構實戰文檔(Spring全家桶+Redis+Linux+Tomcat等)
有需要我的這些全部複習筆記資料私信【電子書】獲取!
java面試文檔
Redis 學習筆記
Spring Boot 核心技術-筆記
需要面試文檔和源碼實戰書籍的小夥伴,就可以轉發+關注小編+ 私信關鍵詞【電子書】即可獲取了!
還有更多的Redis、MySQL、JVM、Kafka、微服務、Spring全家桶,架構視頻,Kafka、Mysql、Tomcat、Docker、Spring、MyBatis、Nginx、Netty、Dubbo、Redis、Netty、分佈式、性能調優、設計模式等等架構學習資料這裡就不一一列舉出來,有需要我的這些全部複習資料私信【電子書】獲取!
架構視頻
寫在最後
不要著急去實現自己的大廠夢,清晰自己的職業規劃,朝著目標一點點努力,總有一天會取得成功。對於程序員來說,工作會一點點提升自己知識的深度和廣度,但要記住的是,學習是不能落下的,因為時代在進步,技術在更新,只有更新了自己的知識庫,才不會被行業所淘汰。
以上所整理的學習文檔均可以分享給大家,共勉!
閱讀更多 Java桔煙 的文章