文章目錄
- 前言
- 鑒黃路漫漫
- 畢業季迷惘
- 轉行不易
- 有點飄了
- 面試復盤一
- 重新審視
- 面試準備
- 簡歷
- 自我介紹
- 非技術能力
- 你有什么問題想問我嗎?
- 面試復盤二
- 筆試
- 初試
- 復試
- 終面
- HR
- 最后一啰嗦
前言
??最近兩個月比較忙,沒有寫文章,感覺尿尿都有點兒分叉了,
??本篇文章記錄一下自己畢業后的轉型程序和一些親測面試題,如果你也想轉行,不妨可以看看,我們有沒有共同點,
鑒黃路漫漫
??畢業后,我的第一份作業是視頻審核,也就是大家常說的鑒黃師,每天的作業就是看視頻,看各位up主上傳的視頻,
??乍一聽好像很爽哈,上班看視頻,這是多少摸魚人的夢想,真實情況呢是一個5分鐘左右的視頻,要在10秒內看完,而且要判斷,這個視頻有沒有侵權某些電影電視劇,有沒有什么不當言論,有沒有什么血腥暴力畫面,當然了,還得看看有沒有黃色資訊,
??一個標準的審核人員,一個小時的審核量需要達到300條以上,大家有興趣可以自己在家試試,一邊拖拽一邊看視頻,看三百條,
??作業呢是輪休制的,白班8個小時,到點就可以下班,兩個月會輪到一次夜班,晚上7點到第二天8點,休息一天后繼續上夜班,連續一個星期,
??作業大致就是這么樣個情況,夜班比較熬人,會導致生活不規律,起了好多痘痘(后來花了很久才養好,所以廣大青少年同學們,千萬不要熬夜),
??補充一點,大家應該比較感興趣作業的時候會不會遇到羞羞的視頻,我做了十個月,就碰見過一次,還是同事審到了發給我的,不過在被攔截的庫里,記錄著全部因為黃色被下的視頻,可以在夜班的時候偷偷看,

畢業季迷惘
??講一講當時是為什么選擇這份作業的吧,我上的是個二本計算機專業,大學期間平平無奇的度過,到畢業了,其實不知道自己要做什么,會做什么,能做什么,
??家里面希望我能回去,回去之后作業給安排好了(我父親的單位),房子給買好了(上大學前準備的),到時候再配輛車,直接躺平,
??但是當時總有種感覺,如果回去了,那這上的四年學就白費了,專業知識完全沒用到,好心疼這些年交的學費,,,
??況且當時談了個女朋友,這一回家肯定就黃了,天各一方了呀,所以決定不回家,要留下來闖蕩,前有國人稱霸華爾街,那我就來個稱霸賓水西道391號左拐胡同里第二間,
??決定好去留問題,那就開始投簡歷,首先做了個自己覺得還不錯的頁面,然后到公司去面試,結果人家問框架,不懂,問H5,CSS3,不懂,終于問了個我見過的問題, CSS 中 position 的 relative 和 absolute 有什么不同?我連比劃帶跳舞解釋了半天,結果面試官對我說,他們最重要的區別是是否脫離檔案流,
??基礎知識不牢,行業新技術又不會,面試面了個稀碎,眼看就要到被學校轟出去的日子了,趕緊先找個能養活自己的作業吧,還要啥自行車,
??然后也是經人介紹吧,來到這家做鑒黃師,面試程序還是比較順利的,會問對審核作業怎么看,我當時回答的很中二,說這個崗位是維護國家安全的一部分,把控著安全紅線,有凈化網路環境的任務,是一份需要極強責任心的職業,要清楚明白什么事情能做,什么不能做,
??另外關于血腥暴力,還有夜班的問題,一定要說能接受,還有就是會考察一下穩定性,可以說自己就在公司附近租房,通勤比較方便,希望可以長久的在這里作業學習之類的,
??面試通過后會先培訓,告訴你涉及到哪些問題的時候必須慎重,外國的某些組織一定要全面封殺等等之類的,審核的時候千萬不能把這些東西放過去,是很嚴重的事情,
??還有在一些特殊的日子里,某些組織格外活躍,要仔細一點,其他的就沒什么了,
轉行不易
??我剛做鑒黃師的時候,其實也挺迷茫的,自己要不要轉行,之前面試都沒人要,過一段時間后也不是應屆生了,又沒有相關開發經驗,豈不是更沒人要了,
??我問了自己一個問題,難道以后一輩子都要審核視頻嗎?
??下定決心,再難也要轉行,當初是為了不丟專業才留下來的,沒道理現在松懈下去,
??于是我開始各種學習,剛畢業也沒什么錢,就找免費的視頻看,然后在淘寶花了二十幾塊錢,買了前端學習資料,猛學,現在想想,這可能是我在學習上花的最值的一筆錢了,投入產出比極高,
??說一下我是如何安排時間的,白天上班正常作業,下午五點半下班,由于住的比較近,走路回家5分鐘,晚飯自己做,連吃飯帶收拾到7點開始學習,
??由于我的基礎比較差,看視頻的接受程度能高一點,所以跟著視頻,邊看邊做到12點,洗漱休息,初次接觸某個技術堆疊,也建議選擇個視頻來看看,不用非得學的多好,主要是讓自己對這個東西有個概念,
??我的觀點,任何技術堆疊,沒有學會了,只有會學了,
??怎么判斷自己是不是會學了,我的做法是,當我熟悉某個框架,在看到一些沒見過的編碼方式時,我不會害怕,不會有畏難的心里,而是根據特性,能準確的搜索到我需要的答案的時候,那么就達到了,
??不上班休息的時候,也放松一下,上午半天,下午半天,安排不同的技術堆疊,晚上就刷刷手機,早點休息,
??這樣持續了半年,我開始再一次的投簡歷,準備好跳槽了,最開始投了幾家,也都石沉大海了,不過突然有一天,有家公司主動找到我,說在網上看到我的簡歷,問要不要試試,
??下雨天打孩子,閑著也是閑著,就試試唄,經過筆試,初試,復試,HR,最終面,順利上岸,
??估計是當時運氣比較好,這家公司在我作業的城市剛成立分公司,急需大量人員,所以初試復試,基本沒問什么技術問題,最終面有個問題比較有意思,問你覺得自己的優點和缺點分別是什么,
??我的回答,優點是我很自律,每天下班后還會學習5個小時,而且一直堅持,缺點是我畢業快一年了,沒有做前端作業,比別人少一年的作業經驗,這些時間是我永遠也補不回來的,所以我每天都不敢松懈,一定要比別人更努力,
??大家注意哈,敲黑板,面試官在問你缺點的時候,不是想知道你放屁打嗝摳腳這些臭毛病,而你有什么缺點也不能真的說出來,你說的每一個字都是在為你爭取這個崗位而服務的,
??上面回答,“時間補不回來”,確實是我相比于別人的缺點,重點是我清楚的認識到了這個問題,進而轉化成不斷鞭策我的動力,那這個缺點就會轉瞬變成優點,
??還有就是期望薪資的問題了,我是剛轉型,沒報什么期望,說能給我 3k 我就來,
??最后定了 8k,做鑒黃師的時候是不到 5k,對我來說已經是很大的提升了,
??所以各位,轉行的另一個動力,鞭策自己也有一部分是錢的原因,能多掙一點還是很開心的,
有點飄了
??新公司學到的都是新東西,對于極度渴望技術的我來說,如魚得水,作業前半年時間,瘋狂的汲取各種技巧,觀察公司大佬們的代碼,琢磨其中的寓意,雖然沒有作業經驗,但是抗壓那段時間,把我的基礎壓的非常瓷實,任何上層邏輯,都是從底層沿伸出來的,如果你打的扎實,那么可以很容易理解這么做的原因,從而也很容易學習,
??這好像就是學霸們學什么都那么輕松的原因吧,因為知識的形成和他們的認知是完全符合的,自然而然就會合并到一起,
??入職滿一年了的時候,開始飄了,我對日常作業已經信手拈來了,潛意識都有點覺得已經是大佬了,膨脹的不行,然后我去面了阿里,
??慘不忍睹,仿佛回到了畢業時那種一問三不知的狀態,
??先問我 npm 的原理,(我會用但是不知道,,,)
??然后問webpack性能優化,(這東西配好了就不怎么動了,也不是很了解)
??React hook實作原理,(hook是什么?我是誰?我在哪?我想回家😭)
??最近在看什么書,(我最近沒在看書,,也不能愣說有,,)
??平時喜歡用什么方式學習,(看視頻多一點)
??我所認知的瘋狂吸入,只是在熟悉公司編碼模式下的日常作業而已,脫離了公司專案,我啥也不是,
面試復盤一
??復盤一下當時的一些問題,
??- 關于 npm 和 webpack 面試官想考察的是是否對平時作業的使用的工具有所了解,是否知道這些工具為什么會出現,自己能不能做一些這樣的工具,提高開發效率,工具的實作模式,能不能借鑒,
??- 關于 hook ,由于當時是2020年3月份,hook 剛出來半年左右,是比較火的概念,面試官想考察的是事實否關注行業新技術,了解程度如何,如果讓你實作,你會怎么做,不過在現在看來,問 hook 只是為了了解你對于 react 的掌握程度,
??- 關于最近在看什么書,可能是前面問一個不會問一個不會,又不好意思直接問你會啥?這樣比較委婉吧,希望我介紹下自己熟悉的技術堆疊,熟悉到什么程度,
??- 關于喜歡用什么方式學習,這個則是看你有沒有持續學習的習慣,以及知識學習的速度,我建議,要分層次回答,比如我在遇到一個完全沒有接觸過的技術堆疊時,會先找幾個入門視頻看,對整體的概念有個了結,熟悉用法,特性,能做什么,在那些地方優化比較好,
??對于我比較熟悉的技術堆疊,為了吃透深入理解實作原理,我會找幾本書,從不同角度查看一下前輩們是怎么深入的,
??另外對于新技術的出現,我會關注一些公眾號,當有一些社區火熱技術堆疊出新的大版本時,去官網查看一下特性說明,順便把原始碼拉下來,自己跑一跑,
??最后經過對某項技術的學習后,我會寫一篇技術博客,把學到的內容,講述并記錄出來,與社區的小伙伴碰撞一些火花,
??這樣一套學習程序,沒有幾個面試官會不滿意的,
??所以各位,如果你不知道怎么學習,可以借鑒一下我的方法,尤其是寫博客,很有用,因為在面試的時候,可以把博客放上去,很能體現產出,
重新審視
??面試最后面試官問了我一個問題,你打算一輩子當個渲染資料的呀?
??這句話讓我重新落地了,之前是太飄了,學的東西只是會用,但是不知道為什么這樣做,
??瘋狂吸入之后必須的程序就是沉淀了,這個程序其實是比較熬人的,你需要去思考,為什么要這樣做,解決什么問題,帶來什么問題,是不是符合預期效果,如果時間拉長,這樣做有沒有隱患,
??這些問題網上搜不到答案,只能多溝通,多交流,多實踐,最好能有血的教訓,比如我之前發現個記憶體泄漏問題,排查了好幾期,問題單回歸了兩次,都沒通過,
??好處就是那次經歷讓我接觸到了 React 原始碼,開啟了另一次的瘋狂吸入,
??同時我開始寫博客,記錄下學習內容,然后根據學習情況,總結出提升的部分,我沉淀下來的東西,
??作業學習,不耽誤,作業也可以成為學習的一部分,第一次面試失利后,我開啟了瘋狂寫博客的模式,
??作業中遇到的坑,把解決方法和程序記錄下來,
??看一本書,把書中與我有共鳴的知識點記錄下來,
??另外就是多看面試題,自己嘗試解答一下,然后再搜其他人的解答,綜合整理,記錄下來,
??某個新技術發布的新特性,記錄下來,
??只要是能記錄的,都記下來,把博客當作自己的筆記本,遇到同樣的問題時候還能快速查看,
??這樣我又準備了一年時間,決定再戰阿里,
面試準備
簡歷
??面試前要做一些必要的準備,第一是簡歷,這里面專案經驗是重中之重,
??面試官會先從你的專案經驗里篩選他想要的資訊,所以怎么寫簡歷,很重要,非常重要,
??最普通的寫法:
??某某專案
??所使用到的技術:React,Hooks,redux,TypeScript
??專案介紹:該專案是針對XX的管理系統,實作對XX增加,洗掉,修改,查看功能,
??上面這種寫法,多少人中過,舉個抓🙋?♂?,篩選肯定不會給過,
??一份簡歷最重要的是推銷自己,上面這個專案跟你完全沒關系,放任何一個人都可以,那就完全沒吧自己推銷出去,
??第二種稍微好一點的:
??某某專案
??所使用到的技術:React,Hooks,redux,TypeScript
??專案介紹:該專案是針對XX的管理系統,實作對XX增加,洗掉,修改,查看功能,負責我負責的內容根據UI提供的設計圖,完成頁面布局,實作和后端的資料互動,接收到資料后完成頁面渲染,
??這個提了自己完成的作業了,但只能過一面,二面就會卡下來,
??問題在于大家不能把自己當成一名前端開發,甚至不能把自己當成開發,
??我們捋一捋,公司招聘,是為了賺錢,那只有做出能賺錢的專案后,招的人才有意義對不對,你如果想讓面試官中意,那就得告訴他,招我能給你賺錢,怎么證明呢?
??這個時候,就需要簡歷體現了,可以寫在專案中,推動前后端引數定義,協調聯調方案,使專案提前上線,
??高級一點還可以寫開發某工具,解決路由配置問題,提升前端開發效率,
??更高級一點可以寫,結合某開源專案,搭建一套快速渲染引擎,提升渲染速度30%,
??給大家個模版:
??在某某專案中的作業
??1.負責前端頁面的技術選型,功能預調研,根據基礎功能劃分開發模塊,搭建 redux 資料傳輸框架,動態配置 react-router 路由入口,
??2.結合微前端思想,提出模塊間微架構模式,封裝微架構API,結合設計模式改善模塊間耦合性,提高開發效率,
??3.針對專案特性配置 webpack ,優化開發和生產環境的打包性能,
??4.處理 node_modules 賴庫兼容問題,熟悉 react17,antd4,webpack5 新特性,
??終極思想是要告訴面試官,專案阻塞,我能推動,專案開發,我能提效,專案完成,我能總結復盤,
自我介紹
??面試的程序也是查看你溝通能力的程序,這一點可以先多面幾家小公司,多面一些,一方面積累面試題,一方面緩解自己的緊張,如果問題你都會,但是因為緊張忘了,也是很遺憾的事,
??做到這一點,就必須要求對每一次面試做復盤,尤其是自我介紹,把自己的自我介紹控制在 3-5 分鐘左右,寫一個稿子,面完一次修改一次,
??首先介紹自己的姓名,畢業學校,所學專業,作業年限,
??這里一定要簡單明了,
??然后介紹一下自己的作業內容,分不同的方面,比如專案初期,會進行方案評審,技術選型;中期開發會搭建開發框架,配置路由入口;后期會針對專案特性,修改打包配置,提升專案性能,
??如果有亮點也可以在這里引申一下,比如有專利的話,可以說在作業中發現某一問題,針對這個問題寫了個解決演算法,申請了專利,
??這里給大家個模版:
?? 面試官您好,我叫 xxx 畢業于 xxx 大學,現在有 x 年的開發經驗,
?? 我的主要作業內容是作為專案負責人,負責專案的開發與跟進,
?? 當有新的專案時,我首先會與產品確認具體功能,梳理出現有基礎庫不支持的特性,針對這些新功能,完成技術選型,并評估出開發周期,
?? 開發前,會與后端同事提前確定好資料結構,并確定好聯調時間與介面優先級,
?? 開發前期,我會搭建此次除錯環境,配置前端路由,搭建狀態管理框架,用到的技術堆疊是React-router,Redux,
?? 中期程序中我會定時打包專案,保證服務端與本地效果一致,用到的技術堆疊是Webpack,并根據專案特性,進行打包性能優化,
?? 專案后期,我會書寫測驗用例,重新搭建上線環境,部署服務端配套的相關服務器,
?? 整個專案期間,我也會對開發程序中遇到的問題進行思考與總結,比如我的簡歷中有一個 xx 專案,上線后反饋了一個問題,當時的解決方法是修改配置,進行規避,我思考后從 xx 方向進行了設計,解決了問題,并升級了該模塊的一鍵配置功能,優化組件使用,
?? 具體的解決方案我總結到了博客中,可以在博客中搜 xx ,
?? 這些就是我的主要作業內容,
??自我介紹期的程序,是為數不多的我們能占主導的時段,可以引導面試官往自己熟悉的領域靠攏,這很重要哈,
??自我介紹結束后,面試官會根據你的簡歷,和你的介紹,提一些問題,技術問題就做對應回答就行,不清楚的可以說沒了解過,硬湊答案第一肯定湊不齊,第二給面試官的體驗也不好,
非技術能力
??另外技術問題問的差不多了之后,面試官會問一些技術性不強的問題,這是在考察你的溝通能力,應變能力與抗壓能力,下面有一些比較常見的問法,可以做一些針對性的總結,
?? 當問你,如果有一個需求,前端后端都能做的時候,交給誰做?
??對應回答:需要從投入產出比方向來進行評估,對于專案來說,誰做更符合專案需要,方便后續功能升級,或是如果存在需求變更,哪部分做代價更小,
??另一方面,排期問題,要結合考慮前后端人力問題,若一方存在人力不足,那另一方可以承接部分功能,保證專案及時交付,
??(這一點可說可不說)某個需求幫了兄弟組的同事時,可以及時知會領導,在其他部分爭取一些小組利益,
?? 當問,如果測驗同事說頁面卡頓時,希望優化,怎么辦?
??回答這個問題,最忌諱說,我看一下代碼里面有沒有什么可以優化的地方,這個問題的目的是檢查你能否有效推動阻塞,
??我們先要明白一點,測驗只負責測驗程式,他們的大部分操作都是基于界面的,所以遇到問題基本都是找前端同學,這就需要我們摘掉自己前端的標簽,我們需要做的是讓問題浮出來,
??回答模版,我會找到測驗同學,記錄一下具體的復現程序,首先排查是否是網路問題,觀察一下各個介面回傳時間是否正常,
??結合開發者工具的 Memory 和 Performance 面板,查看整個頁面渲染程序的時間消耗,
??還可以查看下是否是測驗設備的原因,其他環境是否存在相同問題,
??這個時候如果擴展到一些相關的實作的具體方案,可以準備一兩個,提一下,不用細說,
你有什么問題想問我嗎?
??如果面試官問到這個問題,一定不能說沒有,這個問題會反映出你是否有強烈意愿加入這家公司?
??同時如果回答的好,還能彌補一些前面技術問題的缺失,
??你可以問,公司的技術堆疊,主要負責的業務,你入職的話需要開發的模塊(這些問題可以反映出,你很希望了解公司,了解作業內容)
??另外可以問面試官會通過哪些方法學習,可以這么說:“我平常學習,都是 xxx(詳情請看上面“面試復盤”) ,我想請問一下您平時是怎么學習的,想借鑒一些高效方法,”(這個問題可以暗示你是一個喜歡學習的boy)
??第三個問題,可以問從面試官的角度來看,自己對于要面試的崗位,還有那些不足需要提高,
??基本上三個問題就可以了,多了也會顯得啰嗦,這樣一套下來面試程序可以說是很充實了,
面試復盤二
??入職阿里前,我面了很多大廠,就他們都喜歡問的一些問題,做個總結,
筆試
??筆試題里面出現頻率比較高的如下:
?? 手寫一個Promise,這個問題考察的是發布訂閱模式 ,
?? 深拷貝,樹的渲染,這些問題是考察遞回用法 ,
?? 手寫 useState, useEffect,這是考察對 hook 原理的理解 ,
??有些大廠會考演算法題,面之前可以在力扣刷一些簡單難度的題,前端崗不會考的太難,刷一百道就穩過了,
初試
??初試喜歡問的問題:
?? Hook 的實作原理 ,可以從 react16 升級了框架,從同步執行變成了可中斷的異步執行說起,
?? 瀏覽器在輸入 url 后,發生了什么 ,可以查看這篇博客
- 輸入 URL 之后,瀏覽器背著我們都做了什么事?
?? Webpack的性能優化都有哪些方面?
- WebPack打包性能優化
?? 前端性能如何優化?
- 前端性能優化
復試
??復式的問題大部分都是跟專案相關,
?? 你熟悉的設計模式都有哪些?在你的專案中有什么運用?
??舉個例子,比如裝飾器模式,你在某個需求里,由于修改部分比較復雜,你使用了裝飾器,在不改變其內部邏輯的情況下,增加了需求,
??平時在開發中,自己也會給一些函式封裝 before/after 讓函式執行前后先執行 before/after ,
?? 你做過哪些作業可以提升開發效率?
??這是在考察你,是不是只是寫業務,有沒有脫離業務的思考,
??可以回答自己結合某個開源專案,封裝了什么工具,提升了哪些性能,解決專案中的哪些痛點,
??復試一般很喜歡給你一個場景,讓你去解決一個功能,具體實作可以不談,但是要把這個場景分析的全面一點,
??比如首頁加載慢的問題,千萬記住,別把自己當前端,要把自己當成這個問題的解決者,
終面
??能到這一面,說明你的技術水平是沒有問題的,這一面問的比較多的是你的產出,
?? 做過哪些能提效的事情?技術落地怎么提現?怎么證明你的技術運用到位?
??這里需要你結合自己的專案,要通過專案體現出技術,最好能能貢獻一些開源代碼,對這一輪面試很有幫助,
??還可能會問, 至今為止遇到過最大的挑戰是什么?
??一定要分階段回答,這個困難怎么出現,如何解決的,解決后如何復盤,可不可以開發某個工具避免再次出現,
??另外終面很肯能會壓力面試,比如問你, 你看的這些原始碼,在業務中能用到嗎?
??一般業務都會不涉及修改原始碼的,這個代價太大,所以回答不會用到,但是不能只回答不能,還要加上,雖然開發中運用不到,但是學習原始碼的程序不是簡單的學習原理,而是要明白道理,這些大佬在解決問題時的思路,能不能運用到自己的業務中,
??這些才是學習過后,能叫做沉淀的東西,
HR
??到達這一階段,別說一些白扯訓,基本沒什么問題了,但是對于一些硬傷的問題,比如跳槽過多,一定要合理解釋,
??另外這里 HR 可能會側面問一些隱形問題,比如你現在的 作業加班情況 怎么樣,建議往多說一點,這個時候 HR 會說,那也是挺辛苦的,這個時候如果你是順著接,是挺辛苦的之類的,那么印象可能會不好,
??你需要回答,專案需要,產品對外答復好交付時間了,就要如期完成,一能提高公司形象,二總結經驗,更精細化以后的評估,
??雖然有點不情愿吧,但是注意,各位最后的目的是入職成功,你說的每一個字都是為了幫你入職用的,
??當然了,如果你的技術牛批,那上面全是廢話,
最后一啰嗦
??從鑒黃師到阿里前端,現在看好像跨度挺大的,會不會吃很多苦?
??我個人覺得,那屬于認真生活,能感受到自己在成長,未來可期的感覺不叫苦,
??唯一比較遺憾的吧,是當初為了她留下來,最終卻沒能在一起,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/289357.html
標籤:其他
