前言
先來自我介紹:
老家農村,家里好不容易把我送到大城市讀書,大學非985,211,但在我們老家,能出一個本科大學生也是非常不容易的,因為農村資訊的相對閉塞,我對大學專業一無所知,加上分數并非前茅,最后被調劑一個我并不喜歡的專業,這里就不透露自己是什么學校了,只能說畢業之后為了能多賺點,選擇了送外賣,這一送就送了將近3年的時間,
為什么學編程?
接觸到編程是一次很偶然的機會,有一次送外賣,對方是自己的學長,他是計算機專業的,畢業后就進了一線互聯網公司,那之后就偶爾有跟他聊人生聊未來,一次貧訓,他勸我何不自學編程,來做程式員?后來考慮了很久,自己也綜合對比了各行各業的發展,最后決定學習編程,選擇了Java方向,
下文,我會對我的自學方法、自學資料以及我的面試經歷進行一個分享,若有需要自學資料的朋友,可以私信我“自學”獲取免費資料包進行下載,

拼多多服務端開發三面還原(一二面+HR面)
拼多多一面(大約1h左右):
- 講一講 final / finally的區別
- try-catch-finally在不同情況下的執行順序?
- finally里return和外部的return誰覆寫誰?
- wait / notify / notifyAll說一說?
- notify喚醒執行緒之后可以立刻執行嗎?
- sleep / wait的區別?
- Java 的執行緒有哪些狀態?
- Java 堆的分布?
- 為什么要分出兩塊 survivor?
- Mark-Copy 的流程?
- 什么情況下會觸發 Full GC?
- Full GC 和 Minor GC 的耗時比例?
- 老年代和新生代的空間大小比例?
- HTTP 狀態碼列舉一些?
- connect 失敗會報什么例外?
- IO 分類?NIO 是阻塞的還是非阻塞的?
- 聚集索引、聯合索引、覆寫索引解釋一下?
- 口頭設計一個表和索引,然后說一說哪種查詢會走聯合索引,哪種會走覆寫索引?
- 聊專案,以及專案的困難點?
- 手撕演算法環節:有序陣列 / 鏈表轉平衡二叉樹
拼多多二面(大約50分鐘左右):
- 自我介紹
- 聊聊專案
- TCP 的流量控制和擁塞控制說一說 查問:接收視窗的空間是怎么分配的?是不是多個 TCP 連接共用一塊記憶體還是各自有獨立的?
- TCP 和 UDP 的區別
- 網路的五層模型,每一層有什么協議?
- PING 命令用的是什么協議(是 ICMP,我沒答上來)
- OS 的記憶體管理、行程管理說一說
- 物理記憶體空間、虛擬記憶體空間?
- 虛擬記憶體的作用?
- 記憶體的連續空間不夠分配的時候怎么處理?全域記憶體的空閑空間不夠分配的時候怎么辦?
- 快排和歸并的復雜度,快排的退化
- 平衡二叉樹各種操作的時間復雜度
- AVL 樹和紅黑樹的區別?
- 紅黑樹的應用?JavaTreeMapAPI 為什么不用 AVL 樹?
- B 樹和 B+ 樹的應用?有什么區別?為什么 MySQL 用 B+樹?
- Redis 和 memcache 的區別?Redis 何以高性能?(這里我暴露了自己的菜雞水準,面試官耐心地指正了我對于他倆的錯誤認知)
- 異步非阻塞 IO 了解嗎?(扯了點事件分發器的 Proactor 模型,面試官認可了)
- 手撕演算法:二分查找變形題,浮點數的等引數列,一開始公差是1.0,在某一個位置公差變為0.1,找到該位置
- 看你寫的之前送外賣?為什么畢業之后沒有從事自己本專業內的作業?(我回答的想多賺錢)
- 你的Java是自學的?怎么堅持下來的?期間遇到什么困難嗎?
- 手頭上有哪些 offer ?
拼多多三面(HR面大約30分鐘):
- 對拼多多有什么了解?給拼多多做一個畫像?
- 家是哪兒人?對于未來的就業城市有什么想法?
- 有女朋友嗎?
- 目前面了哪些公司?對于目前投的公司有什么偏好嗎?
- 有想象過在拼多多作業的一天嗎?對薪資有什么要求?
- 從哪些渠道了解互聯網相關的訊息?
- 如果拼多多把你掛了,你覺得會是什么原因?我和你聊了二十分鐘,你覺得你的哪些非技術性的綜合素質可能不如其他候選者?
- 薪資
- 你有什么想問的嗎?
拼多多三面面試題答案:

這三年來,我是如何自學的?
(1)觀看零基礎學習視頻
看視頻學習是最快捷也是最有效果的方式,跟著視頻中老師的思路,首先學習Java語法基礎,再到框架,從基礎到深入,還是很容易入門的,至于視頻,網路上實際上有一大堆,我這邊是學長給我的珍藏版,應該是搜索不到,如果你需要,當然我也可以免費分享給你,

Java零基礎視頻(五十五個階段)
(2)閱讀前輩的一些書籍和筆記
當我學到一定基礎,有自己的理解能力的時候,會去閱讀一些前輩整理的書籍或者手寫的筆記資料,這些筆記詳細記載了他們對一些技術點的理解,這些理解是比較獨到,可以學到不一樣的思路,

書籍和筆記

SpringBoot核心技術筆記
(3)動手實操做一些小專案
光學理論是沒用的,要學會跟著一起敲,要動手實操,才能將自己的所學運用到實際當中去,所以當我把框架學完之后,就自己去動手去做了個小的商城專案,關于這個商城專案的教程,你有需要我也可以分享出來,


(4)加一些社群,找一個好師傅
如果真考慮要轉行學習Java,那就多交一些志同道合的朋友,甚至是去找一個好的師傅帶帶你,這是我給你最真實的建議,加入一些社群,參與到一些技術討論時,能夠極大地提升我自己的學習積極性,另外找一個師傅帶帶自己,學習和實操程序中遇到的很多問題就比較好解決一些,整個效率也就提升得比較快了,

總結
對于轉行做程式員,我能成功靠什么?兩個關鍵詞,決心和毅力!
如果你下定決心,做了選擇,就一定要堅持到最后,
如今我已成功轉行,現在在這個行業只算得上一個新人,但隨著歲月增長,我會慢慢成為一名“老猿”,但我也會依然把自己這顆學習的心保持到老,同樣的,我也希望你在青春迷茫時,能不要放棄,因為每個人,都有柳暗花明的那一刻,
最后,文章中所涉及到的一些學習視頻、學習資料或是專案,都可以免費分享出來,若你需要這些:
——轉發+評論文章,關注我,然后在后臺私信關鍵字“自學”即可獲取免費下載方式,
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/20199.html
標籤:其他
下一篇:二進制中1的個數
