5年前端技術官告訴你初級前端該如何準備技術面試

面試分爲三部分

  • 技術面試:問技術問題。
  • 負責人面試:考察綜合能力。好比:項目把控能力、項目深度、項目架構、業務等。
  • hr 面試:側重於性格、溝通、潛力等。

每輪面試在一小時左右。css

每輪面試的知識點

一面:前端

主要考察基礎知識。
  • 頁面佈局
  • CSS盒模型、DOM事件
  • HTTP 協議、原型鏈
  • 面向對象、通訊
  • 前端安全、算法

二面:vue

  • 渲染機制
  • JS 運行機制
  • 頁面性能
  • 錯誤監控

三面:webpack

再也不關注技術層面。
  • 業務能力
  • 團隊協做能力

終面:git

  • 職業競爭力
  • 職業規劃

面試成功須要:技術過關、面試技巧等。程序員

校招和社招各自看中的層面

校招:github

  • 知識:40%
  • 能力:59%
  • 經驗:1%

社招:web

  • 知識:30%。好比協議、業務的認知程度。
  • 能力:50%。好比架構、業務的抽象能力、項目的把控能力。
  • 經驗:20%。項目的體現。

以上僅供參考。面試

面試準備

面試準備包括如下四個部分:算法

  • 職位描述(JD)的分析
  • 業務分析
  • 技術棧準備
  • 自我介紹

每一個公司又有一套成熟的技術棧。好比在構建工具上,百度用 fis三、美團用 Gulp。

你要面哪一個公司,要先看看對方要求的技術棧。

上面四個部分,咱們接下來詳細介紹。

1、(JD)的分析

介紹

概念:

  • 職位描述:注重的是工做職責。
  • 任職要求:要求的是工做能力。一般描述得很細緻。

PS:前端的知識龐大,不可能全部的內容都準備好,可是要向「任職要求」靠攏。

分析職位描述(JD)的目的是:

  • 快速識別出這個崗位是不是本身喜歡的、想要的。
  • 目前的技能是否能勝任崗位的要求。短時間內的準備可否勝任。

舉例:京東 web 前端的職位描述

以下:

職位描述:

(1)面試時,會同時考慮到 PC 端和移動端兩個部分。

(2)App H5開發指的是兩層意思:

  • Hybrid 技術棧。
  • 純 H5 開發。和 native 開發沒有關係,好比活動、專題。

(3)調試數據接口:要學習一下怎麼模擬數據。

(4)前端組件庫的創建:要求較高但很是重要。體如今:

  • 基本功要紮實,原生 js、css的理解要到位。
  • 以前有沒有前端組件庫相關的項目經驗
  • 是否通讀過其餘的 UI 組件庫。

(5)優化與重構:難度比第四條更大。

PS:前三條是基本知識,第四條、第五條屬於進階。

任職要求:

(1)3年以上工做經驗:不要太較真工做年限。精通 H5 特性:說明公司很看重移動端。瞭解H5最新規範:貴公司但願我對新技術是有追求的,好比ES6等。

(2)要求咱們對面向對象部分有足夠的瞭解。組件化的編程也離不開面向對象。

(3)體現了幾點:

  • 熟悉 Web 標準:熟悉最新的標準便可。
  • 表現與數據分離:MVC框架。
  • 語義化:這個詞千萬不要忽視。不是什麼都用 div。
  • 實際經驗:利用框架開發的過程當中,遇到過哪些問題?沒有實際經驗的話,也要提早準備幾個問題。

(4)如下幾點:

  • 前端架構分析與設計...:說明此崗位並不面對初級崗位。由於工做一至兩年的人,大部分都是作業務開發,缺乏系統的架構能力

咱們要準備一個項目的架構(好比公司現有的項目)從新梳理,包含:目錄結構的設計、複用性設計、模塊化設計、自動化測試、上線流是什麼。

  • 易讀、易維護的代碼:面試過程當中必定會讓你寫代碼,來體現。要求;每一個函數的功能要單1、能抽象儘可能抽象。符合這兩個原則,基本就知足了「易讀、易維護」。
  • 高質量、高效率的代碼,短期內很差準備。

(5)用戶可用性、用戶體驗、用戶研究:考察的不是技術,而是候選人對於產品體驗的理解。不只僅只是完成功能而已。

(6)強烈興趣等,是公司企業文化的一種要求。多去GitHub上看看別人的項目裏用的什麼新技術、多看博客。短期內沒法準備。

(7)瞭解SassLess:這是基本技能。

(8)熟悉web構建工具:新手推薦學習 Glup,而不是 grunt。固然,你要知道 Glup 和 grunt 的區別

PS:瞭解、熟悉、精通,是有區別的。

(9)暫時能夠忽略。若是 職位描述裏沒有要求Node.js,而你只會一點點 Node.js,那不建議你面試的時候把Node.js體現出來。不然是給本身挖坑。

2、業務分析

CSS3 動畫是重點準備的內容。

jQuery 要準備事件委託、選擇器等。

ES6語法:import、export等。

經過簡單分析源碼,咱們初步得知網站的如下幾點:

  • jQuery
  • vue 框架
  • ES6
  • webpack 打包工具

3、前端技術棧準備


上圖中,左側是前端技術核心,右側是前端工程化。

左側:(前端技術核心)

  • jQuery:要注意看源碼。看源碼時,要看這幾個:核心架構、事件委託是什麼、插件機制、兼容性。
  • 三大框架:都是mvvm框架,準備一至兩個便可,或者精心準備一個。面試時會問得很細。好比面試官會常常問Vue、React的源碼。建議找網上的源碼分析的文章。
  • Node.js:服務器端的運行環境。若是沒有相關項目經歷,就儘可能不要提。
  • JavaScript 基礎:框架有時候都很虛;熟練掌握 JavaScript 基礎,纔是行走江湖、馳騁千里的關鍵。

右側:(前端工程化)

  • npm、yarn:包管理工具。npm的常見命令、npm scripts 怎麼用的。
  • webpack:模塊打包。
  • gulp、grunt:構建工具。
  • Sass、less:CSS 預處理器。
  • Babel:ES6轉ES5

4、自我介紹

面試問的問題,很大層次上,取決你的簡歷和自我介紹。

簡歷

簡歷中最重要的四個信息:

  • 基本信息:姓名、年齡、手機、郵箱、籍貫。
  • 學歷:從大到小寫。碩士 -> 本科。
  • 工做經歷:時間、公司、崗位、職責、技術棧、業績。業績是大多數人所忽略的。
  • 開源項目、Github、說明。

自我評價能夠不寫。

項目的業績上,要包括:技術收益業績收益

自我陳述

一、把握面試的溝通方向。

若是陳述中談到項目,面試官可能會問:

  • 負責了什麼項目,項目是作什麼的
  • 和前端的結合點是?你的角色是?項目中承擔了什麼責任?
  • 你在項目中的成績?

若是你說本身是項目負責人,會被問到:

  • 該項目怎麼分配?有幾我的參與?
  • 做爲負責人,你的角色是什麼?是項目管理仍是技術管理?
  • 遇到技術難點,如何解決?

提問題

若是在深刻問題時,碰到不會的,不要說「我不知道」。建議回答:

  • 這方面我沒有經驗,能不能指點一下
  • 有什麼建議或者參考資料嗎?我想把這個東西弄懂。

最後,給剛畢業的大學生一點建議

剛畢業找工做並非全看技術

在剛畢業的時候我會認爲找工做是隻看技術的,畢竟咱們是技術崗位。

可是如今自身的感受包括也和其餘小夥伴聊過以後發現技術有的時候佔比也沒有想象那麼高。

由於其實咱們畢業以後 1 -2 年內並非特別能拉開差距,你們的水平相差都不是特別大。

這個時候可能一些其餘的品質更重要,好比你的溝通能力、你的性格、是否踏實。

同時,找工做這個事情,運氣和緣分也是很重要的,好比當時的崗位是不是急缺崗位,若是是新增的部門或者恰好有人離職須要補位,這些特殊狀況下,可能要求會稍微下降些(絕對不會下降太多)。

因此最好是找團隊人員內推,這樣對團隊的狀況會更加了解。

可是我的以爲,3 年以後技術水平的差距就會愈來愈大了,而且想要縮短差距也會愈來愈難。

剛畢業儘可能去大公司

其實就和你上大學選擇名校仍是通常學校,有些人說不想當大公司的螺絲釘的時候能夠先問下本身能不可以進入大公司,不要尚未進入就開始酸。

有能力去而選擇不去和去不了是兩個概念。

從自身以及周圍人的經驗而談,大公司你能學到的東西從各方面都是比小公司強一點的(這裏說的小公司不表明某些小而精的公司)。

我的經驗而言,大公司並非每一個人都是螺絲釘,作重複的勞動,由於你所對接的部門有不少,你須要和各類各樣的前端、後端、產品、設計、QA 接觸,每一個人的習慣都不盡相同,也會遇到跨部門合做,不一樣部門的技術棧可能會不同,因此,你所接觸的東西是多元化的;

相反,小公司所接觸的前端、後端、設計和 QA 基本都比較固定,基本上也不會有跨部門合做的需求,而且技術棧相對而言比較固定,使用了一套技術棧基本也不會換,因此你的技術提高視野可能會稍微窄一點。

而且大公司的業務複雜程度和用戶數量也是小公司所不能提供的。

說句實在話,簡歷中有知名互聯網公司的工做經驗是很加分的,基本都能有個面試資格,由於從某種程度下降了成本,由於既然可以去知名互聯網公司,說明確定是有優點的。

不要只會 API,要了解其原理

咱們老大常常給咱們說過的一句話是:「不要只會一些 API 的東西」,如今前端的一個現象是,不少人使用了一些 API,就以爲掌握了某些知識。

要注重一些底層知識,一些原理,這纔是長遠發展的必備技能。

好比在電面的時候問:「一句話概述下什麼是 promise」,不少人都回答 promise 的使用方法。

找工做是雙向選擇的過程,一個好的團隊很重要

找工做真的是雙向選擇的過程,不只僅是公司選擇你,也是你選擇公司的過程,有能力的話最好找一個好的團隊,作的業務是本身喜歡的,最起碼不能太反感不是。

其實從面試官你基本也能夠判斷出該團隊的水平,我的的一點見解是,若是你自己還處於成長階段,若是面試時候問的問題你均可以順利的回答出,那麼該工做你就要慎重考慮下,可能成長空間會小一點。

減小跳槽的頻率

關於跳槽頻率,這個無論是技術 leader 和 hr 都是考慮的一個問題。

由於前幾年,我的感受漲薪的最便捷途徑就是跳槽,漲薪幅度會比較高,在一家公司等加薪比較慢。

可是若是你跳槽過於頻繁實際上是不利的,我的認爲,一年跳槽一次這個頻率就有些高了。

京東也是將這點明確有要求的,一票否決制度,五二原則(五年內以內最多在兩家公司)

關於學歷

如今不少公司的門檻都是本科相關專業畢業,而且之後的要求確定會愈來愈高。

每一個公司要求不同。

面試前必定要多刷題

必定要多刷題,刷題,刷題,重要的事情說三遍。多注重底層原理和概念的學習,瞭解更多的底層知識,更多的原理知識,都是提升你解決問題的能力。

作程序員,作前端工程師,真的是一個學習就會有回報的職業,不看出身高低,不看學歷強弱,只要你的技術達到應有的水準,就可以獲得對應的回報。

學習歷來沒有一蹴而就,都是鍥而不捨的,正所謂活到老學到老,真正懂得學習的人,纔不會被這個時代的洪流所淘汰。

我平時一直有整理面試題的習慣,有隨時跳出溫馨圈的準備,不知不覺整理了229頁了,在這裏分享給你們,有須要的點擊這裏免費領取題目+解析PDF

若是你須要這份完整版的面試題+解析,【點擊我】就能夠了。

相關文章
相關標籤/搜索