從外賣員到程序員,自學3年終於轉行成功,三面「拿下」拼多多offer

前言

先來自我介紹:程序員

老家農村,家裏好不容易把我送到大城市讀書,大學非985,211,但在咱們老家,能出一個本科大學生也是很是不容易的。由於農村信息的相對閉塞,我對大學專業一無所知,加上分數並不是前茅,最後被調劑一個我並不喜歡的專業,這裏就不透露本身是什麼學校了,只能說畢業以後爲了能多賺點,選擇了送外賣,這一送就送了將近3年的時間。面試

爲何學編程?算法

接觸到編程是一次很偶然的機會,有一次送外賣,對方是本身的學長,他是計算機專業的,畢業後就進了一線互聯網公司,那以後就偶爾有跟他聊人生聊將來,一次契機,他勸我何不自學編程,來作程序員?後來考慮了好久,本身也綜合對比了各行各業的發展,最後決定學習編程,選擇了Java方向。編程

下文,我會對個人自學方法、自學資料以及個人面試經歷進行一個分享,如有須要自學資料的朋友,文末有獲取免費資料包的途徑數組

從外賣員到程序員,自學3年終於轉行成功,三面「拿下」拼多多

 

拼多多服務端開發三面還原(一二面+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分鐘左右):app

  • 自我介紹
  • 聊聊項目
  • 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分鐘):框架

  • 對拼多多有什麼瞭解?給拼多多作一個畫像?
  • 家是哪兒人?對於將來的就業城市有什麼想法?
  • 有女友嗎?
  • 目前面了哪些公司?對於目前投的公司有什麼偏好嗎?
  • 有想象過在拼多多工做的一天嗎?對薪資有什麼要求?
  • 從哪些渠道瞭解互聯網相關的訊息?
  • 若是拼多多把你掛了,你以爲會是什麼緣由?我和你聊了二十分鐘,你以爲你的哪些非技術性的綜合素質可能不如其餘候選者?
  • 薪資
  • 你有什麼想問的嗎?

拼多多三面面試題答案:異步

從外賣員到程序員,自學3年終於轉行成功,三面「拿下」拼多多

 

這三年來,我是如何自學的?

(1)觀看零基礎學習視頻性能

看視頻學習是最快捷也是最有效果的方式,跟着視頻中老師的思路,首先學習Java語法基礎,再到框架,從基礎到深刻,仍是很容易入門的。至於視頻,網絡上實際上有一大堆,我這邊是學長給個人珍藏版,應該是搜索不到,若是你須要,固然我也能夠免費分享給你。

從外賣員到程序員,自學3年終於轉行成功,三面「拿下」拼多多

Java零基礎視頻(五十五個階段)

(2)閱讀前輩的一些書籍和筆記

當我學到必定基礎,有本身的理解能力的時候,會去閱讀一些前輩整理的書籍或者手寫的筆記資料,這些筆記詳細記載了他們對一些技術點的理解,這些理解是比較獨到,能夠學到不同的思路。

從外賣員到程序員,自學3年終於轉行成功,三面「拿下」拼多多

書籍和筆記

從外賣員到程序員,自學3年終於轉行成功,三面「拿下」拼多多

SpringBoot核心技術筆記

(3)動手實操作一些小項目

光學理論是沒用的,要學會跟着一塊兒敲,要動手實操,才能將本身的所學運用到實際當中去,因此當我把框架學完以後,就本身去動手去作了個小的商城項目。關於這個商城項目的教程,你有須要我也能夠分享出來。

從外賣員到程序員,自學3年終於轉行成功,三面「拿下」拼多多

 

從外賣員到程序員,自學3年終於轉行成功,三面「拿下」拼多多

(4)加一些社羣,找一個好師傅

若是真考慮要轉行學習Java,那就多交一些志同道合的朋友,甚至是去找一個好的師傅帶帶你,這是我給你最真實的建議。加入一些社羣,參與到一些技術討論時,可以極大地提高我本身的學習積極性,另外找一個師傅帶帶本身,學習和實操過程當中遇到的不少問題就比較好解決一些,整個效率也就提高得比較快了。

從外賣員到程序員,自學3年終於轉行成功,三面「拿下」拼多多

 

總結

對於轉行作程序員,我能成功靠什麼?兩個關鍵詞,決心和毅力!

若是你下定決心,作了選擇,就必定要堅持到最後。

現在我已成功轉行,如今在這個行業只算得上一個新人,但隨着歲月增加,我會慢慢成爲一名「老猿」,但我也會依然把本身這顆學習的心保持到老。一樣的,我也但願你在青春迷茫時,能不要放棄,由於每一個人,都有柳暗花明的那一刻。

最後,文章中所涉及到的一些學習視頻、學習資料或是項目,均可以避免費分享出來,若你須要這些:

直接掃碼獲取

 

相關文章
相關標籤/搜索