個人前端面試

前言

此次找工做也面了好幾家公司,也經過了好幾家公司的面試,畢竟以前也準備了一段時間,因此面試的時候內心也不是很虛。css

這裏記錄一下面試過程當中被問到的問題,不過從面試第一家公司開始到最終入職,已經有一個多月的時間了,因此有些問題已經想不起來了,這裏只記錄一些我還記得的問題。html

一家創業公司(魚泡泡)

一、問怎麼判斷數據類型?前端

instanceof, Object.prototype.toString().call()vue

二、問instanceof是什麼意思?接着問原型鏈等等react

三、什麼是閉包?webpack

四、柯里化了不瞭解?es6

五、怎麼實現 new 方法?web

六、用過promise 哪些方法?promise怎麼實現的?面試

七、解釋一下eventloopajax

八、ajax 怎麼實現的?

九、解釋一下koa洋蔥模型

只記得這些了。。

貝殼找房

先作一套題,主要考察this、eventloop、dom的事件機制,還有一些編程題(字符串去重,繼承, es6, css等等),而後對着這套題,各個都延伸問了一下。

後面是對着簡歷開始問了:

一、作的項目介紹一下,聊了很久。。。

二、vue的mvvm的實現原理

主要就是雙向綁定的依賴收集,觸發更新的實現

三、vue虛擬dom的diff算法原理

四、雙向綁定的觸發更新到真實dom更新這個過程是怎麼實現的?(當時沒答出來)能夠參考這裏

五、問了一些react的問題,我react不熟。。

六、問了webpack的一些loader以及plugin的用法,好比處理less文件須要哪些loader,url-loader和file-loader是幹嘛用的,用過哪些plugin,幹嗎用的。

七、聊了一下babel和Node

八、有什麼須要問的?面試官介紹了一下貝殼找房上海側的業務

觸寶

一、實現es6的flat()方法

二、實現dom的事件委託

三、0.5px的豎線怎麼實現?

四、promise相關問題

五、es6 哪些新特性?聊了一下解構賦值,async、await等等,let 和 var的區別(變量提高)

六、性能優化有哪些方法?扯了一堆

七、CommonJS和es6 module區別

八、瀏覽器強緩存和協商緩存

九、三欄佈局怎麼實現?聖盃佈局和雙飛翼佈局,BFC

還有一些問題暫時想不起來了。。。

二面 就聊了一下項目和經歷、以及興趣等等,面試官介紹了一下觸寶的業務

小紅書

一面

一、聊項目,聊了好久

二、import 按需加載問題,按需加載的組件chunk什麼時候加載,經過什麼方式加載?

按需加載的chunk在dom更新時須要加載這個組件的時候纔會去服務器上請求這個chunk文件,經過相似jsonp的方式進行加載。

三、打開頁面時,若是app.js已經加載完成,而vendor文件尚未加載好,而app.js顯然是依賴vendor, 爲何執行app.js不會報錯?

這個是由webpack打包以後chunk文件中摻雜的webpack runtime代碼控制實現的(後面又聊了一下webpack runtime)

四、作一些編程題,主要是es6以及原生js相關的

五、聊了一下前端性能優化

六、css Module瞭解嗎?less的scoped怎麼實現的

還有一些記不得了。。。

二面

一、Vue的MVVM原理,動態組件

二、vuex用法和原理,vuex和mvvm的不一樣(雙向數據流和單向數據流)

三、聊了一下Vue和react的區別

四、babel的原理

五、前端優化的思想,比較抽象,瞎聊。。

三面

一、介紹項目,聊了一會。

二、一些功能設計的題目,就是給一個具體需求的場景,怎麼實現這個功能,不是很難。

三、各類聊。。

ps: 整體上,小紅書的面試體驗是最好的,面試官都很客氣,聊得也很愉快。

拼多多

一面

一、實現sleep()方法

二、Vue router有哪些模式? 是怎麼實現的?爲何切換路由,頁面不會刷新?

hash和history兩種模式,實現原理主要仍是從依賴收集和觸發更新兩個方面說。

三、webpack的代碼分割怎麼實現的?

四、說說剛纔提到的CommonsChunkPlugin和splitChunks的區別

五、前端緩存怎麼實現?(扯扯強緩存和協商緩存,重點問了ETag如何實現緩存)

二面

一、就聊了項目。。。

ps: 拼多多的面試體驗應該是最差的,特別是二面(是個leader吧)很是高冷,交流上很不暢,有點不耐煩。。

頭條

一面

一、先作一套題,css、eventloop、this、算法題(不是很難)等等,而後一題一題挨個問,作一些延伸。

二、new 的實現

三、promise的原理

四、寫一個類,簡單實現Vue的event bus的發佈訂閱功能

五、webpack相關的,loader和plugin,代碼分割,跟以前幾家公司問到的相似

六、babel原理,還問了一些es6語法轉es5怎麼實現

七、Node相關的,作過哪些項目

二面

一、聊項目

二、Vue 的MVVM原理

三、一些組件功能設計的問題

四、實現二叉樹的寬度優先遍歷

五、元素水平垂直居中有哪些方法

六、ajax的原理,以及XMLHttpRequest

七、Vue和react的區別

八、各類聊。。

三面(北京視頻面)

一、聊項目

二、各類聊。。

相關文章
相關標籤/搜索