不用多說,相信你們都有一個共識:不管什麼行業,最牛逼的人確定是站在金字塔端的人。因此,想作一個牛逼的程序員,那麼就要讓本身站的更高,成爲技術大牛並非一朝一夕的事情,須要時間的沉澱和技術的積累。程序員
關於這一點,在我當時確立好Java方向時,就已經開始梳理本身的成長路線了,包括技術要怎麼系統地去學習,都列得很是詳細。面試
4面拿下了字節跳動offer
大三下學期找了一家互聯網公司實習,大四的時候就已經在開始規劃畢業後的打算了,關於校招也在着手準備中,固然目標要放高一些,因此阿里、騰訊這些天然要嘗試。最終的結果去了字節跳動,這個面試過程是比較險的,由於個人目標是阿里,因此框架類的東西準備得多一點,算法基本上沒太看,卻沒想到還真是走了「狗屎運」。redis
字節跳動一面:算法
- 實習項目就聊了差很少30分鐘
- 問了MySQL的索引
- redis的string類型
- 爲何使用RabbitMQ?
- RabbitMQ有哪些部件?如何保證準確性跟一致性?
- hashcode和equals?
- 動態代理
- 快排
- 無序數組計算每一個位置大於前面的多少個數字(歸併排序)
字節跳動二面:mongodb
- 問項目
- 如何進行JVM調優?
- cpu滿了重啓系統後好了,可是一會又滿了,如何具體解決?
- 問了如何設置秒殺系統?
- 如何設置銀行系統,會碰到什麼問題?
- 爲何項目中使用了mongodb?
- 一樣兩個算法:
一個文本距離計算(用動態規劃解決)數組
一個是無序數組能夠存儲多少雨水問題框架
字節跳動三面:學習
- 設計SQL和表
- JVM結構
- 平時怎麼學習的?
- 看了哪些書?
- 如何設置一個搶紅包的功能?
- 以及本身項目中碰到了哪些問題?如何解決的?
- 項目的技術選型以及爲何要選擇它?
- 而後最手寫一個算法?
- 實現對hashmap加強,加上過時自動刪除還有淘汰策略實現最短過時時間刪除?
HR面:spa
- 聊個人實習經歷
- 問了一下技術規劃
- 還投了哪些公司?
- 對字節跳動了解多少?用過字節的什麼產品?如何評價?
- 爲何沒有考研?
- 說說你在項目中最大的收穫
面試題答案設計
幸運只給有準備的人,「狗屎運」並非真狗屎
雖然自嘲本身走了狗屎運,可是我永遠都明白一個道理:幸運永遠只會留給有準備的人,機會來了,你得有能力才能抓住。
所以,在面試這些一線互聯網公司以前,我早就開始作準備工做了,包括學習新的技術,提高本身的技術水平,甚至刷面試題,看面試帖,這些都對個人面試起到了極大的幫助,關於面試的準備,我主要是作了如下幾個方面:
如下內容涉及到不少網盤資料(包括視頻、筆記、技術文獻以及面試題庫),有須要的一鍵三連後「加我VX小助理」便可免費獲取到!
(1)經過視頻來系統性地學習
大學學得內容廣,可是泛,不夠系統不夠深刻,因此只可以經過業餘時間來「補課」。個人方式是本身蒐羅整理了一套Java零基礎的學習視頻,從零開始學起,所有視頻看完以後,基本上有一個很是清晰的思路和框架結構了。
(2)閱讀前輩的一些技術筆記
這些筆記是找學長和論壇上的技術牛討來了,翻閱了很多,確實對不少技術點的認識有所幫助,學習到了很多的思路。
(3)刷題備戰,直通大廠
刷題是爲了瞭解如今的大廠面試時會問到什麼,另外也可以提高本身對技術的記憶點,使得在面試時更有底氣。實際上,刷題時咱們靈活一點,學會觸類旁通,在真正面試時仍是可以起到必定做用的。
總結
愛默生說:一個朝着本身目標前進的人,整個世界都給他讓路。因此,做爲二十歲的你,不惑很簡單,多思考多規劃,將來會更清晰,朝着本身的目標一步一步走下去,儘早地取得成功。畢竟,年齡在程序員界裏,也是一種優點。
若是,你沒有靠山,就讓本身成爲本身最穩的靠山吧!
關於這一點,在我當時確立好Java方向時,就已經開始梳理本身的成長路線了,包括技術要怎麼系統地去學習,都列得很是詳細。