前幾天收到一個(gè)讀者的喜訊。
他是一名文科生,不過(guò)他通過(guò)自學(xué),在今年拿到了非常多的大廠實(shí)習(xí) offer,崗位是前端開(kāi)發(fā)。
我覺(jué)得他很厲害,而且他轉(zhuǎn)行經(jīng)歷值得有這方面想法的同學(xué)學(xué)習(xí)和參考,所以我就邀請(qǐng)他寫(xiě)了一個(gè)分享稿,希望對(duì)你們有幫助。正文
我是來(lái)自某雙一流高校的文科研一(保送本校),在今年 11 月份收到了阿里、騰訊、百度、字節(jié)、快手、滴滴、完美世界、商湯等幾家廠的前端實(shí)習(xí)offer,應(yīng)該是投簡(jiǎn)歷的公司都給了offer。我的前端學(xué)習(xí)過(guò)程大概持續(xù)了大概有一年,也就是從大四上學(xué)期快要結(jié)束的時(shí)候到目前。我的學(xué)習(xí)方式也比較笨,最開(kāi)始就是抱著大厚書(shū)肯。《CSS權(quán)威指南》(上下)、《Javascript高級(jí)程序設(shè)計(jì)》(第四版)、《You don’t know JavaScript》、《Javascript忍者秘籍》(第二版)這些就是我的入門(mén)書(shū)籍,這四本中前兩本我都是看了兩邊,都在 1000 頁(yè)左右,后面兩本則是草草翻了一下。這個(gè)過(guò)程為我打下了比較扎實(shí)的 JS 功底,大概是用了 2 個(gè)月的時(shí)候,我大概就能摸清楚原型/原型鏈、Promise/異步、閉包、Event loop等JS中的一些核心知識(shí)點(diǎn)了。我覺(jué)得一開(kāi)始看視頻會(huì)好一點(diǎn),我自己學(xué)習(xí)的時(shí)候看書(shū)看不懂的地方也是去 B 站看相關(guān)知識(shí)點(diǎn)的講解。緊接著的寒假,我就在家搞畢設(shè),用 react 做了一個(gè)場(chǎng)外交易平臺(tái)(導(dǎo)師做的方向偏向于行為經(jīng)濟(jì)學(xué)),使用node、區(qū)塊鏈和數(shù)據(jù)庫(kù)搞了一個(gè)全棧的項(xiàng)目。整個(gè)項(xiàng)目其實(shí)就是按照 B 站上的React目前播放量最高的那個(gè)視頻(我看的時(shí)候剛出來(lái)沒(méi)幾天)學(xué)完之后寫(xiě)了一個(gè)應(yīng)用,之后找了一些關(guān)于登陸注冊(cè)、鑒權(quán)和狀態(tài)管理的一些知識(shí)做了一些應(yīng)用,整個(gè)項(xiàng)目就完善很多了(寒假剩余時(shí)間摸魚(yú))。大四下學(xué)期,開(kāi)始補(bǔ)計(jì)網(wǎng)和算法的基礎(chǔ)知識(shí)(前端這邊操作系統(tǒng)問(wèn)的少一些)。計(jì)網(wǎng)方面在 B 站看了中科大的mooc,講的不錯(cuò),看了自頂向下方法那本書(shū),但是這些都不如小林哥的筆記比較好!!!不是我吹,我字節(jié)一面完全背的小林哥的筆記,面試官直接感嘆:“我面了這么多人,從沒(méi)有一個(gè)人像你一樣說(shuō)的這么細(xì)致的。”(得益于大學(xué)文科背書(shū)功底?)算法方面是看了《算法(第四版)》,youtube上看的普林斯頓的網(wǎng)課,跟著寫(xiě)了點(diǎn)代碼,然后這個(gè)學(xué)期剩余時(shí)間幾乎都在談戀愛(ài)。接下來(lái),就開(kāi)始第一次面試。當(dāng)時(shí)是陪對(duì)象去投春招,被 HR 拉著投了一個(gè)知名 K12 公司,當(dāng)場(chǎng)被拉去面試,莫名其妙就過(guò)了。我看了一下名單上好像就一個(gè)人投了前端,好像那個(gè)人就在我前面,進(jìn)去沒(méi)多久就出來(lái)了,我自己卻面了將近 3 個(gè)小時(shí),寫(xiě)了 4 張 A4 紙正反向面。暑期就去北京實(shí)習(xí)了,親身感受了一層樓一夜之間被開(kāi)除的感覺(jué)。我在北京實(shí)習(xí)的時(shí)候,每天上班地鐵上背小林的筆記,周末去公司刷leetcode,刷的方法就是按照題型刷一下。實(shí)習(xí)歸來(lái)感覺(jué)自己太菜了,好多技術(shù)棧都沒(méi)學(xué)過(guò)。回來(lái)之后補(bǔ)了 linux 的一些東西,看了docker,跟著 webpack 官網(wǎng)擼了一邊,看了koa2、redux、react-redux源碼,看了《狼書(shū)》(一二冊(cè))、《前端開(kāi)發(fā)核心知識(shí)進(jìn)階》看了半本,再次去學(xué)習(xí) JS 的相關(guān)基礎(chǔ)知識(shí)。11 月份的時(shí)候看了看,牛客上的面經(jīng),感覺(jué)自己好像也可以進(jìn)字節(jié)了,就去面試了基本上每個(gè)廠都給了offer,最后選擇了去杭州阿里。我個(gè)人的感覺(jué),知識(shí)的進(jìn)步就會(huì)經(jīng)歷「知道自己不會(huì)」到「不知道自己會(huì)」的這樣一個(gè)過(guò)程,每天學(xué)習(xí)一點(diǎn)點(diǎn),每個(gè)月都去看一本書(shū)或者看一個(gè)小的項(xiàng)目源碼,切記閉門(mén)造車這種行為吧,很多時(shí)候自己學(xué)了很久的東西,可能就是項(xiàng)目源碼里面的一個(gè)很淺顯的東西或者是書(shū)上都寫(xiě)著的,看視頻很多時(shí)候是一個(gè)入門(mén)的方式,看書(shū)和源碼是比較好的深入的方式。這段時(shí)間,好多次自我懷疑轉(zhuǎn)行是否正確,能不能在秋招找到一個(gè)合適工作,我直到拿到快手的 offer 之前一直都覺(jué)得自己非常菜,快手的HR告訴我,“部門(mén)對(duì)你評(píng)價(jià)真的特別高,這邊 Leader 專門(mén)跟我說(shuō)一定要你來(lái)。”慢慢的時(shí)間會(huì)見(jiàn)證我們一天天的變強(qiáng)的。問(wèn)答
為什么要轉(zhuǎn)互聯(lián)網(wǎng)?
為什么轉(zhuǎn)行,因?yàn)樵瓉?lái)的專業(yè)不好就業(yè),如果讀博的話,老板雖然也是業(yè)內(nèi)大牛,但是我對(duì)這個(gè)方向不感興趣,而且有一個(gè)室友是信息競(jìng)賽保送上來(lái),他做的是前端開(kāi)發(fā),當(dāng)時(shí)感覺(jué)他正在從事的事情很酷,然后受影響就去做前端了。總共花了多長(zhǎng)長(zhǎng)時(shí)間學(xué)習(xí)?
總共學(xué)習(xí)的時(shí)間,除去整塊玩的時(shí)間、準(zhǔn)備畢設(shè)和修學(xué)分的時(shí)間,滿打滿算的話有7個(gè)月,老板不怎么push,干什么也不管。剛開(kāi)始接觸編程的時(shí)候會(huì)不會(huì)覺(jué)得很困難,你又是怎么克服的?
剛開(kāi)始的時(shí)候的確很難,但是我的大佬室友帶著我飛,手把手教我hello world,然后直到能到自己能寫(xiě)一些demo之后,感覺(jué)到成就感之后就更有動(dòng)力。我覺(jué)得學(xué)習(xí)編程的前期找一個(gè)能問(wèn)問(wèn)題的老師真的很重要。算法題一共刷了 300 道左右吧,暑假去實(shí)習(xí)的時(shí)候,我住在青旅里面,室友玩的很不錯(cuò),我告訴他們,我每天晚上下班回來(lái)刷三道題,周末為了省錢(qián)周末去公司蹭飯刷一天算法(包三餐),不會(huì)寫(xiě)的背下來(lái)就好了,把主要思路背下來(lái)整理個(gè)筆記,可以跟別人交流一下整體思路。面試時(shí),面試過(guò)會(huì)介意你文科的身份嗎?是不是等有相關(guān)的互聯(lián)網(wǎng)實(shí)習(xí),再去面一線大廠會(huì)更容易?
面試官不太會(huì)介意出身,我覺(jué)得只要技能點(diǎn)點(diǎn)滿了就好了,這對(duì)文科生能否通過(guò)簡(jiǎn)歷關(guān)很重要,但是面試官還是會(huì)問(wèn)問(wèn)為什么轉(zhuǎn)行,想好這個(gè)問(wèn)題就好了(我就是實(shí)話實(shí)說(shuō))。我覺(jué)得有第一份實(shí)習(xí)很重要,沒(méi)有第一份實(shí)習(xí)很難找到后面的實(shí)習(xí),我覺(jué)得我暑假的實(shí)習(xí)對(duì)于我下面的找工作有很大幫助。暑假實(shí)習(xí)的第一天跟導(dǎo)師溝通的時(shí)候,我直接告訴我的導(dǎo)師我實(shí)習(xí)期間想要得到哪些成長(zhǎng):當(dāng)時(shí),剛好我們組特別缺人,我基本上就是當(dāng)正式工在用,這些需求都被滿足了,這對(duì)我后面的成長(zhǎng)幫助很大。但是第一份實(shí)習(xí)卻很考驗(yàn)運(yùn)氣,很感謝上家公司給我offer。我的想法
以上就是這位文科生讀者轉(zhuǎn)行的心得分享了,接下里我說(shuō)下我的感受。我覺(jué)得這個(gè)讀者很會(huì)抓住機(jī)會(huì)。第一,他剛好有一個(gè)會(huì)前端的室友,抓住了一個(gè)被室友帶飛的機(jī)會(huì)。這一點(diǎn)非常關(guān)鍵,因?yàn)閱渭円粋€(gè)人學(xué),沒(méi)人交流會(huì)學(xué)的很乏味,而且很容易陷入困境。如果身邊有一個(gè)可以隨時(shí)交流的前端大佬,可以很快度過(guò)小白時(shí)期,有時(shí)候一個(gè)小小的問(wèn)題,就能被一句話解決,而不是自己在網(wǎng)上折騰個(gè)幾個(gè)小時(shí)。第二,他很善于利用網(wǎng)上的免費(fèi)資源,他看的視頻和做的項(xiàng)目,大部分來(lái)自于 B 站上的視頻。這就是互聯(lián)網(wǎng)帶給我們學(xué)習(xí)上的便利,但是再怎么便利,還是得自己去搜并且學(xué)起來(lái)才是真有用,而不是百度網(wǎng)盤(pán)下載了幾十 G 的學(xué)習(xí)資源就等于會(huì)了。第三,抓住了某 k12 公司的實(shí)習(xí)機(jī)會(huì)。他找的是前端開(kāi)發(fā),這個(gè)崗位相比后端開(kāi)發(fā)沒(méi)那么卷,而正好這家公司缺前端開(kāi)發(fā),于是就有了第一次在一家互聯(lián)網(wǎng)方向的公司實(shí)習(xí)。有了這段實(shí)習(xí)經(jīng)歷后,對(duì)于他后面在面試一線大廠的時(shí)候,起到了很關(guān)鍵的作用,因?yàn)楣究吹侥阌辛艘环輰?shí)習(xí)經(jīng)歷,證明你自學(xué)的知識(shí)能實(shí)際投入到工作中,也就不會(huì)在意你是文科生這個(gè)身份,畢竟程序員是以技術(shù)能力說(shuō)話的嘛。