從外賣員到Android程式設計師,自學3年終於轉行成功,三面“拿下”拼多多offer
前言
先來自我介紹:
老家農村,家裡好不容易把我送到大城市讀書,大學非985,211,但在我們老家,能出一個本科大學生也是非常不容易的。因為農村資訊的相對閉塞,我對大學專業一無所知,加上分數並非前茅,最後被調劑一個我並不喜歡的專業,這裡就不透露自己是什麼學校了,只能說畢業之後為了能多賺點,選擇了送外賣,這一送就送了將近3年的時間。
為什麼學程式設計?
接觸到程式設計是一次很偶然的機會,有一次送外賣,對方是自己的學長,他是計算機專業的,畢業後就進了一線網際網路公司,那之後就偶爾有跟他聊人生聊未來,一次契機,他勸我何不自學程式設計,來做程式設計師?後來考慮了很久,自己也綜合對比了各行各業的發展,最後決定學習程式設計,選擇了Android方向。
下文,我會對我的自學方法、自學資料以及我的面試經歷進行一個分享,若有需要自學資料的朋友,碼雲免費獲取。
拼多多服務端開發三面還原(一二面+HR面)
拼多多一面(大約1h左右):
1、自我介紹
2、專案
3、原碼、反碼,計算機為什麼用補碼儲存資料?
4、TCP和UDP的區別,TCP為什麼能保證可靠傳輸,滑動視窗?
5、HashMap為什麼快,擴容機制?
6、Synchronized和Lock的區別?
7、軟引用和弱引用的區別?(這裡我扯上了回收,所以有下面的問題)
8、新生代和老年代的回收演算法?(扯到了複製,所以有下文)
9、複製演算法複製到另外一塊空間,那另外一塊空間要多大?
10、演算法題:A={4,7,3,2,1},B={3,2,1,5,6},找出最長子陣列(連續的)
11、刷lc有什麼感悟?(簡歷寫了lc300+題)
12、最大的缺點?
13、反問
拼多多二面(大約50分鐘左右):
1、自我介紹;
2、static關鍵字;
3、怎麼判斷大小端;
4、怎麼在main函式之前和之後執行程式碼;
5、程式的記憶體佈局;
6、程式從產生到執行的全過程;
7、智慧指標;
8、在瀏覽器輸入網址到得到結果的全過程;
9、DNS協議;
10、https的實現;
11、手撕域名反轉;
12、看你寫的之前送外賣?為什麼畢業之後沒有從事自己本專業內的工作?(我回答的想多賺錢)
13、你的Android是自學的?怎麼堅持下來的?期間遇到什麼困難嗎?
14、手頭上有哪些 offer ?
拼多多三面(HR面大約30分鐘):
- 對拼多多有什麼瞭解?給拼多多做一個畫像?
- 家是哪兒人?對於未來的就業城市有什麼想法?
- 有女朋友嗎?
- 目前面了哪些公司?對於目前投的公司有什麼偏好嗎?
- 有想象過在拼多多工作的一天嗎?對薪資有什麼要求?
- 從哪些渠道瞭解網際網路相關的訊息?
- 如果拼多多把你掛了,你覺得會是什麼原因?我和你聊了二十分鐘,你覺得你的哪些非技術性的綜合素質可能不如其他候選者?
- 薪資
- 你有什麼想問的嗎?
這三年來,我是如何自學的?
(1)觀看零基礎學習視訊
看視訊學習是最快捷也是最有效果的方式,跟著視訊中老師的思路,首先學Android 語法基礎,再到框架,從基礎到深入,還是很容易入門的。至於視訊,網路上實際上有一大堆,我這邊是學長給我的珍藏版,應該是搜尋不到,如果你需要,當然我也可以免費分享給你。
(2)閱讀前輩的一些書籍和筆記
當我學到一定基礎,有自己的理解能力的時候,會去閱讀一些前輩整理的書籍或者手寫的筆記資料,這些筆記詳細記載了他們對一些技術點的理解,這些理解是比較獨到,可以學到不一樣的思路。
(3)動手實操做一些小專案
光學理論是沒用的,要學會跟著一起敲,要動手實操,才能將自己的所學運用到實際當中去,所以當我把框架學完之後,就自己去動手去做了個小的商城專案。關於這個商城專案的教程,你有需要我也可以分享出來。
(4)加一些社群,找一個好師傅
多交一些志同道合的朋友,甚至是去找一個好的師傅帶帶你,這是我給你最真實的建議。加入一些社群,參與到一些技術討論時,能夠極大地提升我自己的學習積極性,另外找一個師傅帶帶自己,學習和實操過程中遇到的很多問題就比較好解決一些,整個效率也就提升得比較快了。
總結
對於轉行做程式設計師,我能成功靠什麼?兩個關鍵詞,決心和毅力!
如果你下定決心,做了選擇,就一定要堅持到最後。
如今我已成功轉行,現在在這個行業只算得上一個新人,但隨著歲月增長,我會慢慢成為一名“老猿”,但我也會依然把自己這顆學習的心保持到老。同樣的,我也希望你在青春迷茫時,能不要放棄,因為每個人,都有柳暗花明的那一刻。
最後,文章中所涉及到的一些學習視訊、學習資料或是專案,都可以免費分享出來,若你需要這些:
點選碼雲免費獲取