三年前端,面試思考(二)

小魚二發表於2018-11-06

為什麼還有(二)

沒有想到上一篇 《三年前端,面試思考》 有這麼多前端同學看到。 在評論區也有很多鼓勵和質疑的聲音,而且群裡面交流的同學兩天就達到了700人。

群裡有同學問了很多問題,同時希望我再分享一些面試技巧,在這篇文章中我也一併梳理出來。

相關面試題解答 《100*100的 canvas 佔多少記憶體?》

反饋和解答

先來看看掘金評論區有哪些反饋 :D

  • 三年多經驗本科本身就很難拿到 p7 吧?

p6,p7 是個坎。我理解的 p7-技術專家,在某些領域需要有一定沉澱或者具有很強的綜合能力,具有推動事情落地的能力。

在我接觸過的朋友中,有三年到p7的,也有工作10年到p7的。 其中三年就能到p7的朋友在 React Native 中有很深的造詣,出過很出名的技術書籍。

至於p6,則是可以獨當一面,完成核心工作。正常情況下,一個團隊的主要開發者應該都屬於這個級別,朋友當中也不乏工作剛剛一年就拿到 p6 offer 的。

所以職級這件事,自身定位要清楚不妄自尊大也不妄自菲薄就好。

如果對於評級的標準想要專業解答,可以諮詢群裡的獵頭(獵頭小玉)~

  • 對 React 和 Vue 瞭解較少,能 p6?

不做過多評價,首先了解少不代表我真的不懂 React Vue, 只是面試是用來發現面試者亮點的過程,實在不明白為什麼要去暴露自己明顯的短板,一般情況下我都會如實告訴面試官我對於樣式、React Vue 瞭解不多。這樣就可以把時間放在我擅長的領域了呀。可以把 ng1 玩的很溜不也是一種學習能力的體現麼?

這裡援引一位朋友的評價:

看重點,1. 非常願意參與到產品中去,2. 獨自負責過很複雜的前端專案,3. 過往的創業經歷鍛鍊了他的溝通表達與業務理解能力。這是核心競爭力,到這個薪資水平,技術水平佔的位置已經不重要了,產品能力,帶隊能力,表達能力,理解能力,任何一個都比技術重要

如果對於評級的標準想要專業解答,可以諮詢群裡的獵頭~

  • 和大佬的經歷非常相似,應該都是15年畢業的,同工作三年半,211,但是和大佬相比明顯差很多。

和別人比較是最沒有意義的一件事情。通過努力比以往的自己更優秀就可以了~

  • 前端base這麼高嗎?後臺哭暈在廁所

其他崗位大可不必這樣想,薪資永遠都是價值交換,能為公司帶來什麼樣的價值才有可能什麼樣的薪水。

  • 質疑薪資以及不友善

一開始的時候暴露了 offer 的大致區間,招來了很多質疑。為了避免不必要的尷尬很快就刪除了相關內容。

對於薪資的比較,我非常能理解,因為同樣的工作年限,舉例,1年,有朋友 10w+,另外一個例子,985本碩,前端,工作一年,跳槽,從 30w+ 到 50w+。還是那句話,薪資永遠都是價值交換

當然舉例子的意思並不是要嫌貧愛富,掙得多就了不起(薪資永遠都是比上不足比下有餘),例子是說,對於別人的薪資沒有必要說三道四,如果身邊有非常高薪資的朋友,應該去請教他們的是如何面試,如何準備,以至於如何工作,如何學習。心態要擺正。

而且職級之間的薪資是有很大重疊的,很有可能 p6 比 p7 高,這應該是一個薪酬設計的常識。(而且還有一個可怕的詞:薪資倒掛。)

薪資水平不僅僅反應技術人員的專業技術能力,還有非常多的軟素質。

交流群中的問題合集

  • 前端面試中沒有大型專案怎麼辦?

專案經歷問題。

  • 被面試官說基礎差。基礎這東西不知道怎麼去補。

基礎知識問題。

  • 自學的前端,第一次面試怎麼去講專案啊

專案經歷問題。

  • 現在遇到個瓶頸,就是各種基礎知識,散知識感覺都瞭解的差不多了,但是無法結合起來思考。一個面試題,可能拆開裡面的知識點都知道,但是無法整體聯絡起來。有啥建議麼?

知識融會貫通。

  • 群主您好。我工作3年,普通本科。但是前端工作經驗 只有一年半多(對外宣稱3年)。之前一直是在小公司。所以跳槽也比較頻繁,基礎也比較薄弱。現在在補一些基礎。但是感覺還是遇到瓶頸了。想去中大公司,可能要求又達不到。小公司感覺對技術成長又不太好,而且工資容易遇瓶頸。一直想試一試去箇中大公司,但是還是很糾結。小公司和中型公司在我這中階段 我改怎麼選擇,又改怎麼向他們靠近。

基礎知識問題+知識融會貫通。

  • 比較想知道群主平時如何系統前端,以及周邊技術棧,面試官更看重求職者哪塊能力,面試大廠應該具備哪些能力。

知識融匯貫通。

以上問題可以大致劃分成

  • 如何夯實基礎知識
  • 技術如何融會貫通
  • 如何豐富專案經歷

首先,基礎知識點重要性再怎麼強調都不為過,就像高中對於函式基本性質理解不到位,數學的學習會折磨整個高中生涯;物理受力分析掌握不好,基本上就可以和物理說拜拜了。

對於基礎知識:多看書,多 coding,多總結,無他。

多看書

哪些書? 前端開發工程師必讀書籍有哪些值得推薦?

我自己比較推薦 《JavaScript高階程式設計》 《You-Dont-Know-JS》 系列 《JavaScript忍者祕籍》

很多同學說基礎不牢怎麼辦,其實我們心中早已知道答案——惡補基礎。

我在工作的前半年內,差不多就把 《JavaScript高階程式設計》看了三遍左右,一開始的確實什麼閉包,原型鏈等非常不理解,但是這些都是基礎知識嘛,只能硬著頭皮去讀。那時候由於工作的原因,剛剛接觸 angularjs,大家也知道 angularjs 的學習曲線非常陡峭,service 的幾種方式, directive 如何寫等都非常難理解。只能在工作之餘找書來看,我記得《AngularJS權威教程》《 AngularJS深度剖析與最佳實踐》也是看了很多遍。

羅列一些我自己看過的書 我讀過的書 (不過有些是非技術書籍)

這裡我也推薦一個好朋友-老姚,大家可以看看他寫的前端學習經驗,他也在前端面試群中,有問題大家也可以向他提問。

《前端網老姚淺談:怎麼學JavaScript?》

《前端網老姚:那些年我看的前端書籍》

通過上面的例子是想說明,夯實基礎不是一句簡單的話,就像老姚,看過的前端書籍就不下百本,這點我也是自嘆不如。

總之,基礎是我們進行業務開發的工具,在業務開發過程中都是在解決一個一個的具體問題,這個時候基礎知識不過關,對於閉包等概念理解不清楚,在理解業務層次問題的時候再去應付這樣細枝末節的技術問題肯定會導致研發週期變長,在不同層次上思考問題,肯定會一團漿糊嘛。

磨刀不誤砍柴工,多看書,多 coding!

多總結、多分享

總結分享的形式有很多,比如寫部落格,在自己的團隊做技術分享等, 這裡分享一個我前同事的部落格,他工作只有一年半,目前在頭條,可以看看他平常寫的文章是什麼水平。 10081677wc/blog。這位同學也在面試群中 :D

這個是 老姚的部落格

老姚寫的正規表示式教程正規表示式系列總結

通過上面的例子,大家可以發現,這些基礎知識紮實的同學也是在一個概念一個概念的深入研究,慢慢的才能有輸出。並且在輸出過程中也是一次在學習,同樣的也會鞏固自己的基礎知識。

記得我在公司內部組織過前端技術分享會,會每週分享一些工作中碰到的技術問題和解決思路。

我們在平常的開發過程中,肯定會碰到很多技術問題,在尋找和討論解決方案的時候就伴隨著很多思考,應該把解決問題的過程記錄下來,這些都是技術分享非常好的素材。

如果是個通用的問題,那麼舉一反三,就可以寫成一個小的主題來進行分享。這個是我之前在公司做的關於如何使用 gulp 的分享。和我一起學Gulp

這樣既保證了和平常業務的貼合,也可以對具體的問題深度瞭解,還能和同伴分享,增加在團隊中的影響力,如果還能寫成文章,發表到 github、掘金等,也能提高在業界的知名度~ 何樂而不為呢?

而且很重要的是,一旦決定要做技術分享了,心態上也會發生轉變,自己必然會專心的面對,從資料蒐集篩選、demo 建立,到模擬分享 真實分享,大家提問自己再進行講解,團隊討論,最後成文發表,和讀者討論再修改等。

一套流程下來,長期以往,各個方面的能力都會得到顯著的提升:包括資料蒐集、篩選的能力,組織成文的能力、演講能力、講解能力、社群知名度等等等等,總之,大有裨益!

知識技能的融會貫通+專案經歷

對於知識技能的融會貫通和專案經歷的積累,很多同學會講,很多前端『高階』知識其實也用不到,自己很多概念僅僅是瞭解,總是不知道如何使用,自己沒有複雜的專案可以展示。

事實上真的如此麼?

舉個簡單的例子,我們學習 Vue 和 React 框架的時候,經常用 to-do-list 這個專案來練手。

我們想想這個專案除了來了解框架基本知識之外,還有什麼可以考慮?

  • 專案目錄結構為何是現在這個樣子,每個部分的含義是什麼樣的?
  • 業務程式碼是如何組織的?當業務複雜的時候,這樣組織還可以麼?
  • 工程化是如何做的?
  • 構建流程是怎麼樣的?對於構建工具瞭解麼?
  • 上線流程是怎麼樣的?
  • 本地開發和部署有什麼區別?
  • git 使用規範是怎麼樣的?怎麼做好分支管理?
  • 怎麼做好團隊協作?
  • 前後端如何分工的?如何聯調的?跨域如何做?
  • 產品功能是如何產生的?你在其中的角色是怎麼樣的?
  • 你們的研發流程是怎麼樣的?
  • 如果增加一個搜尋框,如何解決快速輸入導致頻繁發起 ajax 請求的問題?
  • 這個專案有哪些技術上的難點?
  • 動畫的實現方案有哪些?有哪些動畫優化的方案?
  • 效能優化有哪些?
  • 使用者鍵入不安全的內容怎麼辦?常見的安全問題有哪些?
  • 經典面試題『某上海客戶說,他的 h5 頁面打不開,你如何解決這個問題?』

當然這篇文章肯定是不會解決這些問題的,我想說的是,麻雀雖小五臟俱全,每一個產品在開發的時候都有諸多的問題,有業務上的,有產品上的,有團隊上的,有技術上的,每一個問題都有我們研發人員可以參與改進的地方。面對這些具體的問題,如果怕自己積極參與,知識技能還不能融會貫通麼,專案的經歷還能不豐富麼?

我之前的一位同事,曾經在離職找工作的時候找我輔導,幾輪面試下來向我感慨:『如果當時那些工作我自己也能主動參與就好了,這樣回過頭來看自己真的沒有做過特別複雜的功能。不像你,都是在搶活幹,當初很不理解,現在終於知道專案經歷和自己的能力都是這樣一點一點積累出來的。』

對於我們這些1-3年工作經歷的前端,如何才能在同齡人中脫穎而出呢?只有踏實的基本功,加上豐富的實戰經驗。換位思考一下,如果你是面試官,面前的同學不光是對於基礎知識掌握的好,業務不糊弄,主動挑戰複雜業務,還能給團隊的成員進行技術講解,大家碰到問題都會想到你,這樣的同事,有誰會不喜歡呢?

其他問題

『入職兩月想跳槽 怎麼成功應聘上。兩個月總感覺被開除一樣。』

『群主我想聽聽你入職後的自我提升上的時間安排,平時工作時候怎麼處理的,能夠儘快提升自己。』

『工作經常加班,專案緊急,這種情況怎麼和自我學習計劃相協調。』

這些可以劃分成

  • 自我管理
  • 面試求職
  • 軟技能等

內容較多,我們下次再聊!

招人

三年前端,面試思考(二)

螞蟻金服-微貸事業群招前端 可以發簡歷到 yanqi.zyq@antfin.com 郵件標題:簡歷-姓名-前端 附上你的簡歷

加群交流

歡迎同學加入『前端技術交流群』,加下面兩個同學的微信(不用重複加),回覆『小魚二前端』即可進群。

三年前端,面試思考(二)

三年前端,面試思考(二)

相關文章