計算機雙非本科畢業小結

許佳佳233發表於2018-04-04

前言

其實,筆者想寫篇總結自己大學生涯的文章已經很久了。
其中也是糾結了很多,有想過分開幾篇寫,寫一下大學自己技術學習路線、個人職業規劃、面試準備和經驗等等。考慮再三,還是認為一篇足夠了,自己也沒到著書立說的地步,無需事無鉅細一一記錄。
此篇文章主要還是記錄和總結一下自己的大學經歷,順便就給普通一本或者說雙非的計算機專業的後輩們一個小參考。
至於技術路線、面試之類,筆者其中走的歪路也不少,同時也並不能確認現在正探索著的就是所謂的“捷徑”,有心人還是需多自我探索了。

目前狀態

現在是2018年4月份,從實習回到學校來弄畢設。
已經簽了上海愛奇藝的三方,部門硬性需求少,對自主學習能力要求高,同事和組長都是技術大牛。也是很慶幸能拿到這麼一份offer。

大學經歷

筆者剛進大學目標就比較明確:畢業找個好工作。
然後就在探索中開始了自己的大學生涯。

大一

大一最大的目標就是確認自己之後的方向。
其中有兩個最重要的選擇:

  1. 考研還是本科就去找工作
  2. 大學期間的技術學習方向

途徑的話無非是知乎、百度。
通過各種網上資訊瞭解,計算機這個專業,本科如果能自主好好學習,畢業找到一個好工作也是不難的,考研對於我這種情況來講就不是那麼必要了。
至於方向,最終選擇的是Android,這個就見仁見智了。
另外的話,我學校有自己的oj,大一也沒什麼程式設計任務,所以在oj上刷題300道左右。

當然,大一也是參加了學生會,各種才藝、辯論活動之類。一年後馬上退出學生會,也幾乎不再參加任何活動。個人實在是反感這些拙劣的洗腦方式和冠冕堂皇的自我晉升手段。也是看著有的人一邊通過欺騙獲得貧困生補助金,另一邊卻在學生會掛著“無私奉獻”的牌子輕鬆入黨。

大二

剛進大學通過考試進了“卓越班”,然後根據學校的教學計劃,大二可以自己選擇導師。(在此非常感謝胡威老師在整個大學階段的指導!)
本科導師制中,導師主要還是扮演一個“方向引導者”的作用,並不需要對你過多負責。所以我很多同學在快畢業的時候也有“只見過導師一面”的情況。
你有問題去問導師,導師一般都會傾囊相授,但是如果你本身坐等導師“餵養”,那麼導師也不會至於牽著你鼻子拉你前進。畢竟人家本身也是帶著研究生的。
一方面是看導師本身,另一方面是看學生自主意識。我的話,由於自己本來就定好了Android方向,所以基本有小方向問題了就會找導師討論,比如覺得自己需要實踐了就會找導師要專案做,學的迷茫了也會通過導師聯絡一下往屆學長。
然後大二主要就在實驗室專案的實踐和各Android書籍的學習中度過了。

另外大一下也是開始寫部落格,大二下的時候也是申請到了“CSDN部落格專家”。對於這個榮譽,我感覺更多的還是對博主的分享精神的一種認可,而技術深度和廣度,我也知道自己是幾斤幾兩。。。

大三

上半學期主要就是拿著大二做的一些專案去參加比賽,一方面但是擴充眼界,另一方面是豐富自己的簡歷,畢竟雙非的學校本身在就業中就是一個劣勢,必須通過其他方面來彌補。

下半學期就是找實習了,最終也是去了上海愛奇藝(後來轉正)。
找實習的時候,一開始比較傲嬌,覺得自己從大一就開始準備,肯定比其他人優勢大得多了,那時候也是很迷騰訊(畢竟是玩鵝廠遊戲長大的),春招實習兩個月裡只投了騰訊一家。後來三面過了之後,在面試委員會加面的時候掛了,當時給自己打擊也是不小。之後春招都快結束了才開始投一些其他公司,也是拿到了幾個offer。
通過找實習也是瞭解到了自己技術上的很大的不足,自己過分注重Android的知識,卻忽略了演算法、計算機網路等重要基礎,也是在找實習的時候吃了大虧。

大四

大四開始就主要是在上海愛奇藝實習了。
實習期間同樣是發現了自己一個很大的缺點:過分注重方向。
剛開始實習的時候,除了Android相關的知識或者技術,其他的我都不太想接觸。
因為我很倔強認為自己的職業規劃中應該先精通Android,之後再觸類旁通的去學習其他知識。
期間,我組長和我說一個思想讓我改變了自己幾年來對自己的職業規劃:

任何一個專業領域中的大牛,絕對不會是在單單一個方向上是大牛。

這個其實很好理解,比如在Android中學習到程式間通訊,你要深入瞭解這個你必須對linux和作業系統這方面有一定理解,不然你就只能止步於此了。如果你是個深諳Android原始碼的大牛,那麼你對作業系統的理解也一定很有深度。

然後自己就開始努力適應小組內工作節奏,到後來工作就變成了一種“學習這麼快樂的事情還可以拿錢”的事情了。

大學其他事件

  • 整個大學每週至少健身房一次,長假期間都會去健身房辦卡,一週至少三次。
  • 和女朋友一起旅遊,去過鳳凰、廬山、桂林、蘇州、木蘭天池等,武漢本地的話基本都是跑遍了。
  • 大二下的暑假和女朋友互相見父母(主要大三下暑假要去實習,所以在安排中就提前到大二了)

一些個人看法

找工作

先投中小型公司,再投大公司。在投自己的心目中公司的時候,一定要保證自己已經完全準備好。
在春招和秋招中,BAT等大公司基本一般都是最早開始的,所以很多人(包括筆者自己)都會很著急地去投,生怕沒有HC。但是這種情況往往是自己斷送了自己幾個月的複習時間。
一方面,大公司雖然開始地早,但是週期也長,退一萬步講即使你真的錯過了,之後也是可能有補招的。
但是如果你沒有準備好就去投,如果沒過,那你就是真正地喪失了這次機會。有的人可能會說,阿里提前批內推沒過,正式秋招還會有一次機會。是的,你會還有一次機會,但是面試官能看到你上次沒過的原因,有時候看到你上次沒過,可能就直接不想面你了。
另外,先投中小型公司,獲得保底offer後再去投大公司。首先,在面試中積累的經驗能讓你受益匪淺,其次,有了保底offer本身的心態也會好很多。

最後就是找實習的時候不要去在意城市。實習是一個很好的學習機會,千萬不要因為在意城市而放棄某些大公司的機會,這是真的得不償失的。有一個大公司的實習經歷,在秋招的時候是一個巨大的優勢。

本科生和研究生

本科就想去找工作,甚至只想進一線公司的,必須要有一定的覺悟。

在相同水平下的本科生和研究生,大企業絕對會選擇研究生。

可能很多人會很好奇:“一個本科生能到達和研究生一樣的水平,不是很有潛力嗎?”
這句話沒錯,但是面試本身能面試出的水平是有限的,研究生與本科生相比,本身在科研水平甚至知識的廣度上就有天然的優勢。畢竟多學了幾年,能得到一個更好的人才,大公司也不會在意那麼幾k的錢。
所以如果你想在本科出來進大公司,你就必須有通過大學4年超過部分研究生的覺悟。否則只能退而求其次。

另外就是985、211的問題,如果你也和筆者一樣是雙非的本科,那麼你本科階段不能僅僅侷限於自己的技術提升了。你還要有意識的去豐富自己之後的簡歷,不然你可能連大公司的簡歷篩選都過不了。
這是個很現實的問題,如果你實在只有技術沒有資源,又只想進一線公司,那麼要麼寄託於運氣,渴望大公司能讓你簡歷過,要麼就只有考研。
就筆者個人觀點來講,如果你已經有了一定技術(超過部分研究生的程度),對考研也沒有非常熱衷,那麼直接找工作就可以了。哪怕進不了一線公司,進個二線公司應該問題不大,只要有技術水平,那麼之後的選擇機會也是很多的。

本科學習方向

一定要選擇一個自己的方向。
本科期間不乏每一項技術都只接觸一點點的情況,尤其是在很多人適應了高中跟隨老師節奏的學習方式,大學功課又繁雜的環境下。
如果沒有一方面的長處,那麼找工作的時候是沒有競爭力可言的。就拿前端來講,如果你只會HTML+CSS+簡單JS,完全沒有任何競爭力,這樣簡單的操作很多人一個禮拜不到甚至兩三天就可以完全搞定了。

不過方向的專精並不意味著拋棄其他的,而是相關的知識都要能瞭解一二,甚至深度瞭解。
就拿筆者自己來說,我準備做Android,那麼Android的API肯定要用的666吧,另外相關的一些經典框架原理要懂吧。再深入些,平時經常用的一些API的原理是什麼,Android內部一些機制的實現原理是什麼。
涉及到原理了,那麼作業系統的基礎你首先要打牢吧,不然別人和你解釋原理你也不懂。涉及到Android網路框架了,那麼各種資料包結構都不理解就說不通了吧,最好連包怎麼傳遞的都知道那就很厲害了啊。
當然以上就是打個比方,筆者曾有很長一段時間一直侷限於對API的使用和對開源框架的探索,碰到不會的作業系統和計算機網路知識怎麼辦——跳過。畢竟筆者之前一直想單獨地先精通Android,然後再觸類旁通地去學其他的。現在看來這種想法是多麼地可笑,也是錯過了那麼多突破自我瓶頸的機會。

是否進ACM

這個話題與上面的相比可能受眾面會小很多,只是大學沒有參加ACM一直是筆者的一個遺憾
筆者由於大一就確定要走工程路線,所以一直認為進ACM對自己來說完全沒有必要。雖然當時也有在OJ上刷題300道左右,但是始終沒有進ACM進行相對專業和集中的訓練,對於演算法的學習也都只是自學。現在想想如果當時能有前輩對我作一點引導,或許自己對演算法的理解又能有更進一步了,不至於在剛剛找工作的時候顯得那麼狼狽。
對於剛剛進大學的計算機學生來講,如果學校有較不錯的ACM組織,那麼無論你之後做什麼方向(不管是前端、後臺、演算法),都可以進ACM進行一段時間的學習。能拿獎豐富下自己的簡歷最好,即使不能,那麼用相對空閒的大一來學習演算法也是一件很有價值的事情。

相關文章