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