天天看點

前端面試

最近一直在忙着各種面試,也算是有些經驗,總結一下。

來北京之前面了兩家,在北京面了三家,回報都還不錯。最大的體會就是,技術這一塊還是要來北京工作,二三線城市的技術發展還是很不完善的。

先說履歷,這個知乎上有很多寫的不錯的文章可以去搜一下,下面簡單寫一下注意點。

要明确的标出工作年限,這一點很重要,很多人的履歷篩選不到這幾個關鍵字。

項目經驗在精而不在多,一定要把履歷上的每一個項目詳細的描述,要包括項目的功能、項目描述、自己負責的工作等等。

還有履歷的篇幅,盡量不要加封面,履歷最好一頁最多兩頁再多就沒有必要了。

根據你要投的公司去寫你的履歷,要準備有不同側重點的履歷。

履歷最好還是不要海投(視情況),找幾家自己看着不錯的公司針對性的投一下,去之前對公司做一些了解會加分,如果你能針對他們的招聘資訊對自己做一些規劃那就能表現出很大的誠意了,一定會被優先考慮。

一般正規的面試都會分好幾面,但是小公司很可能隻有技術和你聊一聊,連 hr 都見不到,是以有機會還是去規模大一點的公司面試,試一下。

聊一下我的面試經曆吧

電話面試 1

先是自我介紹,然後面試官沒有任何提問。這個時候如果你不說點什麼就有點尴尬了,是以一定要提前準備能獨自表演一個小時以上的一篇面試稿。其中可以說你學習前端的一些經曆,之前做過的項目什麼的,因為很可能對方也不知道要問你什麼。我這時候選擇說我的項目經曆,在我獨自表演的過程中面試官根據描述問了很多針對性的問題。當時的面試沒有問到具體技術相關的知識,聊了有一個小時,基本上都是我在說,是以提前準備是很重要的。整體面試很不錯,可惜當時還沒來北京,近期不能去公司面試,等我一個月後來北京的時候公司已經招到人了。。。

你說你平時喜歡做一些微動畫加強使用者體驗,比如說有哪些?(是以說不要給自己挖太大的坑) 項目中你遇到過哪些問題,你是怎麼解決的?(這個問題幾乎都會問到) 如果給你一個項目,你會怎麼去搭建他,會考慮什麼問題?

電話面試 2

還是簡單的自我介紹,然後直接步入正題,問了很多 JS 基礎的知識,面試官問的很快基本上沒有多少思考的時間,如果你對這塊的知識沒有了解很容易卡住。

如何檢視一個對象的屬性是繼承來的還是他自己的? 說一下你了解的 ES6 的 Api ? 純 CSS 如何實作寬度自适應,高度成比例,比如一個正方形?(這個問題當時一臉懵逼,但是就算你不會,錯誤的也要繼續說下去,這個時候要表現的就是你思考問題的一個思路了。後來下去自己思考了一下,發現純 CSS 還是可以實作的) 因為我上一個問題卡住了,是以他追問,為什麼要用純 CSS 而不是用 JS 呢? 做項目中遇到的比較深刻的問題,你是怎麼解決的,思路是什麼?(總結很重要) new 和普通的 function 的差別? apply 作用?

面試 1 (小規模公司 - 20人+)

整個面試很不成功,隻有一個技術人員對我面試。雖然這是我人生中第一次面試,但是我還是能感覺到面試官很不專業。我在履歷中寫到的熟練的知識點一個都沒有問,反而是抓着我了解這一子產品的知識點對我追問。最後面了不到20分鐘就結束了,讓我回去等結果,說 hr 那邊他去聊工資(一臉懵逼)。。。下午收到電話,說面試過了,讓我明天帶着自己的電腦去公司試崗5到6天,根據我的具體操作給工資。也是重新整理了我的三觀,果斷拒了。

這個面試,面試官對我的評價就是學的東西比較雜,範圍廣。

自我介紹 ? H5 有哪些 ?C3 有哪些? 響應式怎麼實作 ? NodeJs 了解多少 ? ES6 了解多少? 小程式了解多少? 小程式怎麼直接操作 DOM?(我小程式寫的是了解啊。。而且我後來查了一下,小程式沒有類似 Vue 和 React 使用 ref 操作 DOM 的方法。) 小程式和普通 JS 的差別是什麼?寫法有什麼差別?(。。。)

面試 2 (公司規模還好 100+)

去了先做一份面試題,有差不多20道題,給了一張白紙,我當時一臉懵逼啊,這怎麼寫得下?一道題就要半頁的好吧。。。面試題寫了有1個小時多,寫了三頁。然後讓我等着,把面試題答案給他們的項目經理看,然後又等了半個小時。接下來他們的人事主管和我聊,對我認真這一塊比較看重,他們以前面試從來沒有人面試題寫三頁的。。。然後就是和項目經理聊,這一塊就是打壓你,問到你懷疑人生,覺得自己前端的知識白學了。然後人事又來和我談,介紹公司,對我的發展有什麼好處,工資多少等等。整個面試有3個多小時的時間,當時我說明天給公司回複,考慮了一下第二天也拒了。

面試完公司看重的地方是認真負責,基礎比較紮實。以前的項目比較簡單,是以經驗不足。

其中的一部分筆試題 H5? XHTML 和 HTML 差別? 語義化? 行内,塊級元素? C3? 了解的CSS浏覽器相容? CSS引入的方式?@import 和 link 的差別? 盒子模型? 如何居中浮動元素? position 的值,差別? DOM 模型?BOM 模型? jQuery 的 ready 和 window.onload 的差別? 二維數組? 正規表達式,電話号碼? ajax ,異步同步? IE 和 FF 的 JS 相容? 5年内職業規劃? 前端優化知識? 一個大型網站如何管理圖檔等靜态資源? 對前端這個行業看法如何?
面試 自我介紹? 項目經驗描述? Vue 的原理?

面試 3 (小規模公司 20+)

這個面試也比較懵逼啊。一個技術來面我,問了一些比較淺的問題,面完後也是告訴我,他和 hr 聊工資沒我什麼事。當時面了15分鐘就完了,問的問題比較簡單,感覺回答的很不錯。然後就沒有下文,完全不知道自己被刷在哪。

自我介紹?項目經驗描述? 為什麼來北京?為什麼離開前一家公司? 對自己三年内的職業規劃? JS 原型鍊? ES6? H5,C3? Vue ?

面試 4 (規模不錯的公司 500+)

這個面試比較正規,分四面。對你的整個知識體系和能力都能做完善的評估。一面和二面是偏技術的,問了很多底層的知識,完全被問懵逼了,有一半的問題都回答不上來。在我以為沒下文的時候 CTO 進來了,問了一些偏廣度的問題,最後是 hr 來聊福利,聊薪酬,問問你對公司的看法之類的。這個面試面了有将近5個小時,最後6:30太晚了,留了電話後面繼續聊工資。整體感覺面試很正規,能把你知識的深度和廣度都了解到。

一面 自我介紹?項目描述?(功能就這些?就是一個簡單的項目是吧?。。。) ES6?問了一些 promise 的問題,給了一些代碼讓你分析流程。 事件的冒泡和捕獲?同時在一組 DOM 上綁定冒泡和捕獲的事件,他該怎麼觸發?(問到前面我一臉竊喜,後面的問題一臉懵逼) Vue 原理? 跨域方案?什麼是跨域? 平時怎麼學架構或者前端知識?在哪些途徑學? 然後問了一些代碼題,分析結果,流程。 現場編譯,用 setTimeout 實作定時觸發 setInterval (arguments.callee,還有嚴格模式下實作)
二面 MobX 和 VueX 是什麼原理?怎麼實作的?其中的 Store 是什麼? 自己用 webpack 搭建 Vue 項目,而不是用 vue-cli 怎麼搭建?webpack 配置? 如何規劃一個項目? 然後出了四道面試題讓我寫一下,半小時時間。尴尬。。隻寫出來兩道。。
三面 對 NodeJs 有了解?使用 NodeJs 遇到的問題,資料庫操作? 你是自學前端?那平時是如何學習前端的? 你覺得自己的學習能力怎麼樣? 為什麼年前來北京,而不是年後拿了年終獎再來? 對 Vue 和 React 的看法? 為什麼要使用 TypeScript ,有什麼好處? 問了一些 React Native 方面的東西 近三年的自我規劃,有沒有考慮架構、管理轉型?
四面 就是 hr 和你聊工資福利,對公司的看法怎麼樣。學的架構和公司的不一樣你是怎麼考慮的之類的。

面試 5 (小規模公司 20+)

上面的第二個電話面試。

公司整體團隊不大,但是技術方面的團隊比較不錯。面試去了寫一份面試題,然後分兩個負責人面試。最後聊的還不錯,但是我去那天公司已經招到人了。問我有沒有全棧的想法,我個人的話全棧還是考慮 NodeJs 但是公司要用 Java,問我有沒有學的打算,最後留了聯系方式後面聊。一天以後負責人聯系我,說公司考慮業務方面的擴充,要再招一個前端,但是我當時已經打算進一家公司就拒了。

整體面試官的評價還是基礎比較好但是項目經驗不足。

面試題是我在 GitHub 上看到的一份面試題,是以答得還不錯。

後面的問題也都上面提到的一些問題,這裡就不放了。

最後總結,三線城市的一些經驗一些大公司都認為比較簡單,不是特别承認。而且在小公司沒有特别多人的團隊,對自己的認知會産生嚴重的偏差。就比如我這塊,因為是自學,是以覺得自己前端這塊的基礎比較差,但是做過4個左右項目,覺得自己的優勢在項目經驗這塊。但是實際的面試回報卻完全相反。

最後放一下我履歷上自己的技術棧,供上面的經曆參考。

HTML:HTML5,語義化

CSS:CSS3,響應式

JavaScript:子產品化,元件化

熟練:JQ,Vue2,ES6

掌握:RN,webpack,stylus,Scss,TypeScript

熟悉:微信小程式,NodeJs,expressjs,PS等

繼續閱讀