1. 程式人生 > 實用技巧 >Android開發5年年薪30w+,在今年特殊時期被辭退,沉寂3個月入駐位元組跳動!

Android開發5年年薪30w+,在今年特殊時期被辭退,沉寂3個月入駐位元組跳動!

被優化後引發的思考

萬物皆螻蟻,人生本寂寞,過著螻蟻一般的生活,有時候也沒什麼不好,螻蟻雖渺小,總是被人忽略,但他們每天有他們自己忙碌的事,不被世俗的萬物打擾,也是一種不錯的生活方式。

在今年的2月份我被公司優化了,原因應該大同小異別人1w塊錢能幹的活,我為什麼要花2w請你,世界就是這樣,換了一波又一波的人。看看這個世界00後聯合國發言人,00後成為最哈佛大學年輕的博士生,世界改變的很快不得不說,想要成為無法替代的人,說實話真的很難。

那我們能做什麼,我們唯一能做的就是不斷奔跑,不斷學習,不斷提升技術。知識改變世界!

特別是程式設計師這個行業,不是你只會複製貼上就可以的,我們要學的還有很多。

我的動力

我以前也常說,年輕人,應該多吃吃苦,儘自己最大能力去努力,去拼搏,這樣以後大概率才能過上自己想要的生活。

可是當你已經盡全力了,還不行的時候,那其實也沒什麼大不了的。

書讀不下去了就退學,沒什麼大不了的。

乾的不爽就辭職,沒什麼大不了的。

失業了就在家苟幾個月,沒什麼大不了的。

不想減肥就當個肥宅,沒什麼大不了的。

彩禮給不起這婚就不結了,沒什麼大不了的。

房子買不起就回老家,沒什麼大不了的。

只要你活的開心快樂,外面的一切都是可以忽略的。

於是我開始做準備,為我大學時目標 【位元組跳動】進發!

我的逆襲之路

1.我先去查看了一下位元組跳動崗位的職責
1、本科及以上學歷,計算機、通訊等相關專業

2、具有紮實的程式設計功底,良好的設計能力和程式設計習慣
3、熟練掌握Java語言,有Kotlin經驗者優先,有iOS或前端開發經驗者優先,有跨平臺開發經驗者優先
4、良好的程式碼潔癖,對事情追求極致
5、積極樂觀,責任心強,工作認真細緻,具有良好的團隊溝通與協作能力
6、熱愛移動產品研發,有較強的學習能力,有強烈的求知慾、好奇心和進取心 ,能及時關注和學習業界最新的移動開發技術
7、最好有社群類產品開發經驗

2.查漏補缺看看自己哪塊知識點不熟悉

3.做個思維導圖,有計劃有方向的系統學習

  • 如:Android框架體系架構
    Android框架體系架構

4.面試前刷題準備(自己整理的,一邊刷一邊整理。這是對知識穩固的一個好辦法哦!我不會告訴你是我怕位元組跳動過不了,回來還得繼續刷題,提前做的準備!)

  • 1.按照系統分類
    一、Handler 相關知識
    二、Activity 相關
    三、Fragment
    四、Service 相關
    五、Android 佈局優化之 ViewStub、 include、merge
    六、BroadcastReceiver 相關


    一、Handler 相關知識

由於篇幅問題不展示太多,有需要的可以在我的【GitHub 】中領取,裡面包含不同方向的自學程式設計路線、面試題集合/面經、及系列技術文章等,資源持續更新中…
自行下載領取連結:【點選我,點選我,點選我獲取你要的學習筆記

5.線上通過boss直聘,58同城等平臺投放簡歷,千萬不要怕多投廣撒網多撈魚。線下,有內推是最好的,沒有的話你就可以去官網或者論壇去找招聘廣告!

面試位元組跳動

在經歷3個月的沉寂後,我終於拿到了位元組跳動的Offer,說的時候是年薪45w+14薪,所以說有時候是福是禍要自己走了之後才知道,要是沒有被優化,我可能也就想著幹到自己老吧!人一旦習慣了一個地方,真的就會變得不願意改變,更不要說以前想都不敢想的“理想”。希望之後一切順利,也祝大家都能早日找到心滿意足的工作!

今年發生的事情太多了,初心不改,來日方長!

6.16 一面

1、java的新特:面向物件 封裝 多型 關係
2、跨平臺,Java是怎麼實現一次編譯處處執行的?他和C、C++的編譯後的exe檔案有什麼區別?
3、java怎麼記憶體回收GC
4、目前JDK預設的垃圾回收器是什麼
5、怎麼實現多型
6、抽象類和抽象介面的區別
7、簡歷裡面寫了設計模式,設計模式有哪些 手寫一個單例模式 ,說下工廠模式、生產消費者模型適用的場景(這裡我是結合我自己的專案說到的)
8、生產消費者模型弊端、量級越來越大了之後怎麼優化
9、併發與並行的區別
10、悲觀鎖與樂觀鎖的區別
11、區塊鏈的概念(因為我的研究方向是區塊鏈,面試官讓我一句話介紹區塊鏈並且要讓他能聽懂)
12、網路netty 實現了什麼功能,長連線的原理、底層的程式碼看過嗎(表示真沒看過)
13、怎麼保證長連線不斷開?怎麼發現互動失敗?
14、手寫演算法 大數相加

6.17 二面

1、java的位元組碼是什麼
2、我們基於位元組碼能做什麼事情
3、java本身和C的區別
4、java為什麼可以一次編譯終身執行
5、JAVA是解析型還是編譯型語言 和python C有什麼區別
6、程式碼混淆有了解過嗎
7、動態連結區和靜態連結庫的區別
8、TCP協議如何保證可靠傳輸
9、一個完整的https的整個過程用到來哪些協議
10、怎麼改進UDP讓他實現可靠傳輸(好像是可以利用應用層來實現TCP的一些功能,從而達到可靠性,具體可能可以參考一下QUIC)
11、git rebase git merge 的區別
12、為什麼想投客戶端的崗位
13、演算法題:陣列的數字合併成最小數 LC179

6.20 三面

1、為什麼選擇區塊鏈方向、講一講自己的專案
3、區塊鏈的理解,有哪些實際落地的場景
4、防篡改不用區塊鏈怎麼實現
5、覺得區塊鏈有什麼可發展的空間或場景
6、netty的執行緒模型
7、netty單執行緒模型怎麼處理併發的問題
8、對於客戶端開發的理解是什麼
9、演算法題 LC93
10、編譯原理作業系統的理解
11、最近在看什麼書
12、有沒有閱讀開源框架

得不說位元組的效率是真的高,5天走完三面,不知道為什麼大家都說第三面比較難,但是我感覺三面是我三輪裡面最輕鬆的,可能是面試官對我的區塊鏈比較感興趣,聊的也比較多。不想第一第二面一樣都是考察基礎!!各位面試的小夥伴真的要好好準備基礎,感覺位元組更看重的還是一個人的潛力!!

新的開始

最後,我就想告訴大家,喜歡什麼就努力去追求,肯定是先盡全力去追求,但是如果拼盡全力之後發現,這個世界總是對你說不,那麼不妨挺直腰板,目光堅毅,張開嘴巴,學會對這個世界說:去!你!媽!的!!

覺得文章不錯的,記得點個贊哦!

由於篇幅問題不展示太多,有需要的可以在我的【GitHub 】中領取,裡面包含不同方向的自學程式設計路線、面試題集合/面經、及系列技術文章等,資源持續更新中…
自行下載領取連結:【點選我,點選我,點選我獲取你要的學習筆記