注:這個回答是我一位朋友在知乎上的萬贊匿名回答,取得了他的同意,特此在這里轉(zhuǎn)發(fā),并寫下一點自己的感想。
(但是,想了下,由于這個回答是匿名的,似乎也很難證明這個回答就是我朋友的。。。但是我讓他在回答下幫我置頂了一條的評論,應(yīng)該勉強算一個證明了哈哈哈)
問題:計算機(jī)應(yīng)屆生月薪大多是多少?月薪4k,6k,8k,10k的各占百分之多少呢,想了解一下知乎上大家的就業(yè)情況。好對自己有個定位,親身經(jīng)歷或者朋友同學(xué)什么的都可以說說哈。我的朋友回答:
能做到以下幾點,絕對可以在北上杭深拿到15K(小北注:這是18年的回答了)以上:
撒比算法題,各大公司筆試面試基本都考這個,別的不說,《劍指左邊offer右邊》所有題目背下來,leetcode刷個四五百題起碼的吧。搞過ACM也可以,反正刷個四五百題是必須的。我也覺得考這些撒比算法題很撒比,但是大家都這么考,你不準(zhǔn)備,那不掛你掛誰?
數(shù)據(jù)結(jié)構(gòu),不說要徹底給面試官手推各種數(shù)據(jù)結(jié)構(gòu)的均攤復(fù)雜度,也不要求你手寫紅黑樹,至少AVL哈希表堆這些簡單的數(shù)據(jù)結(jié)構(gòu)得自己實現(xiàn)過;鏈表、線性表必須熟悉到不能再熟悉,比如vector為什么要用加倍擴(kuò)容而不是每次增加一個固定的擴(kuò)容容量;BBST各種都能扯一下,達(dá)到這個程度就差不多了。
計算機(jī)組成原理,至少《深入理解計算機(jī)系統(tǒng)》得過一遍吧?配套實驗也得做一下吧?
計算機(jī)網(wǎng)絡(luò),這個最簡單了,隨便找本書,把應(yīng)用層、傳輸層看完就行,我看的《計算機(jī)網(wǎng)絡(luò)自頂向下方法》。關(guān)鍵在于搞懂TCP協(xié)議為什么要這么設(shè)計,為什么是三次握手,四次揮手?書中的其他rdt模型為什么不實用?我面快手的時候還問了wireshark抓包遇到三次快速重傳會怎么樣,不過這本書的配套實驗也有抓包內(nèi)容,老老實實跟著做就是。
操作系統(tǒng),這個部分我還在學(xué)習(xí),采用的是跟著MIT6.828做的方法。知乎上陳碩有一個關(guān)于學(xué)習(xí)操作系統(tǒng)非常好的回答,大意是要抓住重要部分,不要沉迷于技術(shù)細(xì)節(jié),我覺得很對。具體的,內(nèi)存分配、調(diào)度、多線程這幾個點,都得深入理解一下吧。如果不想具體去研究操作系統(tǒng)的實現(xiàn),那么怎么用操作系統(tǒng)提供的接口這個是必須的吧,APUE了解一下?
數(shù)據(jù)庫:sql得會寫吧,幾個范式有沒有正式運用過?在做項目的時候,數(shù)據(jù)應(yīng)該如何組織,才能夠使得每次查詢的開銷最???如果想深入,數(shù)據(jù)庫的實現(xiàn)也是很好的一個方向。
編譯原理:深入研究編譯器,去鉆研l(wèi)lvm當(dāng)然很難,但是作為一個普通開發(fā)人員,編譯器的各種選項,不同的優(yōu)化級別具體優(yōu)化了哪些,這些總得了解一些。最關(guān)鍵的,動態(tài)鏈接,靜態(tài)鏈接,頭文件,gcc的include選項、link選項、define選項(-I,-L,-D)怎么用,makefile/cmake怎么寫,clangiccgcc到底真的用起來有什么區(qū)別,這些坑作為一個開發(fā)人員遲早會遇到,越早遇到,以后碰到坑的時候就能越輕松一些。
編程語言:總得擅長一門語言吧?C++的話,那幾本書(Effective三部曲,對象模型)看完了嗎?Java的話,JVM虛擬機(jī)理解的怎么樣了?大廠就喜歡問這些,不好好準(zhǔn)備那就掛嘍。
具體崗位需求:別的崗位不了解,后端開發(fā)還需要熟悉網(wǎng)絡(luò)編程,UNP得好好看。
項目:說句實話,學(xué)校里接觸的項目能有多高大上?如果只是用幾個框架的那種,我建議不要寫到簡歷上,不如去github上參與開源項目,GSOC了解一下?當(dāng)然如果你的實驗室很厲害,跟導(dǎo)師做的項目很牛逼另說。還有一條路就是上面的5,6,7,任何一個花上半年時間去實現(xiàn)一個簡陋的原型(比如實現(xiàn)一個簡單的內(nèi)核),都是非常好的簡歷左邊加分右邊項。事實上,國外名校這些課的最后的project都是讓你實現(xiàn)一個原型。
英語:這個面試一般不會涉及到(除非是英文面試),但是我仍然認(rèn)為英語是很重要的能力。具體的來說,就是“遇到一個撒比問題不去打擾同事自己谷歌或者bing從stackoverflow找到回答并且獨立解決”或者“老板讓我去接觸一個沒搞過的東西我硬著頭皮點開文檔看了兩天兩頁終于能解決問題”的能力。
信息采集能力:對于學(xué)校不太好(非C9)的同學(xué),這個能力其實是最關(guān)鍵的。最優(yōu)秀的同齡人在學(xué)習(xí)些什么?我想去的公司想招聘什么樣的人才?面試會問什么?春招秋招到底是什么,如何投遞?實習(xí)真的很重要嗎?這些問題,你去百度,去知乎搜索,去??途W(wǎng)搜索,其實都有回答。為什么說這個能力重要?舉個例子,BAT熱門崗位留給秋招的坑寥寥無幾,因為坑都被實習(xí)轉(zhuǎn)正的同學(xué)占了,如果你之前不知道春招,沒有去實習(xí),能去BAT熱門崗位的機(jī)會自然就很渺茫了。又比如,秋招各家公司筆試難度都明顯高于面試難度,原因一方面是篩人,另一方面是筆試作弊現(xiàn)象很嚴(yán)重。如果你知道春招、秋招提前批是不用筆試的,是不是你的機(jī)會又多了幾分?
社交能力:幾個關(guān)鍵字:頭條白金碼、組內(nèi)直推自己去??退阉靼?。
以上是對本科研發(fā)崗的要求。算法崗和研究生的要求我不太清楚,想必只會更高。
當(dāng)然,我上面說的這些要求,對于絕大多數(shù)同學(xué)來說都非常遙不可及。
但是,如果你在一個很普通的高校,不拿最高的標(biāo)準(zhǔn)要求自己,那你的結(jié)局就是和你的那些學(xué)長學(xué)姐一樣,去個普普通通的公司,過普普通通的一生。
取法乎上,得乎其中,取法乎中,得乎其下。
小北BB:
這個朋友大學(xué)是打ACM的,兩年前本科畢業(yè)就拿到了外企四五十萬的左邊offer右邊,當(dāng)時我剛大三吧,只覺得是神人。
仔細(xì)看他說的這些,其實是我一直推崇的CS科班學(xué)生的典型學(xué)習(xí)路線,基本上基礎(chǔ)課跟著國外CS名校課程來,準(zhǔn)沒錯。
能夠做到50%,應(yīng)該國內(nèi)BAT這種公司的左邊offer右邊就比較好拿了,但是問題在于,我們剛上大學(xué)的時候其實很難從一開始就有如此清晰而明確的規(guī)劃。
不少同學(xué)往往是到了大三下,發(fā)現(xiàn)身邊有同學(xué)都拿到頭條、騰訊的實習(xí)左邊offer右邊了,突然意識到,好像快要找工作了。
然后才匆匆開始認(rèn)真撿起來學(xué)習(xí),而平時都是把老師布置的作業(yè)完成就好了。
所以對于還在校的CS專業(yè)學(xué)弟學(xué)妹,有幾點建議:
提高信息搜索、采集能力
做左邊公眾號右邊這段時間,很多同學(xué)問我要xxLab的資料,csapp的lab資料,其實我想說這些東西我去找和你去找都是一樣的,打開Google,輸入對我發(fā)的那些關(guān)鍵字,你就能找到。
而且你找到的將會是一手資料,而我發(fā)給你以及諸如網(wǎng)盤上下載的,其實都是N手了。
多看信息密度大、質(zhì)量高的資料
比如那些經(jīng)典的書籍、課程,不要整天在CSDN、掘金這些博客平臺逛,當(dāng)然,我不是說這些博客都不好。
而是,你學(xué)習(xí)的資料,大概決定了你所能學(xué)到知識的上限,這些博客大多也是作者看完了其它書、專欄之后自己寫的總結(jié)。
快速了解可以看博客,但是想要學(xué)得深入,不該省的時間終究是省不了的。
自己看書,雖然更費時間,但是知識會更加的系統(tǒng)和全面。
要有危機(jī)意識
現(xiàn)在計算機(jī)很火,各種轉(zhuǎn)碼、跨考計算機(jī)的同學(xué)很多,競爭也很大,每年看牛客上的經(jīng)驗貼,都會發(fā)現(xiàn),cppprimer雖然很厚,但總會有人過了兩三遍,而你也許一遍還沒過完,也總有人leetcode刷了七八百道,而你也許直到面試前,劍指左邊offer右邊還沒看完呢。
想要拿到滿意的左邊offer右邊,就早點開始認(rèn)真學(xué)習(xí)、好好準(zhǔn)備、刷題,面向就業(yè)學(xué)習(xí)蠻好的。
每個人都能學(xué)好計算機(jī),你需要的是持續(xù)不斷的努力
我們會在各種論壇上看到一些前輩侃侃而談他們的經(jīng)驗,也許有很多技巧、有天賦。
但最本質(zhì)的一定是他們持續(xù)不斷的付出,一萬小時定律我一直堅信。
換到CS專業(yè),可以類比出”10W行代碼”定律,在本科四年,或者研究生三年,不說10w行,幾萬行代碼總的有吧。
寫代碼很多情況下,就是無他,唯手熟爾。
自己粗略的統(tǒng)計了下,加上寫的各種lab,大學(xué)寫的代碼應(yīng)該是接近10w行的。
最后,請允許我(指回答者)在這里引用《上海交通大學(xué)學(xué)生生存手冊》中的一段話:
相比寶貴的青春,我們在上學(xué)期間所需要的學(xué)費和生活開銷幾乎可以忽略不計。我們真正投下的有價值的籌碼,是時間。面對著足以改變你人生軌跡的黃金時間,你是否感到了它的沉重?你又是否想過要如何計劃這筆巨額投資?如果你是一名乖孩子,每天從早晨開始好好上課,好好做作業(yè),好好預(yù)習(xí)、復(fù)習(xí),直到熄燈時間好好睡覺,過著這種積極健康,平穩(wěn)中庸的生活,但是缺乏有效自我支配的生活(如果按照學(xué)校的規(guī)劃,你會發(fā)現(xiàn)你可以自由支配的業(yè)余時間少得可憐)。那么,你這樣退守下去,無異于把自己的青春放在保險箱里讓他隨著時間而凋謝。我們必須牢記這樣的黃金規(guī)則:平庸的生活方式是麻醉藥。他只會束縛你,讓你沒有作為,甚至沒有出息地度過大學(xué)的四年。END
2020年就要過去了,北京東路的日子主唱也迎來了十年重聚,很多同學(xué)都在朋友圈懷念自己逝去的青春。
這首歌也伴隨了我們整個高中,高中班上還改編了一個我們學(xué)校的版本《九宗書院路的日子》在學(xué)校演唱。
昨天和一個朋友聊到,為什么工作后容易懷念學(xué)生時代呢?
大概是因為學(xué)生時代很單純沒什么煩惱,是啊,學(xué)生能有什么煩惱呢?
他/她喜不喜歡我?返校了作業(yè)還沒做?考前了還沒復(fù)習(xí)好?自習(xí)課講話被班主任發(fā)現(xiàn)了?
收,不說了,這篇還是主要給大家分享一下CS學(xué)習(xí)經(jīng)驗的。
對啦,最近更新頻率要降低了,因為嘛,有個需求比較急,還有年底述職答辯這些事情一堆。
反正每件事情看起來都不大,但是堆在一起就挺讓人煩躁哈哈哈。
還有~昨天發(fā)的抽獎鏈接記得幫我參與噢,幫我點一下~