我是一個不太愛折騰的人,所以在一個公司待久了,就不太會輕易跳槽。正由於如此,我在上家公司待了整整三年,在這裏,認識了一羣可愛的人,便更不捨得離去。java
但由於公司屬於傳統企業,技術上並無太大挑戰,我的也逐漸遇到了職業瓶頸,我也漸漸體會到了溫水煮青蛙的感受,看似本身已經成爲團隊的主程,其實與同齡人的差距越拉越大,因而依然決定換個環境。程序員
阿里巴巴做爲國內最大的互聯網公司,是無數程序員的夢想,因而在七月份便投了阿里旗下菜鳥網絡的簡歷,一個菜鳥便開始了菜鳥網絡的面試之旅。面試
接到菜鳥的面試電話時,仍是很激動的,由於以前歷來沒有面試大廠的經驗,便在忐忑不安中開始了面試。redis
面試官先讓我聊了聊最近的項目,我便把項目講了下,面試官便以此爲切入點,問了一下相關的知識算法
http 協議 轉 dubbo 協議 怎麼作的
dubbo 的架構設計說一下
mq 通知時,消費者沒消費到怎麼辦
redis 是單線程了嗎?有什麼好處
通常設置過時時間嗎,業務場景有哪些,過時策略有哪些
redis 持久化了解不,大家線上怎麼用的
大家線上爲何這麼用?只用AOF行不行
你有什麼想問的?數據庫
一面大概用了半個小時,總體沒有太大難度,更可能是聊了一些項目上的東西,作了一個初步瞭解。瀏覽器
沒想到二面來的如此之快,一面結束的次日,電話就打來了,當時我還在公交車上,便在車停站時趕忙下車,當時還下着濛濛細雨,我也顧不上那麼多了,找個了稍微安靜的角落就開始了面試。網絡
二面問的技術面比較廣,先讓我聊了最近作的項目,以及讓我講了下項目中用到的單點登陸的流程,接着就是java基礎了架構
抽象類和接口你傾向用哪一個?什麼場景下用抽象類
如何更好的實現一個單例
synchronized 和 lock 區別
公平鎖和非公平鎖
怎麼實現自定註解
類加載機制
如何實現本身的classloader
如何動態加載類
如何觸發full gc
用jvm命令如何觸發jvm
最後聊了一些開放性的問題
瞭解過netty嗎
微服務瞭解過嗎,Service Mesh呢
五億數據,找出數量top100
10G數據,在內存小於10G如何分片
分片處理完如何彙總
分佈在多個節點上如何彙總
哈希取模如何哈希?哈希衝突怎麼辦?能徹底解決哈希衝突嗎
數據庫樂觀鎖和悲觀鎖
秒殺系統如何設計?
redis分佈式鎖如何玩?超時時間如何設置
zk的監聽原理,你來實現你怎麼作
主動推送怎麼實現
整個面試聊下來,感受還算不錯,基本都回答出來了。
大概又過來一週,hr通知要到現場面,約的是上午十點,爲了能準時趕到,我提早一天去了杭州。
次日早早的就起來了來到了面試地點,由於來的比較早,就坐在菜鳥大樓的外面等。七月的杭州彷佛格外的熱,看着菜鳥大廈的人進進出出,每一個人彷佛都很忙,我不禁的想,本身從此是否有幸也能成爲他們中的一員。
三面的形式徹底出乎我意料,來了兩個面試官,先作了自我介紹,便開始了面試。
整個面試過程都讓我在黑板上畫圖講解,他們會不間斷的提問並作記錄。
先是讓我畫了項目的架構圖,面試官指出了我項目中存在的一些問題問我如何解決,而後穿插着對項目中用到的一些技術進行提問
消息如何保證必定被消費,如何沒有消費到怎麼辦
Redis 怎麼保證不丟數據,能不能保證嚴格意義的必定不會丟
Redis 集羣,生產環境Redis 如何作數據遷移
一致性hash算法
數據庫是怎麼保證必定不會丟失數據的
瀏覽器敲入一個域名,儘量詳情的說下接下來網絡協議層面發生了什麼
瞭解過哪些鎖,volatile 說下
三面持續了大概一個小時,面的不太好,主要是網絡協議那一塊,我回答的太爛了
四面是一個看起來很是平易近人的大叔,全程微笑和我聊天,沒有一點架子,應該是 Team Leader
。
整個過程沒有聊技術細節,主要聊了一些技術的方向,業務的理解,過往的經歷。整個過程仍是聊的很愉快的。
整個面試過程問的知識點並不算難,也沒有很偏的題,不少都是開放性的問題。
例如redis在生產環境作數據遷移,一個只看過幾篇博客的人和一個確實親身經歷過這種場景的人,回答的絕對有差異,而正是這種問題,才能看出來差距。
遺憾的是最後仍是沒經過面試,我以爲緣由主要以下
在我看來,面試不只僅是實力加運氣,我的發揮也很重要,有的人面試常常能發揮百分之一百二的實力,我總結了幾點
雖然沒能進阿里,但我並不沮喪,只是有些遺憾。畢竟在這條路上,我一直在努力,過程已經足夠豐富多彩,結果已然沒那麼重要,順其天然就好。
生活本就是一個不可預知的過程,只要朝着更好的方向前進就好。何況,因禍得福焉知非福,如今我入職了一家很不錯的互聯網公司,作的是本身喜歡的中間件研發,並且又遇到了一羣可愛又有趣的人。這樣的結果,我已然知足。