秋招經驗分享

一、個人基本情況

  1. 學歷:碩士研究生 本碩985

  2. 專業:生科院某專業(本碩)

  3. 求職方向:後臺開發和客戶端開發都有

  4. 實習經歷:無

  5. 校招offer:字節跳動、美團、華爲、虎牙、bigo、貝殼、遠景、小米、高通、ihandy等,其中大部分爲SP offer,崗位主要是後臺開發。

二、個人經歷

在上大學之前,基本上對編程一無所知,但是卻有一種說不清楚的對計算機的熱愛。不過那時對於計算機的理解僅限於【裝系統】,【裝軟件】和【拆洗主機風扇】。這一切的開始源於一場面試。

所在的大學是一所以工科著稱的高校,其中創業氣氛十分濃厚。學校因此有許多小有名氣的科創團隊,基本上是由老師主導,各專業學生組成的小團體。可不要小看這些小團隊,世界級程序設計大賽的獎牌獲得者經常就出於此類團隊。剛上大學的我們單純稚嫩,自然會被被這些團隊的大幅宣傳報和滿目的獎牌稱號所吸引膜拜。我也不例外。

當時我便懷着澎湃的心情申請了一家曾多次在微軟創新杯奪得金獎的團隊。一個從鄉下來的小夥,第一次參加面試,第一次單獨和碼農小姐姐夜晚座談,第一次參加所謂的通宵測試。也就是在那一個晚上,開啓了我新世界的大門。

那天晚上給我一羣編程小白的任務,是模仿百度首頁,實現整個網頁的設計、佈局和基本鏈接。提前給出的提示是w3c的教程網址。從來沒有接觸過編程的我在此之前,連編程的流程都不清楚,更不必說編譯環境、編譯語言甚至是源代碼閱讀(當然這個任務也涉及不到這些)。

但是也就是那一個晚上,讓我真正意義上的接觸了敲代碼這個事兒。沒錯,我的編程起點是HTML。可惜的是,我並沒有通過那個團隊最終的面試。不過從那以後,我就開始了網站開發的自學之路。個人自學的堅持很大程度上基於興趣,源於在室友面前一頓裝逼後的成就感。但這就是一個生科院的學生在課後的最大樂趣所在。

在接觸到網站開發之後,從最初的HTML+CSS到後來的HTML5+CSS3+JS+ASP,從靜態頁面的佈局到***頁的請求。雖然感覺技術的成長也就是從博客的複製粘貼走向了文檔的複製粘貼。但是終於迎來了小試牛刀的機會。學校某大型學校組織需要做一個展示網站,朋友拉上了我和幾個人承擔了這個事情。這算是第一次真正意義上的項目開發,不過整個網站的功能不多,主要還是展示爲主,後臺也直接通過學校網絡平臺整合就行了。所以整體下來做的事情並不多。

一直以來,都是自己通過博客自學,東拼西湊的建立起知識架構。但是其實技術基礎十分不牢固,不懂計算機基礎、計算機網絡,更別說編譯原理、操作系統等基本的知識。因此在很長一段時間內,覺得好像也沒有會什麼,一直對自己的能力保持懷疑。在這段時間內,有過跑去搞嵌入式,硬件開發,甚至是界面設計,視頻製作。但都不一而終。果然應了開學老師說的那句話,【咱們的學生學的都太雜,但又雜而不精。】

一段迷茫,一段頹廢。一不小心就成爲校園裏的學長,於是開始緊緊茫茫的尋找實驗室。好在我們專業與生科院其它專業相比,還是帶有工科氣質的。因此懷着對編程的興趣,加入了一個專門做醫學影像的實驗室。進入實驗室,不再是之前的漫無目的,隨處拾荒,但卻也並不會接觸到前沿新興的技術。畢竟在實驗室裏,工程技術更多的只是工具。不過值得一提的是,在實驗室裏,我接觸到了算法思想。醫學圖像本來就是圖像處理領域的一大分支,因此圖像處理算法的瞭解同樣也是至關重要。

從這個時候開始,我已經不再搞網站開發那一套東西,專心使用C++寫我的算法。那時候深度學習還沒那麼熱門,大多數的圖像處理方式還是基於傳統的算法進行。雖然算法能力薄弱,但是倒也是我所求。同時,爲了獲得數據,還接觸到Linux系統以及一些腳本,在做【研究】的過程中也大大增加自己的技術面。

與此同時,爲了鞏固自己的一些技術基礎,也爲了督促自己的學習,我報考了計算機等級考試和國家軟考。可能對於計算機專業的學生來說,沒有什麼含金量,輕而易舉。但是對於一個非科班的學生而言,這樣的考試可以很大程度上幫助自己去重新組織零碎的知識。畢竟不是所有人都有足夠的精力去跟着計算機系的人上課。

讀研or工作?這一直都是衆多大學生在四年之際最煎熬的問題。但是於我而言,清晰而明瞭的選擇就是讀研。本科階段的經歷讓我知道自己與科班的差距,雖然接觸了許多東西,但是也都不夠精,甚至沒有底氣去獨立承擔一個小的開發任務。選擇讀研是希望讓自己的技術都夠在某一個點上精進,能夠獨立的做出點東西來。當然最終的結果可能並不是自己當初所想,但是說到底還是得感謝在研究生期間所做出的努力。

三、校招經歷

從個人經歷來說,我沒有很出彩的地方,沒有算法和軟件比賽的獎項,也沒有大本大本的啃科班的教材,甚至連個像樣的項目和實習經歷都沒有。很多東西真的都是基於興趣,看得多了,自然就有了感覺。最後通過幾次系統的學習,把之前所有零碎掌握的知識點串聯起來,就成爲了我的技術基礎。

研究生期間雖然敲的代碼多了,但是說實話並沒有很深入。沒有深入的去了解技術原理,也沒有很深入的去研究技術的使用場景和選擇性。更多的還是爲了達成目的而用。所以在秋招開始前,也開始慌了。

現在回想起來,意識真的很重要。看到現在的小學弟大一大二就去大廠實習,大三大四便獲得大廠轉正資格。這裏可能資質很重要,但是相對而已,我更相信是意識主導造成的偏差。

講回我的秋招經歷。真正開始校招準備的時候已經是七月初了,之前基本沒有任何相關的複習和準備。由於實驗室原因,因此也沒有出去實習。剛開始複習的時候也是一團亂麻,不清楚自己的求職方向,也不清楚複習的輕重點。

但是好在現在互聯網的資源多了,無論是牛客網,各大博客網站,以及微信公衆號等平臺上的信息資源,足夠讓一個外行人找到入門的捷徑。以至於我在複習了一個多月後,在八月底拿到了第一個ihandy的口頭offer。之後就一發不可收拾,越面試狀態越好。基本面完自我感覺就是穩了。

在複習開始時,我主要也是通過牛客網上搜索自己所需的信息。在確定好自己的求職方向後,就可以先進行基礎知識的複習。在複習的同時,一定要堅持投簡歷。我當時是一邊複習,一邊投提前批簡歷。複習復不下去的時候,就去找些公司投遞下簡歷。放鬆的同時,也是給自己動力。

生物相關專業的學生,在投遞簡歷的時候才能發現自己的無助。我在簡歷投遞初期,基本沒有任何反饋。提前批階段,許多公司都會去爭奪更優秀的簡歷候選者,對於生物專業的學生真的沒有什麼優勢。不得不說,非科班的簡歷至關重要,我在面試期間的簡歷就改了不下十版。從第一次投遞簡歷到第一次收到筆面試通知都過了一個月,而就在這幾天之後,我就拿到了第一個offer。可見簡歷的重要性。(想看看我簡歷的同學,可看文末獲取方式)

就算一直被拒或者石沉大海,但是沒有關係,既然選擇了這條路,那麼就要堅持下去。投一家無人應答,那麼就投十家,投五十家。我在整個秋招階段,總共投遞過近一百家公司。許多在提前批沒有給予反饋的公司,後期大部分都有電話聯繫重新開啓面試流程。所以,就算認爲自己的簡歷再不夠出色,也要相信總會有瞎了眼的HR,不過也要多吸取教訓,不斷更新你的簡歷。

在獲得面試機會後,之後的面試過程,跟投遞簡歷一樣,一定要多面多總結。如果你的表達能力不好,沒有別的好的辦法,只能多練。自己在面試前問自己問題,然後用自己的話陳述出來。甚至是錄音自己聽,感覺一下面試官聽到你的回答是做何感想。

心態要好。面試官也是人,不可能所有人都能夠絕對公平的跟你面試,所以遇到人品不好的面試官,做好自己就行了。

要善於總結。每一次的面試都可以做好記錄,錄音或者筆記都可以。面試完之後需要多回顧,發現自己的錯誤,感受面試官對你的引導,然後下次面試注意。我一般喜歡用印象筆記記錄東西,每一次的面試記錄我都記錄在印象筆記上。電腦手機都可以看,即使是出門現場面試也不怕。

最後就是一定要堅持下去。金九銀十,金三銀四。把握好機會,要善於規劃自己的成功。

四、準備經歷

我在複習的階段主要準備以下的技術基礎。分爲語言基礎、數據結構和算法、計算機網絡、操作系統、數據庫以及算法刷題。基礎的準備其實我是不打算多說的,因爲牛客上的資源太多了。運營小姐姐們也把很多的硬核資源分好了類,我就簡單談談我的複習感受。以下都是開發崗的基礎,對於不同的崗位還需要做其它方面的複習,比如後臺還需要有對分佈式、框架等的瞭解、客戶端開發還需要有對不同平臺的機制有所瞭解、測試開發還需要有對軟件測試知識的瞭解。

語言基礎:

以C++爲主。我不喜歡看又厚又重的語言書,因此複習全程是以博客、開發文檔和實踐相結合的方式進行技術點複習。C++的技術點相對於其它語言來說,不算多,也不算難。技術重點的篩選可以從面經中提取而來。當然每一屆都差不多,所以找找別人總結好的資料看就行。(想要我複習資料的,可關注公衆號後臺領取)

數據結構和算法:

這應該是編程的基礎,重要需要了解的數據結構不出10種。花點時間弄清楚它們的原理、結構和使用方法,常用的操作也需要掌握。最難不過紅黑樹。

這裏的算法指的是常用的算法,比如排序、遍歷,與數據結構相結合的數據操作方式。需要保證手寫才行。

計算機網絡:

網絡部分的內容其實可以算是最重要的,無論是前端後端都需要掌握網絡通信過程中的操作和機制。技術點可參考網絡服務器的請求和響應過程。將其中所有涉及到的協議、機制瞭解清楚,就可以掌握大部分了。

操作系統:

如果有Linux使用經歷和腳本編程基礎在面試中會很加分。對於操作系統的理解建議按照Linux和windos系統的區分進行。

數據庫:

SQL基本操作必須要掌握,還包括一些關係型數據庫的基本原理和機制,內容不多,多看看就可以掌握。Redis同樣也是加分項,有能力的可去研究下源碼。

算法刷題

這一部分不多說,普通人只能勤能補拙。無論是劍指offer66題還是leetcode都可以,劍指刷兩遍,leetcode兩百題,基本沒有問題了。刷題時不要死刷,可以根據類型刷,比如鏈表操作、二叉樹操作、動態規劃等。相同類型重複做,能夠更好的培養算法思想。

五、項目準備

沒有實習經歷的非科班,如何才能從簡歷上打動面試官,重中之重的必然是你的項目經歷。對於非科班來說,最困難的時候莫過於在寫簡歷的時候發現,沒東西可寫。在實驗室做的東西與編程毫無關係;又或者做的東西太雜,技術層面沒有挖到足夠深;又或者對技術方向沒有認知,項目無法體現你的技術水平。這些問題都會直接導致你的簡歷“無效”,即面試官無法發現技術亮點,也就無法對你的技術進行切身的考察。這樣的結果可能可以暫時混過一關,也可能導致面試官抓不住你的優勢,從而失利。

如果有這樣的問題,就一定要學會重塑自己的項目經歷。在對基礎知識點複習的時候,會加深我們對技術點的理解和使用。那麼如果你有與編程相關的項目,但是覺得技術太簡單,沒啥可寫的時候,一定要對該項目重塑。非科班能有帶點邊的項目已經很不容易了,一定要能夠利用起來。

比如最常見的,很多非科班的同學估計都會寫一些小軟件,就做一些很基本的處理之類的。這種項目一眼看上去就很簡單,像是桌面客戶端開發,技術點就Qt一些圖形庫之類的。這些項目不要放棄!可以從多線程優化、數據結構優化、設計模式優化、甚至基礎的軟件架構等等細節上去優化自己做過的小項目。雖然項目簡單,但是往往可以體現最基本的編程思想和軟件開發思路。這些都可以作爲簡歷上的小亮點,同時也可以誘導面試官往更基礎的方向上去考察你。

然後就是一定要準備自己求職方向相關的一個項目。這個項目如果以上有,那就把它重塑的漂亮點。如果沒有,那就得做一個。這種項目不需要很強的創新性和技術突破,你用了,並且知道爲什麼這樣用,這樣用有什麼好處就行了。比如後臺開發的同學喜歡自己搞一個高併發的服務器之類的,哈哈所以我也搞了一個。這種項目其實到處都是,Github一抓一大片。花點時間,搞懂它,那就是你的。

六、感想體會

經過校招之後,發現很多事情沒那麼難。說要難就難在什麼時候開始,怎麼開始,開始之後要怎樣。我本身不算是技術大神,單純是靠着對計算機和編程的熱愛才走到現在,中間不像科班學生那麼一如既往。中間有很多次的困惑迷茫,但是還好最終的結果還算是不錯。

現在回想起自己的不足,最重要的就是意識的不足。然後是毅力不夠。

意識主要是指在面對職業選擇的時候沒有提前去規劃自己的學習生活,每一次都需要現實推着往前走,從而顯得很被動。看到很多學生早早對自己的未來有了打算,並且積極去找實習,去準備算法,去補充自己的項目。這些人的提前意識往往就是他們勝出的原因。

毅力不夠就是很人性的一個原因了。人都是有惰性的,在未來未來之前,很多人都會選擇逃避。很多準備都需要提前做好長期的打算,而無法一蹴而就。所以有些時候就算有了意識,也沒有足夠的毅力讓自己堅持下去。最後導致也無法享受到耕耘後的收穫。

不過未來,且行且珍惜吧。

七、一些雞湯

  1. 做好足夠的準備,要相信無論什麼事終究會有結果的。找工作這種事從來都不是隻有一條路。看了那麼多經驗分享,其實都是大同小異,關鍵還是要有自己的想法,學會規劃自己的學習和麪試。

  2. 在做選擇的時候,意識總是比硬實力更有用。如果你看到了這裏,想必意識也不會很差。剩下的就是努力和培養下一次選擇前的意識。

  3. 軟實力很多時候比硬實力更容易獲得肯定。很多人在校招後發現某些人技術不強,但是卻能拿到好offer。現在這個社會,能力是很重要的,但是能力卻不等同於技術。技術強不等同於綜合能力強,並且無論應聘什麼公司,面試你的都是人,這就意味着不會有絕對的公平和絕對的技術至上。面試也不過是跟人打交道而已。

  4. 謙虛一點,謹慎一點。少學牛客上一些人喜歡陰陽怪氣,也少被別人的意見影響。無論是什麼方向,算法也好,開發也好,測試也好,沒有孰高孰低,自己喜歡,有清晰的職業規劃,選擇就不會很差。不要人云亦云,同階級的人建立起來的鄙視鏈沒有價值。

  5. 選擇了就要堅持下去。成年人沒有容易二字。

  6. 加油。


之後打算在公衆號裏分享一些經驗和想法,公衆號叫做【業餘碼農】。裏面會有許多校招經驗的分享,還有面經分享;之後還會分享許多我自己對於互聯網行業的一些看法,有什麼問題也可以在上面問我。感興趣的同學可以關注下。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章