讀者,雙非本科、0實習、0比賽/項目經(jīng)歷。3個月上岸百度(上)
前段時間,小賈在星球向我詢問 offer 選擇的問題,我才知道小賈已經(jīng)斬獲兩個還不錯的 offer。

小賈和我一樣都是雙非本科,學歷上面我們和大部分求職者一樣沒有任何學歷優(yōu)勢。不過,還好咱這行對于學歷卡的不是很嚴格。
他的校招經(jīng)歷挺波折的,非常有參考價值。于是,我就找到小賈讓他寫一篇文章分享一下自己秋招的一些準備面試的經(jīng)歷以及經(jīng)驗。
小賈寫的太用心了,整篇文章大概有 1w+字。我將分為兩次來發(fā)。覺得內(nèi)容不錯的話,大家記得點贊催更。
希望小賈的分享對小伙伴們有幫助!
01
秋招這一路跌跌撞撞的走來,經(jīng)歷了很多心酸,也成長了很多。
從信心滿滿的開始,到不斷地自我懷疑。從一個一無所知的菜雞,到現(xiàn)在還是一個菜鳥。
我或許沒有很多成功的逆襲經(jīng)驗來分享給大家。但是!我從一個秋招的裸奔男孩到理想上岸,收獲的更多是失敗的經(jīng)驗、成長的閱歷和人生的考驗吧!
我對計算機并沒有激情滿滿的熱愛,更多的是隨著投入的時間和學習而產(chǎn)生的興趣吧!
我是一個普通的不能再普通的大學生:雙非本科,沒有任何實習經(jīng)歷、比賽經(jīng)歷。
作為一個計算機學子,我大一大二幾乎不知道自己將來會選擇編程開發(fā)……

聽過很多秋招大佬的傳奇逆襲經(jīng)歷,向往他們將熱愛都投身到刷力扣的成就感中,羨慕他們在秋招時斬獲大把 Offer。
社會遵循著 2-8 原則,我或許應(yīng)該被歸到 8 這一類當中。我有時在不斷問自己,你真的適合開發(fā)這一行嗎?你會在這條路上走多遠呀?評估自己的實力與大佬們的差距,可能就是我學習的動力吧!
作為一個被秋招毒打的打工人,我想和大家分享我的經(jīng)歷!
02
帶著高考的些許遺憾,我來到了我的母校,西安某不知名雙非一本,專業(yè)為數(shù)字媒體技術(shù)。
這個專業(yè)雖然歸類在計算機學院下,但是我們的課程方向是游戲動畫,影視建模方向。
導致每次面試官問我專業(yè),我都要解釋一遍,我是計算機專業(yè)的,計算機的公共基礎(chǔ)課(數(shù)據(jù)結(jié)構(gòu)、計算機網(wǎng)絡(luò)等)我們都會學。
我們的就業(yè)方向貌似更加偏向新媒體方向,雖然編程知識也會學,甚至還學了那本西瓜書的《機器學習》。
大學前兩年,自己就是一種渾渾噩噩的狀態(tài)。我沒有很明確的目標和方向,每天都是在宿舍-食堂-教室,上好該上的課。
曾經(jīng)想拿個綜測的專業(yè)第一,但是好像光靠成績還是不夠的,后來標準降到了考試盡力考個高分就行。
對于學習數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)等等計算機專業(yè)課程,我有一個深深的感觸:考試分數(shù)高不代表你真的“學會了” 。
這些基礎(chǔ)課程,我基本都是上課認真聽聽,考前復習半個月,拿個不錯的分數(shù)過了,感覺任務(wù)就完成了。
現(xiàn)在熬夜補這些知識的時候,眼里都是悔恨的淚水呀 ?。
大三,才意識到自己馬上要畢業(yè)了,考慮了一個月,放棄考研的打算。我想了很久很久,感覺還是做一個打工人吧!
C/C++中的指針讓我頭暈眼花,于是我選擇了 Java。
2019 年 10 月,開始了自己在大學里,真正有目標,有動力的去學習!
在一個失眠焦慮的夜晚,我寫下這段話來激勵自己:

今年在綜測時,拿到了專業(yè)第一,可以申請保研(我校保研一般只能保本校)。也動搖過,秋招真的太難了,要不就放棄吧。但是想到自己大三時立下的雄心壯志,既然選擇了這條路,就一抹黑的走下去吧,秋招不上岸,春招還能搏一把;這條路實在走不通,那我就考研!
然后,我就開始在 B 站、慕課網(wǎng)、油管、MOOC 上找 Java 的視頻學習。
從 JavaSE、JavaWeb、框架的學習。2020 年 2 月份,似乎感覺,把這些內(nèi)容都過了一遍。
期間一邊看網(wǎng)課、博客文章、Guide 哥的專欄總結(jié),一邊寫博客加深理解。寒假租了房,每天按部就班的輸入,過年前幾天才回家。過年那天晚上,都是一邊看春晚,一邊在復習。

03
到 3 月份,認識的幾個同學開始投滴滴、百度的實習,我才開始寫簡歷,到牛客看面經(jīng),也準備投實習。但是,看到面經(jīng)的各種提問,我感覺自己像沒學一樣,全都是知識盲區(qū)。
了解的東西不夠深入,到不了面試那種深層次提問,還有數(shù)據(jù)結(jié)構(gòu)、網(wǎng)絡(luò)、操作系統(tǒng)這些都沒怎么復習。自己學過的這些課,腦海里僅僅殘留著一點點印象。
更關(guān)鍵的是,我簡歷寫完了技能列表,項目實在沒得可寫。面對空白乏力的簡歷,我感覺自己還有好多好多知識要補,完全就是在精衛(wèi)填海。
本來打算過完年早早去出租屋里學習,年前就定了正月初六的車票打算趕過去。但是,突如其來的疫情,只能讓我待在家里,打亂了我安排好的學習計劃。
每天,面對面經(jīng)上滿滿的知識盲區(qū),自己在家里的效率又比較低,開學又遙遙無期,學習計劃一拖再拖。
同時,我的兩位伙伴在 5 月都去到了北京實習,我還在家里天天感覺無所事事。
找實習已經(jīng)是不可能了,只能直接秋招了。然而,項目經(jīng)歷還是空白,做過的課設(shè)項目含金量低,單純的管理系統(tǒng)實在不想往簡歷上去寫。

對比朋友每天大廠的實習日常,再看看自己的狼狽不堪。每天,整個人都有著巨大的心里壓力和焦慮。學校在線的網(wǎng)課都是在后臺靜音放著,天天跑到教育廳下詢問開學時間,“又是不開學的一天!哎,到底什么以后才能去學校呀!”。
那段時間,真的過得非常壓抑,每天都是忐忑不安、內(nèi)心焦躁。自己仿佛在一條漆黑的路上跌跌撞撞的走著,這條路沒有光亮,沒有盡頭。
后來,心態(tài)漸漸放平,全國都在眾志成城的抗擊疫情,大家都在努力著。換個角度想想,自己最大的財富,不就是擁有健康嗎?
為了趕上既定的任務(wù)安排,我只能每天早早起來學習,雖然中途可能被一些其他事情打斷,但是用時間來彌補效率,一直復習到深夜。有時莫名感覺,自己 20 多年來,第一次真正的這么努力。
2020 年 6 月,我不顧我媽的勸阻,來到了西安,和好基友小賢租了間房。他也沒有找到實習,我們都是共赴秋招的裸奔男孩,兩個人開始做秋招的最后沖刺!
04
來到西安后,我便開始集中精力復習基礎(chǔ)知識:
把多線程、集合類相關(guān)的知識重頭復習了一遍,專門針對這一塊的面試提問看了很多文章; 在 B 站刷了兩遍宋紅康老師講的 《JVM 從入門到精通》,真的良心推薦 ?,零零散散看了下 《深入理解 Java 虛擬機》 這本圣經(jīng); 復習了一遍計算機網(wǎng)絡(luò),主要是針對 TCP-IP 體系結(jié)構(gòu)、HTTP 協(xié)議,看著面經(jīng)來復習知識點 數(shù)據(jù)庫只做了簡單復習,基本的 SQL 能寫出來,牛客做了些題
眼看秋招提前批已到來,而且沒有筆試,對我來說是個莫大的機會。但是,由于自己項目還沒整理,沒有可寫的內(nèi)容到簡歷上。所以只能任之溜走了。
這是對 Guide 哥之前的一次提問,讓我很清楚自己接下來的兩個月該做什么!

05
7 月份的時候,自己的項目經(jīng)歷還是空白,導致簡歷一直沒法完善。
于是我開始著手開始準備項目。順帶著晚上刷題。
學校稍微有代表性的一點就是老師指導我們組做了個國家級的大創(chuàng)項目,但是我負責前端相關(guān)的內(nèi)容。課設(shè)都是很基礎(chǔ)的類似新聞管理系統(tǒng)、學生管理系統(tǒng),還有 Unity 做的兩個游戲 Demo,實在沒法往簡歷上寫。自己學習的方向是后端,只能找有代表性的項目來做!
Github Star 了些 Java 相關(guān)的項目,但當我拉下代碼導入,發(fā)現(xiàn)自己搞不懂有些地方為什么要這樣寫,項目的架構(gòu)是怎么設(shè)計的?關(guān)鍵的技術(shù)點在哪里?可能出現(xiàn)什么問題?如何去改善?
因為這些問題搞不懂,吃不透,雖然簡歷上寫的是你的項目,但面試官一問就被問住了,所以終究還是不屬于你。
由于自己底子薄,框架探究沒那么深入,自己雖然學了 SSM、SpringBoot 這些框架,但是也只是能簡單上手使用下。當下也沒時間來深入探究底層原理學習,只能停留在簡單了解和使用上。開源項目我可能沒法吃透,我需要找個視頻教程跟著做,然后基于自己理解再做拓展。
我把 B 站所有有關(guān) Java 的項目都找了一遍,搜索不同的關(guān)鍵字足足過了三遍進行篩選統(tǒng)計。我發(fā)現(xiàn)項目大體可以分為兩大類:
【原理性】:就是造輪子,對已有框架或者協(xié)議自己來做個實現(xiàn);如 Guide 哥的 RPC 框架和 HTTP 的輕量級框架,其他的如實現(xiàn) Tomcat 功能、性能基準測試框架、實現(xiàn)網(wǎng)絡(luò)協(xié)議等 【功能性】:項目實現(xiàn)具體的業(yè)務(wù)功能;如各種權(quán)限管理系統(tǒng)、博客系統(tǒng)、商城、管理系統(tǒng)等。形式有前后端分離的,有基于微信小程序的后臺的、還有客戶端的
篩選了大概一周,我找到了適合自己的項目。一個是基于自己之前練手的 Demo,跟著視頻學習自己做了拓展,一個是前后端分離的項目。
項目沒必要功能業(yè)務(wù)多么復雜,涉及的技術(shù)棧有多廣,但是一定能夠自己吃透,原理性、結(jié)構(gòu)性的層面自己搞懂,還有一定要有亮點!
因為面試官想聽的不是你做了什么,而是怎么去做的。就我而言,更多的是考察你發(fā)現(xiàn)問題、分析問題、解決問題的能力。即便項目本身簡單,但是一些特殊情況要考慮到,為什么這么設(shè)計?出現(xiàn)問題了怎么改進?如何去完善?其他技術(shù)方式怎么實現(xiàn)?
在百度三面主管面時,全程都在問項目,大概問了 50min 之久。雖然我覺得準備時自己考慮的很周到了,但是畢竟沒參加工作,很多問題根本不知道:

因為基于 WebSocket 協(xié)議做的聊天室,本身是應(yīng)用層的協(xié)議,直接就用 TCP 來保證消息可靠傳輸,如果訪問量大,為了高效可以改用 UDP。這個項目準備的重心沒有放在網(wǎng)絡(luò)層面,而是考慮到多線程下并發(fā)聊天,會存在線程安全的問題,準備了很多多線程相關(guān)的針對項目的改善、應(yīng)對策略,消息存儲發(fā)送。
但是面試官全程都在針對網(wǎng)絡(luò)層面做拓展,我只能根據(jù)已有的知識和對自己項目的拓展了解做回答。面試結(jié)束,我感覺自己被按在地上摩擦,又限了入了深深的自我懷疑中~
06
到了 8 月份的時候,我才開始完善簡歷以及刷題。
我的簡歷大概前前后后改了十二版,最初是改簡歷的布局,內(nèi)容塊;后面就是字字斟酌,細微調(diào)整。
經(jīng)常刪刪改改,一句話可能要思考好久;我把我掌握的知識點都很詳細的列出來,雖然技能列表看起來很基礎(chǔ),但是我有自信對自己寫的內(nèi)容負責

小伙伴們一定要重視簡歷!多花點精力在完善簡歷上!
我的刷題大概從 6 月就已經(jīng)開始,斷斷續(xù)續(xù)在 LeetCode 上刷一些題。在 8 月的時候,我開始每天集中抽出很多時間來刷題。
沒錯,大佬們天天堅持刷個一年半載,我 7、8 月才開始每天集中刷題。
我大三就意識到了刷題得重要性,因為做題能力差,報了藍橋杯比賽沒去。
既然意識到重要性,為什么不早點去每天堅持刷題呢?
我嘗試過,最終放棄了。這么做可能更多是臨時抱佛腳的心態(tài),對剛做完的題有個印象。
對我來說,復習路上最大的阻礙就是刷題了,因為自己的代碼能力實在太差了。
三月份,我大概做了半個月題。《劍指 Offer》上的常規(guī)題,我基本上就是半天一道題,因為自己做這些題實在是想不來,想半個小時嘗試去解決,但大多時候都是“差一點”,或者思路正確但又不能用代碼實現(xiàn)出來。然后看題解,看別人不同的解法,自己再獨立寫一遍。
因為時間緊任務(wù)重,半天能夠讓我復習好多知識點了,所以想等復習完提綱之后再來刷題。而且,關(guān)鍵是做的題目,當時感覺自己懂了、會了,但是過一段時間又忘了,只能隱約留下個解題思路,還是不能夠獨立 AC。
七月份,只能是逼著自己來。因為大廠太看重代碼能力了,即便是我理論知識掌握的再好,筆試都過不了,根本沒得機會去面試。
然后,就開始分類刷題。參考 labuladong 哥的刷題套路,weiwei 哥的刷題分類,小齊姐的刷題經(jīng)驗,劍指 OfferKrahets路飛哥的精彩題解,每天花 8 個小時左右刷題,復習數(shù)據(jù)結(jié)構(gòu)。
一道單鏈表反轉(zhuǎn)的題,我整整想了一天半才搞懂。該題下的所有題解全部看了一遍,包括公眾號的一些文章。遞歸的解法,短短幾句話,我始終無法理解。
小賢從 4 月份一直開始刷題,在這期間一直和小賢在一起復習。他是 C++方向,算法和代碼能力很強,刷題方面我都是請教他的。
單鏈表遞歸解法,他畫圖整整給我解釋了一個晚上,從斐波那契的遞歸,到鏈表的實現(xiàn)。第二天,我終于搞懂了,在力扣發(fā)布了自己寫的最認真的一次題解。單鏈表反轉(zhuǎn),自己寫了不下 20 遍了吧;這次,可能真的是永遠記住了吧。
8 月份,小賢由于有事回家了。房間只剩我一個人,我和老板續(xù)了房租,繼續(xù)備戰(zhàn)秋招。
期間,刷題有任何問題,我都會立即給小賢打電話過去交流。

【刷題的誤區(qū)】
開始,我覺得自己不是在刷題,而是不斷地重復寫,好像在“背代碼”。因為有些題說思路,我能夠很清晰的表達出來,做的多了發(fā)現(xiàn)解題的套路還是比較固定的(雖然也沒做多少 ?),但是到實際的動手寫,又寫不出來了。
針對這個問題,我也很痛苦。一方面覺得“背代碼”很可恥,自己真的就這么差嗎,做個簡單題都寫不出來嗎?但是,我真的是沒辦法,只能用做的少,練得少來安慰自己。
就這樣,每天逼著自己,刷了大概 170 題左右,每天將基礎(chǔ)的八大排序?qū)懸槐?/p>
其實,前期的刷題,自己沒見過沒思路很正常,參考別人的題解,把這種解法引用到類似的題目上。就像寫作文一樣,針對不同問題有不同的模板,根據(jù)具體問題調(diào)整邊界即可。我自己總結(jié)來說,就是兩大因素:
針對不同問題求解的代碼模板,要恰當靈活的應(yīng)用(如雙指針、滑窗、列表 DP 等) 代碼熟練度。模板是基于代碼的熟練度而存在的,就像寫排序算法一樣能夠很快的寫出來
但是,這個量還有我的認知,對秋招來說是遠遠不夠的。這是一項長期的積累和訓練,誰也不可能偷懶,達到立竿見影的效果。因此,在后來的秋招筆試中,我重重的摔了跟頭 ?,這是可預見的。
聽學姐說她們?nèi)ツ晔腔ヂ?lián)網(wǎng)的寒冬,找工作難。今年,因為疫情的原因,仿佛一切都變得更難,競爭更加激烈。
八月,2020 年的秋招已正式開始,但是我還在刷題復習中,準備即將到來的“金九銀十”。這份簡歷,整整遲投出一個月……
我是Guide哥,Java后端開發(fā),會一點前端知識,喜歡烹飪,自由的少年。一個三觀比主角還正的技術(shù)人。我們下期再見!