雙非渣碩的秋招之路總結(jié)(已拿抖音研發(fā)崗SP)
前言
? ? ? 最近應(yīng)邀在牛客網(wǎng)寫 C++ 求職專欄,又把以前的秋招總結(jié)補(bǔ)充了很多東西,現(xiàn)在想想還是發(fā)出來,希望能夠幫助更多的新手小伙伴們。
個人情況簡介
樓主本碩均讀于雙非院校(普通二本學(xué)校)、本碩都是計算機(jī)相關(guān)專業(yè),英語六級水平,本科時期輔修了一個水的不能再水的英語第二學(xué)位。
本科時期學(xué)過很多語言:VB、C、C++、Java、C# 都有所涉獵,研究生時期則主攻 Python 和 C++。研二上學(xué)期開始系統(tǒng)學(xué)習(xí) C++,并且不斷系統(tǒng)看書和實踐,中間崩潰過、迷茫過、放縱過,但從未放棄,始終相信自己,堅持咬牙走下去。所幸天道酬勤,最終也是拿到了一些不錯的 offer 。
投遞經(jīng)歷
筆者從 2020.6.15 號正式開始投遞簡歷,到 2020.8.23 號截止一共投遞過 94家公司,其中既有提前批(2020年 6 月- 7 月),也包括正式批(2020 年 7 月- 10月)。
小建議:如果說求職者對自身實力不自信,可以多投投一些公司,選擇面放寬一些,不要死盯著那幾個大廠投。
共計筆試 59 場(最多一天做了 5 場筆試,那天天差點去世),54 家公司給了面試機(jī)會,54 家企業(yè)中有些企業(yè)是免筆試的。
秋招結(jié)果
? ? ? ?最終成功走到了 6 家公司的 offer 環(huán)節(jié):字節(jié)跳動研發(fā)崗 SP、華為通用軟件開發(fā)、百度 C++ 研發(fā)崗、B 站后端研發(fā)崗、深信服 C++ 研發(fā)崗以及農(nóng)業(yè)銀行研發(fā)崗,最后簽了字節(jié)跳動,也是自己心心念念的大廠之一,十分滿意了~
????????接下來從 6 個方面對秋招進(jìn)行復(fù)盤和總結(jié),希望能夠幫到大家鴨,特別是大三大四的小學(xué)弟們。
1、算法
????????在秋招過程中,算法是極其重要的,再次重申一遍,真的很重要!筆試就不提了,算法不過關(guān),筆試基本涼涼,面試過程中基本都要手撕代碼,很多面試中算法題是具有一票否決權(quán)的,如果你能夠順利解出來,面試不敢說一定會過,至少是有很大加分項,但如果算法題做不出來或者說 bug 太多調(diào)試不通的話,面試上基本上就跪了(個人以及身邊朋友經(jīng)歷,不一定準(zhǔn)確)。在??途W(wǎng)上也看到過很多基礎(chǔ)很好的牛友就是因為面試過程中的算法題沒解出來而直接飲恨的,希望大家千萬重視算法這一塊,千萬千萬要重視算法。
????????我大概在力扣上刷了 300+,HOT100 都刷了,劍指 offer 刷了 3 遍,刷完這些基本夠用了,自己也有注意總結(jié)題型,常見題型就是那些,所以算法題基本沒怎么拉過我后腿。一般來說,主要考的就是動態(tài)規(guī)劃、貪心、二叉樹、鏈表、數(shù)組、字符串之類的。
推薦資料:
力扣1-300題(前300道題非常經(jīng)典,建議學(xué)有余力的同學(xué)都刷一刷)
力扣HOT100(跟上面有不少是重復(fù)的,刷的時候要注意總結(jié))
啊哈!算法、大話數(shù)據(jù)結(jié)構(gòu)(這兩本書都是面向新手的圖書,圖畫很多,有基礎(chǔ)的可以直接跳過不看)
劍指offer(這本書不需要多做介紹,校招必備)
挑戰(zhàn)程序設(shè)計競賽(這本書屬于進(jìn)階一點的算法書籍了,作者是ACM-ICPC全球總冠軍,可以說是世界頂級程序設(shè)計高手的經(jīng)驗總結(jié)了,需要慢慢消化,經(jīng)典題型太多)
程序員代碼面試指南(左程云大神的書,阿秀并沒有看完,只是看了其中的海量數(shù)據(jù)處理部分的題目就已經(jīng)十分受用了,在百度三面中就考查到了其中的海量數(shù)據(jù)集處理的問題)
2、操作系統(tǒng)
????????操作系統(tǒng)是比較重要的,面試三大要點之一(操作系統(tǒng)、計網(wǎng)、數(shù)據(jù)庫),我是在 B 站上看過一些操作系統(tǒng)視頻,同時自己慢慢看書、看博客學(xué)的。其中死鎖、虛擬內(nèi)存、堆棧、進(jìn)程線程、內(nèi)存管理、磁盤調(diào)度等都是重點,也是面試過程中問的比較多的一些知識點。你如果能夠在面試過程中講出來一些具體的操作系統(tǒng)知識,而不是泛泛而談,肯定是很加分的,比如常見知識點進(jìn)程線程區(qū)別,在提到線程切換比進(jìn)程更快時,你如果能夠很清楚明白的說出來進(jìn)程切換做了哪些、線程切換做了哪些以及線程為什么比進(jìn)程快,毫無疑問很加分的。?
推薦資料:
B站哈工大操作系統(tǒng):https://www.bilibili.com/video/BV1d4411v7u7
B站清華大學(xué)操作系統(tǒng):https://www.bilibili.com/video/BV1js411b7vg
B站美國麻省理工MIT 6.828操作系統(tǒng)神級課程:https://www.bilibili.com/video/BV1px411E7ST
現(xiàn)代操作系統(tǒng)(也是講操作系統(tǒng)的一本好書,講的很細(xì))
深入理解計算機(jī)系統(tǒng)(大名鼎鼎的CSAPP,被譽(yù)為“和金子一樣重要的計算機(jī)基礎(chǔ)書籍” , 很厚的一本黑皮書,需要慢慢看)
現(xiàn)代操作系統(tǒng):原理與實現(xiàn)(上海交通大學(xué)陳海波教授的著作,書中主要介紹操作系統(tǒng)的理論與具體實現(xiàn)細(xì)節(jié)等,感覺不如CSAPP)
3、計算機(jī)網(wǎng)絡(luò)
????????計算機(jī)網(wǎng)絡(luò)也是重點之一,特別是 HTTP 以及 TCP/UDP 相關(guān)知識點,算是校招必備考點了,面試必問,但是難度是逐年上升的,原因可能就在于內(nèi)卷程度越來越嚴(yán)重了吧。比如說以前對于三次握手四次揮手只問過程,現(xiàn)在直接讓面試者畫出客戶端以及服務(wù)器端的各個狀態(tài)碼以及解釋各種意外情況,比如 SYN 請求丟失會怎么樣?
????????建議計網(wǎng)的學(xué)習(xí)先從視頻入手,然后再看經(jīng)典書籍,畢竟視頻中的知識都是別人總結(jié)好又給你講解的,只有自己親自揣摩、親自動手實踐得來的知識才是自己的,自己學(xué)來的才是真,經(jīng)過實踐方知分曉的~
推薦資料:
B站韓立剛老師的計算機(jī)網(wǎng)絡(luò)(韓老師講課詼諧易懂,讓你在哈哈大笑中學(xué)到很多知識點:https://www.bilibili.com/video/BV17p411f7ZZ)
圖解HTTP、圖解TCP/IP(這兩本書比較簡單,日本人寫的,把復(fù)雜的知識點簡單化)
網(wǎng)絡(luò)是怎樣連接的(這本書緊緊圍繞一個問題:輸入一個URL,直到我們在網(wǎng)頁端看到請求的內(nèi)容,這中間發(fā)生了什么?抽絲剝繭將這個問題逐步細(xì)化,帶你走完整個網(wǎng)頁訪問的過程)
計算機(jī)網(wǎng)絡(luò):自頂向下方法 (也是常見經(jīng)典書籍之一,重點看第三章傳輸層TCP/UDP)
4、Linux
? ? ? ?C++ 跟 Linux 基本是離不開的,特別是后端方向跟網(wǎng)絡(luò)通信關(guān)系很大。在實際工作里,很多成熟的項目都是在 Linux 上進(jìn)行開發(fā)的。所以有必要學(xué)一些 Linux 以及一些網(wǎng)絡(luò)通信編程,網(wǎng)絡(luò)通信涉及到的知識點很多,比如 IO 模型、線程池、多線程之類的。本人在秋招過程中被問過不少網(wǎng)絡(luò)通信的問題,最頻繁的就是 select、poll、epoll 的區(qū)別以及相關(guān)底層實現(xiàn)了。這里也推薦一些資料,都是我個人看過的。
推薦資料:
鳥哥的Linux以及Linux就該這么學(xué)這兩本書(個人感覺更適合作為一本工具書來使用,當(dāng)然了,如果你有充足的時間也可以系統(tǒng)的看上一遍,對于Linux也會有更深的認(rèn)識和了解了)
TCP/IP網(wǎng)絡(luò)編程(韓國人寫的,書中例子很多,適合作為入門,另外github上有很多筆記,可以邊看別人的筆記邊看書,加深個人理解)
Linux高性能服務(wù)器編程(游雙老師的書,其中前四五章講的是計網(wǎng)的東西,后面講的很好,涉及內(nèi)容很多,看完就大概明白服務(wù)端編程常見知識點和所需要掌握的技能了)
Linux多線程服務(wù)端編程:使用muduo C++網(wǎng)絡(luò)庫 ?(北師大陳碩大神的書,需要很多基本,建議后期再看,我也只是看了一小半)
5、數(shù)據(jù)庫
????????數(shù)據(jù)庫主要問的都是 MySQL 以及 Redis 相關(guān)的一些知識,普通研發(fā)崗掌握這兩個基本也夠用了,數(shù)據(jù)庫常問知識點包括索引相關(guān)、性能優(yōu)化、B+ 樹、Redis 底層模型、跳表以及緩存擊穿、雪崩、穿透等常見問題。有時候也會讓你手寫一些簡單的 SQL 語句,比如給你一個學(xué)生表和課程表,讓你找出成績排名前十的學(xué)生姓名之類的。
推薦資料:
MySQL必知必會(一本很薄的小冊子,不到一周就看完了,看完基本的SQL語句沒什么問題了)
高性能MySQL(建議只看索引以及優(yōu)化這兩章,后續(xù)的可以慢慢再看,這本書,真的真的很厚。)
Redis設(shè)計與實現(xiàn)(算是Redis入門資料吧,認(rèn)真看完的話就對Redis有大概了解了,話說Redis這么火爆是有原因的,其中的一些精妙設(shè)計真的看完令人大呼過癮,不得不承認(rèn),人與人之間真是有差距的。。。)
極客時間- Redis核心技術(shù)與實戰(zhàn) (中科院的研究員開設(shè)的Redis專欄,個人已經(jīng)買了,非常不錯)
另外再推薦基本數(shù)據(jù)庫底層的書籍:數(shù)據(jù)庫系統(tǒng)實現(xiàn)(華東師范大學(xué)數(shù)據(jù)學(xué)院指定數(shù)據(jù)庫原理書籍)、MySQL技術(shù)內(nèi)幕 -InnoDB存儲引擎(InnoDB的詳細(xì)剖析)
6、C++
??????? C++ 的知識點比較多,也比較細(xì),其實 C++ 并不容易學(xué)好,如果你只是簡單學(xué)習(xí)一下語法比如 for 循環(huán)、變量類型之類的,那么一兩周你就可以上手,但是如果想要學(xué)好 C++ 還是需要持之以恒的 coding,由于個人是 C++ 技術(shù)棧,這里也只是推薦 C++ 相關(guān)書籍和視頻,都是本人自己看過的經(jīng)典書籍和資料。
推薦資料:
B站黑馬C++視頻(黑馬機(jī)構(gòu)出版的入門級C++教學(xué)視頻,很不錯:https://www.bilibili.com/video/BV1Tb411j7uM)
STL源碼剖析視頻(C++大師侯捷老師的源碼視頻,搭配STL源碼剖析看效果更佳:https://www.bilibili.com/video/BV1db411q7B8)
C++ Primer 第五版(我愿稱之為C++圣經(jīng),800頁左右,我看了2遍,超級棒!強(qiáng)推!)
Effective C++、More Effective C++(前者2遍,后者1遍,跟C++Primer中很多內(nèi)容是有重復(fù)的)
STL源碼剖析(源碼方面的好書,看了2遍,現(xiàn)在時不時還拿出來翻翻)
深入探索C++對象模型(重點是虛函數(shù)那一章,看完你就會對虛函數(shù)有新的認(rèn)識了)
碎碎念
????????可能有些人會問,這些書你都看了嗎?這也太多了之類的?自己能不能看完?
????????說實話,看著是挺多,但是其中有很多知識點是一樣的,比如你詳細(xì)了解計網(wǎng)后,游雙老師的那本 Linux 高性能服務(wù)端編程中的前四章你大概略過即可,就不再需要細(xì)看了,知識是有相關(guān)性和相通性的,有了前面的沉淀后期自然就好很多了。
????????還有就是學(xué)會善用目錄。有時候,看過目錄后就大概知道這章或者這小節(jié)講的是什么了,建議在看一本書的時候先看一遍目錄,挑選出自己不懂得或者感興趣的章節(jié)來看,而將已看過的或者暫時不需要的放到后期再去看 ?。
????????慢慢學(xué)、慢慢看,慢慢的就會有收獲了。
????????如果你像我一樣學(xué)校不太好,不是什么重點學(xué)?;蛘卟皇怯嬎銠C(jī)專業(yè)的,那么請你笨鳥先飛,贏在起跑線上。上面的書籍資料之類的,我并不是在 5 個月時間內(nèi)看完的,自從學(xué) C++ 以來就慢慢看、慢慢學(xué)的,我想其他語言,Java/Go 之類的也應(yīng)該如此,本號后續(xù)也會分享 Java/Go/前端 的一些小知識,因為崗位要求是全棧,所以日后也會點亮個人前端技能點。
????????正所謂,天道酬勤,你付出汗水和努力,剩下的交給時間就好!
最近在看匯編語言,王爽老師的那本《匯編語言》講得真好,以前的那些寄存器、數(shù)據(jù)總線、地址總線概念忽然變得很清晰明了、活靈活現(xiàn)了,我自己也慢慢學(xué)會使用匯編寫一些程序,懂得一些指令級程序優(yōu)化的思路和方法,算是沉迷其中不可自拔吧!哈哈~
????????一入IT就做好終生學(xué)習(xí)的準(zhǔn)備吧,你既然想要拿別人拿不了的高薪,怎么能不付出比別人多的汗水、時間和精力呢?天上掉餡餅是不可能的,如果你還在想著偷懶?;胍桓冻鰰r間和汗水就想拿到好 offer ,說明你并不是很適合計算機(jī)這一行~
結(jié)語
????????如果你沒有別人聰明,不如別人條件好,如果你下定決心學(xué)習(xí)計算機(jī),請你多投入時間、多投入精力、多投入汗水!
小伙伴你好,我是阿秀,一枚從底層慢慢爬到互聯(lián)網(wǎng)大廠的程序員,公眾號上每一篇原創(chuàng)文章都是我精心創(chuàng)作、慢慢打磨出來的,如果你覺得本文對你有所幫助,麻煩點亮一下「贊」和「在看」,也可以「分享」給需要的小伙伴,阿秀真的很需要你的點亮,十分感謝!
本公眾號將會陸續(xù)分享編程學(xué)習(xí)相關(guān)的良心知識,敬請期待。
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!