應屆生如何準備校招【研發崗】

本人是19考研炮灰黨,本文將從以下幾個方面談談應屆生與校招的問題。

1、考研與找工作如何抉擇?

2、考研失敗後我將如何找工作?(心態 & 準備)如何準備校招?

1、考研與找工作如何抉擇?

關於這個問題,我覺得首先你要想好考研是爲了什麼?我是雙非出身,在本科學習中並未接觸到比較前沿的領域,比如深度學習啥的,我曾經希望藉助考研在研究生階段學習這些東西。不過實習之後接觸了更多人,我發現這事是這樣的,有很多研究生也是做java/前端這些,並不是所有人都去研究算法,市場上更喜歡【算法+工程】。就19春招薪資來看,算法和工程研發崗的薪資也相差不多。

那麼研究生的好處是什麼呢?

私以爲一些雙非的同學可以通過考研提升學歷,提升見識面,雙非和名校的學習環境也十分不同。比如我在本科學習中,周圍很少同學參加ACM、數學建模這樣的比賽,其實大廠非常看重同學們有這樣的經歷,如果獲獎就更好了。但是周圍的同學不會很積極參加這樣的比賽,也就是說你的技術思維在本科院校學習的過程中可能建立得不太好。比如:有沒有養成寫技術博客的習慣,有沒有擁抱開源的思想,知不知道github是什麼東西,接觸一個新知識的學習路徑是怎樣的......這些對一個真正要走技術路線的同學來說十分重要。

另外一些想接觸前沿領域的同學,這些知識可能需要前期積累時間很長,你直接工作後,也許就沒有充足的時間好好研究這些東西。注意,這裏我說的是沒有時間學習,而不是不能學習,如果你想學的話,完全可以自學,網上的資源很多,公司裏也會有一些高手,總之你想學就與你的學歷沒有關係。我在實習的過程中遇到好幾個同事有着很豐富的工作經驗,比如從PHP轉JAVA,從python轉JAVA,畢業後在家半年學習機器學習......讓我感覺人真的有無限可能,就看自己是否有魄力與毅力。

然後也會有一些同學覺得自己是雙非出身,擔心找工作的時候公司直接刷掉自己的簡歷。關於這個問題,我的經驗是不會,尤其大廠吧(非研發崗不好說)。因爲大廠通常會組織統一筆試,筆試通過後就有面試機會,而筆試對於大家來說是公平的。面試的時候對於大家來說也是公平的,因爲專業的面試官基本上還是隻看你的技術,他問你的問題都能答上來,他當然放你進下一輪啊。不過需要注意的是:你還是得有些項目經驗、比賽經歷或實習經歷,你不能啥都沒有還想和名校的同學拼,那...勸你認認真真考研。

2、如何準備校招?

首先談談考研失敗的同學吧,我就是其中一員。首先,你肯定比沒有考研而直接實習的同學損失一些機會。因爲春天的時候一般是各大公司開始招實習生的時候,這個時候機會很多,但是你去考了研。秋天的時候是各大公司招應屆生的時候,這個時候機會也很多,但是你去考了研。

所以你會比他們少很多實習的經驗和麪試的經驗。

不過也不要灰心,對於我們來說還是有機會的。機會在哪呢?
首先,我們也是有優勢的,優勢在於這時候我們很熟悉數據結構和計算機網絡這些,而這些是大廠面試中常問的。雖然考試知識和麪試問的還有些距離,但也讓我們在準備面試時有了比較好的基礎。

其次,機會已經不多,我們就要更抓住時間。

1、有些同學比如我,12月考完後就知道自己涼涼,這時候還有一些秋招補招的機會,不過你剛考完,代碼一年沒碰,還挺難短期內就達到通過面試的水平。

2、春天的時候,現在一般從春節放假之後就有各大公司發放春招通知了。具體時間在2月末到4月底吧,這個時間一定要充分留意各大公司網站,看看有沒有春招消息,內推消息。我用的最多的就是牛客網,在上面好好看看,有很多內推帖子和最新的招聘信息。注意:大公司投簡歷的人多,一定要走內推渠道。一般大公司的內推也比較好找到,因爲推薦成功會有獎勵,所以員工們都很積極地發內推信息。或者你直接去Boss直聘單聊員工,肯定找得到;或者求助下學長學姐。

我是經歷19春招的同學,今年春天比以往都要寒冷一些。因爲去年這個時候我看阿里招聘網站還是對應屆生開放的,但是今年就全面關閉了。今年春天的BAT沒有官方對外招人,官方發佈的消息一般針對海歸或者算法崗,普通的工程研發崗沒有開放。不過私下裏還是有在少量招人,比如我有同學秋招的簡歷被騰訊hr撈起來,我自己也被阿里的一個部門撈過。但是少量招人,而應聘者很多,就很難通過啦,應聘大廠的很多都是名校高手,你懂的。

今年春天招人最厲害的還是字節跳動了,三場筆試,牛比哄哄。我認識的一個北郵研二的同學去現場面試,說現場北大北郵一抓一大把,嘖嘖。接下來說一下校招要準備什麼。

1、筆試

筆試一般來說會涉及到基礎知識+編程題。

基礎知識有概率論、數據結構、計算機網絡、JAVA等,可以在網上找找該公司往年的卷子,知道他們愛考什麼以及題目的深度。emmm 我去年做過阿里的筆試題,前面的素質測試宛如測智商...因爲今年春招他們沒開放應屆生渠道,所以我就瞭解得不深,但感覺還是有機會通過其他方面證明自己得到面試機會的,所以如果你也覺得素質測試難的話不要太擔心吧,其他硬知識掌握得好比較重要。

下面再說編程題,這就很重要了。各大公司的筆試都會有編程題,還有甚者,比如字節跳動的筆試,沒有前面花裏胡哨的基礎題,全都是編程題,你要能過就有面試,無論什麼學校什麼背景,所以儘管難也算是公平吧。不過其實因爲編程題有難度所以不需要全部ac,有的時候做出一兩道就有面試機會了,這個主要看當次筆試的難度而定。

那麼編程題應該如何訓練呢?我推薦首先刷 leetcode 的簡單題,等到有點感覺了,可以嘗試做中等題或者上劍指Offer。劍指Offer在牛客網上有,題量不多,但很經典,有時間多刷幾遍。另外,做題的時候不要覺得ac了就行,雖然筆試中ac就過了,但是面試的時候手撕代碼,有些面試官喜歡和你討論一道題有沒有更簡單的做法,時間複雜度更低的做法,所以有時間的話可以看看題目下面的討論區,學習一些amazing的解法,也是提高自己的一種方式。當然沒有時間的話,還是首先能ac一道題再說吧。

剛開始做題的時候肯定會碰到很多題都沒有思路,硬想也不是辦法,你就得看答案,反正訓練一段時間之後就會有提高。我自己之前的學習中都沒有練過oj上的題,現在覺得挺後悔的,其實刷oj不是浪費時間的事情,你也不需要一天到晚刷,如果能形成一種每天做兩題的習慣,那到找工作的時候,筆試對你來說就不是一件難事了,面試的時候能在短時間內做出面試官出的題目也非常加分。

2、面試

我認爲面試的準備主要分成以下四部分:

1、手撕代碼

2、數據結構、計算機網絡

3、應聘崗位的知識

4、項目經歷

1、手撕代碼

這就主要是數據結構了,一般來說二叉樹和排序是必須要掌握的。二叉樹的前序、中序、後續、層序遍歷必須要熟練寫出,排序中快排、堆排、歸併必須要熟練寫出。這些是基礎,面試官出題可能不會直接問你,但是也是在這上面做變化,所以底子我們一定要清清楚楚。比如遍歷也分遞歸和非遞歸呢,排序的思想能不能清楚地說出來呢?問到排序的話,面試中還很常見地會問到基礎的冒泡/選擇啥的,排序的時間複雜度,排序是否穩定(穩定就是排序完數字的順序會不會改變)等。如果你程度好的話可以再準備數據結構中的圖,這裏面也大有文章,比如圖的各種遍歷,還有KMP算法也可以準備。

除此之外其他的手撕代碼還有可能是Leetcode或者劍指offer的原題或遷移,所以 leetcode 和 劍指offer 真的要多練練啊。

如果你還有時間呢,也可以看看面經裏問過哪些題。準備的話基本就這幾個方向了,面試的時候再見招拆招吧。

2、數據結構、計算機網絡

面試中問到數據結構也經常是樹啊排序啊圖啊,但是比如數據庫的索引是B+樹,那B+樹和B樹就要好好看看,網上都有啦,自己去搜搜。還有“紅黑樹”,現在說到紅黑樹都是一個梗了hhh。以及 Java中hashmap的數據結構是【鏈表+數組】你知不知道啊(這個Java崗位常問)。

計算機網絡的話,TCP/UDP區別,TCP三次握手/四次揮手,https加密過程,DNS解析過程,輸入一個Url之後經過哪些操作等等,這些都屬於被問爛的啦,肯定要好好掌握的。

3、應聘崗位的知識

我自己之前主要學java,所以面試準備也是java。這事是這樣的,一般來說準備你自己最熟練的地方就可以了,就算有想法轉崗,或者崗位需要不止java,那你把java的準備完全也夠了。java的話比較常問內存模型、gc處理機制、gc算法、集合、多線程啥的。現在大廠面試官一般都是一個問題問到很深的,所以大家不要只淺淺地看一下,以爲面試的時候能答出幾個關鍵詞就夠了,這是遠遠不夠的。比如內存模型,你去網上搜,一大堆博客寫得都很詳細,你得把一篇博客完完整整地理解記住纔算這個知識真的過了。當然比如我是java後端轉測開,至少得知道一些測試的基礎理論吧,不能說啥都不知道就轉崗,那你爲啥想要轉崗呢對吧。

4、項目經歷

一般來說準備2個項目吧,當然你的簡歷上可以把做過的項目都寫上。面試的時候準備兩個就夠說了。項目經歷也不是那麼容易準備的。首先你這個項目是幹啥的,用到的技術棧是什麼,這個可能不需要準備也能說出來。但是這樣還不夠哈,你得找出項目中的亮點和難點。

針對亮點和難點,你是怎麼實現的,中間遇到過什麼樣的問題,又是怎麼解決的。比如我實習過程中做的一個API接口管理平臺,亮點在於一個功能的數據庫設計比較複雜,那我準備的時候就要先說這個項目的亮點在於實現了一個XX的功能,這個功能主要是通過數據庫設計成XX張表實現的,爲了這個功能我維護了XX張表,表的字段是這樣設計的......這樣才叫真正說清楚了。你還要預想面試官可能根據你這樣的表述問出什麼問題,比如我說到了數據庫,那面試官會不會就數據庫與我展開討論呢?比如你爲什麼要設計成這樣,爲什麼不放在一張表裏,爲什麼不遵循第三範式、BC範式,適當冗餘的好處是什麼......媽呀能牽扯出很多問題呢!這樣才叫準備項目哈!

另外有的同學可能會懊惱,我的項目沒有難點呀,我都是調的第三方庫。那麼就算調API,你也可以想想,第三方API支持多少QPS,在調接口的時候可能遇到什麼問題,以及他們實現這個的原理是什麼。比如你用到了融雲聊天,那你知道聊天是怎麼實現的麼?如果你能把這個說清楚,我想也是很加分的。

然後也希望現在還在大二的同學能有意識地去做一些難的功能,不要一直讓自己在舒適區中,如果你真的要走研發的方向,你就必須有這種鑽研的精神。

【總結】

面經要好好看,也不要只侷限於你應聘的那家公司的面經,各大公司相同崗位的面經都要看看。看得多了你就知道常問的是什麼了,面試的時候會經常問到這些問題,有些比如TCP三次握手啊,雖然被問爛了,但仍然會有人不知道,所以有的時候面試官還是會問的。牛客網上以及一些博客現在都會總結面試中遇到的問題了,總結成一張大的架構圖,好好找找,好好看看。我覺得大廠並不是那麼遙遠,而你真的要珍惜應屆生這個身份,應屆生意味着不需要有那麼多項目經歷,重要的是基礎知識,基礎知識好代表你值得被培養。社招就很看重實際做項目的能力了。而且現在大廠給應屆生的薪資都很高,高到會讓老員工覺得“憑什麼啊”......進入大廠之後呢,以後跳槽也比較好跳。當然也要遵循內心知道自己真的想要什麼,這很重要。

 

對了,補充一下,面試的時候要懂得讓面試官根據你擅長的問呀,比如你可以主動介紹自己的某個項目,主動說我哪方面比較好,能不能就這個來問,這都是可以的。面試官也是爲了更好地瞭解你的長處在哪裏呀~不然爲什麼招你呢~:)

 

最後,還有什麼問題也歡迎大家在評論區中提問,知無不言呢!

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