前天晚上,鵝廠hr正式告知發放轉正的offer,我的秋招也暫時告一段落。
接下來都是前端視角。
0.找工作前的心態和期望
求職前要先確定自己對未來這份工作的一些期望。
作為一個在廣州某985上學的浙江人,對工作的期望地點基本就是鎖定在華南地區和江浙滬包郵區。事實上,過去半年多我投遞的確實都是這兩個地區,這也意味著放棄了帝都這個網際網路公司最多的地區,也對之後求職或多或少增加了難度。另外的期望其實不多,工資期望我是覺得中等水平就可以。不同的人對於工作有不同的期望,有人可能希望較高的薪酬,有人可能希望有大公司的穩定,當然也有許多人為了愛情圈定工作地點。
關於心態,找工作對時候我一直都有一個心態:要是真找不到,就回本校讀研。其實這個心態對找工作還有利有弊,一方面讓我可以有一個相對放鬆的心態,但另一方面又會懈怠。總之,調整好自己心態吧,別太大壓力,一時找不到工作也是正常。求職路漫漫,堅持到底便是勝利。
1.準備簡歷和麵試
對於前端來說,可以有很多種方式寫簡歷,html,ps生成jpg,markdown,word等等。哈哈哈我選了最懶最快的markdwon,其實形式不重要,關鍵在於內容。
簡歷最後最好生成pdf格式,以便在不同電腦上是相同的效果,頁數最好控制在兩頁之內。關鍵的資訊一定要放在前面,作為前端來說,應該把專案經歷以及你掌握的技能放在前面位置。當然你學校很棒成績很出色可以在開頭顯示,但別太長了 。專案經歷務必要突出你做了什麼最後的結果怎麼樣。技能啥的,務必謙虛點,不會的就別寫了,寫上去的技能要保證你一定會的,否則到頭來反而減分。==吐槽一點,為什麼現在的不同公司都要重新填寫簡歷,就很煩。
準備的話,我主要是準備計算機基礎知識,比如計網,作業系統等;因為是前端,演算法可能看的比較少,只會一些最基礎的。不過要注意的是,演算法題在某些廠的筆試當中還是十分重要的。另外就是整理之前的專案,有什麼難點和亮點。js和css基礎什麼的這些對於前端來說自然不用說了,這是根本,必須牢牢掌握。具體的面試在後面講。
最後說一下我認為的簡歷加分項:優秀的個人部落格和GitHub;豐富的專案經驗和實習經歷;開源社群活躍者。
2.海投
投簡歷目前無非幾種方式,校招直接投,內推投,leader直推等。
內推這兩年進入氾濫趨勢,以豬廠為例,內推那幾天牛客上內推碼滿天飛,因此內推遠遠沒有你想像的那麼美妙。
因為實習的時候較早拿到鵝廠offer後來並沒有繼續找實習。這裡總結一下秋招校招內推的情況。拼多多學霸批(拼多多似乎內推型別有點多),拿到口頭通過offer,尚未正式發放;金山wps內推免筆試,上週四一面;網易內推不免筆試,筆試掛(==程式設計題3ac都掛);美團內推可能免面試,沒免面試則參加筆試,相當於多一次校招機會,我那天實習工作實在太忙,需求沒寫完,放棄了筆試;滴滴內推不免筆試,聽認識的人說滴滴杭州hc很少,3ac的我再次gg;阿里內推直面,一面狀態不佳,掛。另外還投了招行信用卡中心和招行技術中心,這些都還在流程,都不免筆試。
leader直推需要緣分,剛好熟悉的師兄師姐所在組缺人,你又符合要求就可能可以直推leader。
正式校招的話就老老實實筆試,面試即可,相比之下,更需要耐心和等待。所以心態真的要好。正所謂,山重水複疑無路,柳暗花明又一村。
3.筆試和麵試
實習的時候只筆了美團和豬廠,加上秋招的這幾家,我大概總結一下。
接下來筆試都是指前端。美團筆試基本以前端題目為主;豬廠前端選擇和簡答題,另有程式設計題(可用js);滴滴的筆試,只想說真不負責,所有崗位一套卷,選擇題基本無前端題目,以至於前端卷出現機器學習,程式設計題可用js;阿里筆試挺不錯,全前端選擇題和簡答題,無程式設計題;騰訊我沒有參加筆試,據同學說,有前端題,但也比較多計算機基礎題,整體難度也不低。
面試,不同廠的面試風格不同。阿里算是所有廠中難度較高的一家,比如會問到react和redux等等原始碼的深入瞭解,也比較多喜歡問node,若有專案也會問比較深入,普通的CRUD專案面試官可能會瞧不上。
其實除了阿里,個人覺得其他廠都有一定的套路,基礎題大家在牛客網或者知乎掘金上搜一下各種面經把基礎題過一遍,應該就可以應付95%以上的題了,當然有些廠的有些組可能前後端不分離,因此會對一些後端直知識有要求。
至於專案,則需要深入瞭解自己所做的一部分,相比於業界有什麼優勢,自己在專案當中所產出的,遇到的困難和解決方案等。如果有專案,最好把面試官多停留在你的專案,問基礎題多少會問出漏洞,而專案則可以處於你的把控之中。
4.實習
大多數童鞋肯定都會在秋招前這個暑假實習。實習除了一些大佬之外,我們更多地可能熟悉流程 ,寫一些小需求和修復bug,有些公司是內部自己框架,那你可能還要花一段時間熟悉自己框架。講道理,這些對我們秋招的幫助並沒有那麼大。
而我們實習的時候,一般秋招就已經開始。接下來分類討論:如果你想在實習的公司轉正留任,那就好好幹活,當然除此之外你最好提前瞭解hc和轉正流程以及試探性地問導師或leader轉正可能性;如果你完全不想留,那就提前和leader等說明情況吧,好好準備筆試和麵試;當然也有人應該是想兩者兼有,既希望留任,也希望嘗試下其他公司,那就在做好本職工作的前提下,趁著中午或晚上時間好好準備秋招,這可能會很辛苦,但結果就是你將來有更多的選擇,不至於在一條路上走死。
這裡講一下我的實習經歷吧,我是3月底收到了鵝廠實習offer,6月底入職正式實習。比較崩潰的是,居然七月初有大廠已經開始校招了。也就是說,其實我開始實習的同時,校招已經開始了。最開始也沒有決定準備轉正還是好好校招,還是決定最開始一個月好好實習然後再抉擇。
實習確實比較辛苦,作為新人,一個完全陌生的環境,大廠相比又有複雜的工作流程,基本每週都是10106。我也不講具體坎坷的適應過程了,講幾點我學到的:主動交流溝通,要有良好的時間管理,一旦無法按進度完成任務必須要提前告知專案經歷或你的導師說明,有問題多問(無論是技術問題還是業務問題),沒有必要浪費時間在一些經驗主義的問題上(也就是你是因為不熟悉不知道才不會的)。
上述可能更多是職場適應,另外說說技術。很多時候我們都調侃,面試造輪子,工作擰螺絲。雖然作為實習生確實不可能造輪子,但是除了擰螺絲,我們還是會接觸到一些可以提升自己的工作的。我最開始主要是寫幾個小需求,比如修改一些互動,接入許可權控制等。不過後期也比較幸運地接手了一個內部運營系統,除了前端之外,也對node和mysql有了深入的使用和理解。自己可以多多和導師交流,有時候可以接觸一些更有意思的工作的。
5.方向
大多數前端童鞋應該都是寫頁面和前端邏輯等,但其實從阿里的前端校招崗位來看,分為web前端工程師,node工程師,資料視覺化工程師等。
因此除了傳統的web前端之外,也可以劍走偏鋒,選擇一些較少人的方向。比如資料視覺化這塊,阿里有挺多業務涉及這一塊,之前我認識的人即便簡歷一般,阿里視覺化那邊的組也發起面試,視覺化這塊目前是比較缺人。另外node是一塊完全可以深耕的領域,目前有些公司已經會單獨招node工程師(校招可能還比較少,社招相對多很多了)。
6.我的一些面試題
最後是一些我被問到的問題:
· 效能優化(幾乎每次必問);
· 快取;
· 如何一張張載入圖片(確保前一張載入完後一張再載入,和按需載入不一樣)
· 1+2!==3?
· 前端路由實現思路;
· node的sequelize的使用,orm和原生sql的對比;
· webpack的使用,webpack-dev-server熱載入更新的原理;
· webscoket的理解;
· 單向資料流;
· xhr的過程;
· react和redux的高階元件;
· 虛擬dom;
· immutable的資料;
· XX專案選擇react的原因(換而言之,也可以是選擇vue的原因);
· 你對redux的理解;
· react生命週期;
· redux-saga的理解;
· 實現一個promise;
· arrow function的this;
· redux中介軟體,以及與koa等中介軟體的區別;
· tcp和udp,http和https,tcp三次握手和四次揮手,程式和執行緒;
· cookie和localstroage,sessionstroage;
· 各種居中問題,flex佈局,position相關;
· 跨域;
· 排序演算法;
· 輸入一個url之後發生的;
· 瀏覽器渲染原理
· 事件機制;
· AMD UMD;
· mysql的left join,inner join,right join;
· mysql的索引;
· nginx相關的;
後續繼續補充...
因為題目較多且很多網上有答案,如果有人想要答案可評論留言題目,我週末有空會新增部分答案。
總體感受就是前端甚至網際網路從業者的基數越來越大,找工作不易。
最後祝各位好運,秋招加油!