最新前端面試題精編2020(持續更新)

文檔描述


本文是關注微信小程序的開發和麪試問題,
由基礎到困難循序漸進,
適合面試和開發小程序。
並有熱點框架(vue react node.js 全棧)前端資源以及後端視頻資源和源碼
並基於前端進階和麪試的需求 總結了常用插件和js算法
以及html/css 和js熱點面試題

文檔答案更多面試題和答案


Vue面試題


生命週期函數面試題

1.什麼是 vue 生命週期
2.vue生命週期的作用是什麼
3.第一次頁面加載會觸發哪幾個鉤子
4.簡述每個週期具體適合哪些場景
5.created和mounted的區別
6.vue獲取數據在哪個週期函數
7.請詳細說下你對vue生命週期的理解?
vue路由面試題
1.mvvm 框架是什麼?
2.vue-router 是什麼?它有哪些組件
3.active-class 是哪個組件的屬性?
4.怎麼定義 vue-router 的動態路由? 怎麼獲取傳過來的值
5.vue-router 有哪幾種導航鉤子?
6.$route 和 $router 的區別
7.vue-router響應路由參數的變化
8.vue-router傳參
9.vue-router的兩種模式
10.vue-router實現路由懶加載( 動態加載路由 )
vue常見面試題
1.vue優點
2.vue父組件向子組件傳遞數據?
3.子組件像父組件傳遞事件
4.v-show和v-if指令的共同點和不同點
5.如何讓CSS只在當前組件中起作用
6.<keep-alive></keep-alive>的作用是什麼?
7.如何獲取dom
8.說出幾種vue當中的指令和它的用法?
9. vue-loader是什麼?使用它的用途有哪些?
10.爲什麼使用key
11.axios及安裝
12.axios解決跨域
13.v-modal的使用
14.scss的安裝以及使用
15. 請說出vue.cli項目中src目錄每個文件夾和文件的用法?
16.分別簡述computed和watch的使用場景
17.v-on可以監聽多個方法嗎
18.$nextTick的使用
19.vue組件中data爲什麼必須是一個函數
20.vue事件對象的使用
21 組件間的通信
22.漸進式框架的理解
23.Vue中雙向數據綁定是如何實現的
24.單頁面應用和多頁面應用區別及優缺點
25.vue中過濾器有什麼作用及詳解
26.v-if和v-for的優先級
27.assets和static的區別
28.列舉常用的指令
29.vue常用的修飾符
30.數組更新檢測
31.Vue.set視圖更新
32.自定義指令詳解
33.vue的兩個核心點
34.vue和jQuery的區別
35 引進組件的步驟
36.Vue-cli打包命令是什麼?打包後悔導致路徑問題,應該在哪裏修改
37.三大框架的對比
38. 跨組件雙向數據綁定
39.delete和Vue.delete刪除數組的區別
40.SPA首屏加載慢如何解決
41.Vue-router跳轉和location.href有什麼區別
42. vue slot
43.你們vue項目是打包了一個js文件,一個css文件,還是有多個文件?
44.vue遇到的坑,如何解決的?
45.Vue裏面router-link在電腦上有用,在安卓上沒反應怎麼解決?
46.Vue2中註冊在router-link上事件無效解決方法
47.RouterLink在IE和Firefox中不起作用(路由不跳轉)的問題
48.axios的特點有哪些
49.請說下封裝 vue 組件的過程?
50.vue 各種組件通信方法(父子 子父 兄弟 爺孫 毫無關係的組件)
51.params和query的區別
52. vue mock數據
53 vue封裝通用組件
54.vue初始化頁面閃動問題
55.vue禁止彈窗後的屏幕滾動
56.vue更新數組時觸發視圖更新的方法
57.vue常用的UI組件庫
58. vue如何引進本地背景圖片
59. vue如何引進sass
60.vue修改打包後靜態資源路徑的修改

vuex常見面試題
1.vuex是什麼?怎麼使用?哪種功能場景使用它?
2.vuex有哪幾種屬性
3.不使用Vuex會帶來什麼問題
4.Vue.js中ajax請求代碼應該寫在組件的methods中還是vuex的actions中?
5.vuex一個例子方法
6.Vuex中如何異步修改狀態
7.Vuex中actions和mutations的區別

vue項目實戰
1.頂部懸停效果
2.電話本列表效果( 右邊字母分類 上下滑動 旁邊字母顯示高亮)
3.vue做代理
4.Vue路由切換時的左滑和右滑效果示例



ES6面試題


ES6新增方法面試題
1.let const var比較
2.反引號(`)標識
3.函數默認參數
4.箭頭函數
5.屬性簡寫
6.方法簡寫
7.Object.keys()方法,獲取對象的所有屬性名或方法名
8.Object.assign ()原對象的屬性和方法都合併到了目標對象
9.for...of 循環
10.import和export
11.Promise對象
12.解構賦值
13.set數據結構(可用於快速去重)
14.Spread Operator 展開運算符(...)
15.字符串新增方法

ES6數組面試題
1.forEach()
2.map()
3.filter()
4.reduce()
5.some()
6.every()
7.all()方法

ES6編程題
1.使用解構,實現兩個變量的值的交換
2.利用數組推導,計算出數組 [1,2,3,4] 每一個元素的平方並組成新的數組。
3.使用ES6改下面的模板
4.把以下代碼使用兩種方法,來依次輸出0到9?


react面試題


react生命週期面試題
1.react 生命週期函數
2.react生命週期中,最適合與服務端進行數據交互的是哪個函數
3.運行階段生命週期調用順序
4.shouldComponentUpdate 是做什麼的,(react 性能優化是哪個週期函數?)
5.指出(組件)生命週期方法的不同

react 基礎面試題
1.React 中 keys 的作用是什麼?
2.React 中 refs 的作用是什麼?
3.React 中有三種構建組件的方式
4.調用 setState 之後發生了什麼?
5.react diff 原理(常考,大廠必考)
6.爲什麼建議傳遞給 setState 的參數是一個 callback 而不是一個對象
7.除了在構造函數中綁定 this,還有其它方式嗎
8.setState第二個參數的作用
9.(在構造函數中)調用 super(props) 的目的是什麼
10.簡述 flux 思想
11.在 React 當中 Element 和 Component 有何區別?
12.描述事件在 React 中的處理方式。
13.createElement 和 cloneElement 有什麼區別?
14.如何告訴 React 它應該編譯生產環境版本?
15.Controlled Component 與 Uncontrolled Component 之間的區別是什麼?

react組件面試題
1.展示組件(Presentational component)和容器組件(Container component)之間有何不同
2.類組件(Class component)和函數式組件(Functional component)之間有何不同
3.(組件的)狀態(state)和屬性(props)之間有何不同
4.何爲受控組件(controlled component)
5.何爲高階組件(higher order component)
6.應該在 React 組件的何處發起 Ajax 請求
7.react中組件傳值
8.什麼時候在功能組件( Class Component )上使用類組件( Functional Component )?
9.受控組件( controlled component )與不受控制的組件( uncontrolled component )有什麼區別?
10.react 組件的劃分業務組件技術組件?

redux面試題
1.redux中間件
2.redux有什麼缺點
3.瞭解 redux 麼,說一下 redux 把

react性能比較面試題
1.vue和react的區別
2.react性能優化的方案
3.React 項目用過什麼腳手架
4.介紹一下webpack webpack
5.如果你創建了類似於下面的 Twitter 元素,那麼它相關的類定義是啥樣子的?
6.爲什麼我們需要使用 React 提供的 Children API 而不是 JavaScript 的 map?


js面試題


1.簡述同步和異步的區別
2.怎麼添加、移除、複製、創建、和查找節點
3.實現一個函數clone 可以對Javascript中的五種主要數據類型(Number、string、Object、Array、Boolean)進行復制
4.如何消除一個數組裏面重復的元素
5.寫一個返回閉包的函數
6.使用遞歸完成1到100的累加
7.Javascript有哪幾種數據類型
8.如何判斷數據類型
9.console.log(1+‘2’)和console.log(1-‘2’)的打印結果
10.Js的事件委託是什麼,原理是什麼
11.如何改變函數內部的this指針的指向
12.列舉幾種解決跨域問題的方式,且說明原理
13.談談垃圾回收機制的方式及內存管理
14.寫一個function ,清除字符串前後的空格
15.js實現繼承的方法有哪些
16.判斷一個變量是否是數組,有哪些辦法
17.let ,const ,var 有什麼區別
18.箭頭函數與普通函數有什麼區別
19.隨機取1-10之間的整數
20.new操作符具體幹了什麼
21.Ajax原理
22.模塊化開發怎麼做
23.異步加載Js的方式有哪些
24.xml和 json的區別
25.webpack如何實現打包的
26.常見web安全及防護原理
27.用過哪些設計模式
28.爲什麼要同源限制
29.offsetWidth/offsetHeight,clientWidth/clientHeight與scrollWidth/scrollHeight的區別
30.javascript有哪些方法定義對象
31.說說你對promise的瞭解
32.談談你對AMD、CMD的理解
33.web開發中會話跟蹤的方法有哪些
34.介紹js有哪些內置對象?
35.說幾條寫JavaScript的基本規範?
36.javascript創建對象的幾種方式?
37.eval是做什麼的?
38.null,undefined 的區別?
39.[“1”, “2”, “3”].map(parseInt) 答案是多少?
40.javascript 代碼中的”use strict”;是什麼意思 ? 使用它區別是什麼?
41.js延遲加載的方式有哪些?
42.defer和async
43.說說嚴格模式的限制
44.attribute和property的區別是什麼?
45.ECMAScript6 怎麼寫class麼,爲什麼會出現class這種東西?
46.常見兼容性問題
47.函數防抖節流的原理
48.原始類型有哪幾種?null是對象嗎?
49.爲什麼console.log(0.2+0.1==0.3) //false
50.說一下JS中類型轉換的規則?
51.深拷貝和淺拷貝的區別?如何實現
52.如何判斷this?箭頭函數的this是什麼
53.== 和 ===的區別
54.什麼是閉包
55.JavaScript原型,原型鏈 ? 有什麼特點?
56.typeof()和instanceof()的用法區別
57.什麼是變量提升
58.all、apply以及bind函數內部實現是怎麼樣的
59.爲什麼會出現setTimeout倒計時誤差?如何減少
60.談談你對JS執行上下文棧和作用域鏈的理解
61.new的原理是什麼?通過new的方式創建對象和通過字面量創建有什麼區別?
62.prototype 和 proto 區別是什麼?
63.使用ES5實現一個繼承?
64.取數組的最大值(ES5、ES6)
65.ES6新的特性有哪些?
66.promise 有幾種狀態, Promise 有什麼優缺點 ?
67.Promise構造函數是同步還是異步執行,then呢 ?promise如何實現then處理 ?
68.Promise和setTimeout的區別 ?
69.如何實現 Promise.all ?
70.如何實現 Promise.finally ?
71.如何判斷img加載完成
72.如何阻止冒泡?
73.如何阻止默認事件?
74.ajax請求時,如何解釋json數據
75.json和jsonp的區別?
76.如何用原生js給一個按鈕綁定兩個onclick事件?
77.拖拽會用到哪些事件
78.document.write和innerHTML的區別
79.jQuery的事件委託方法bind 、live、delegate、on之間有什麼區別?
80.瀏覽器是如何渲染頁面的?
81.(document).ready()方法和window.onload有什麼區別?82.jquery中(document).ready()方法和window.onload有什麼區別?82. jquery中(document).ready()方法和window.onload有什麼區別?82.jquery中.get()提交和$.post()提交有區別嗎?
83.對前端路由的理解?前後端路由的區別?
84.手寫一個類的繼承
85.XMLHttpRequest:XMLHttpRequest.readyState;狀態碼的意思
86.正則表達式常見面試題

1.給一個連字符串例如:get-element-by-id轉化成駝峯形式。
2.匹配二進制數字
3.非零的十進制數字 (有至少一位數字, 但是不能以0開頭)
4.匹配一年中的12個月
5.匹配qq號最長爲13爲
6.匹配常見的固定電話號碼
7.匹配ip地址
8.匹配用尖括號括起來的以a開頭的字符串
9.分割數字每三個以一個逗號劃分
10.判斷字符串是否包含數字
11.判斷電話號碼
12.判斷是否符合指定格式
13.判斷是否符合USD格式
14.JS實現千位分隔符
15.獲取 url 參數
16.驗證郵箱
17.驗證身份證號碼
18.匹配漢字
19.去除首尾的’/’
20.判斷日期格式是否符合 '2017-05-11’的形式,簡單判斷,只判斷格式
21.判斷日期格式是否符合 '2017-05-11’的形式,嚴格判斷(比較複雜)
22.IPv4地址正則
23.十六進制顏色正則
24.車牌號正則
25.過濾HTML標籤
26.密碼強度正則,最少6位,包括至少1個大寫字母,1個小寫字母,1個數字,1個特殊字符
27.URL正則
28.匹配浮點數
 

瀏覽器/html/css面試題


1.什麼是盒模型
2.行內元素有哪些?塊級元素有哪些? 空(void)元素有那些?行內元素和塊級元素有什麼區別?
3.簡述src和href的區別
4.什麼是css Hack
5.什麼叫優雅降級和漸進增強
6.px和em的區別
7.HTML5 爲什麼只寫
8.Http的狀態碼有哪些
9.一次完整的HTTP事務是怎麼一個過程
10.HTTPS是如何實現加密
11.瀏覽器是如何渲染頁面的
12.瀏覽器的內核有哪些?分別有什麼代表的瀏覽器
13.頁面導入時,使用link和@import有什麼區別
14.如何優化圖像,圖像格式的區別
15.列舉你瞭解Html5. Css3 新特性
16.可以通過哪些方法優化css3 animation渲染
17.列舉幾個前端性能方面的優化
18.如何實現同一個瀏覽器多個標籤頁之間的通信
19.瀏覽器的存儲技術有哪些
20.css定位方式
21.儘可能多的寫出瀏覽器兼容性問題
22.垂直上下居中的方法
23.響應式佈局原理
25.清除浮動的方法
26.http協議和tcp協議
27.刷新頁面,js請求一般會有哪些地方有緩存處理
28.如何對網站的文件和資源進行優化
29.你對網頁標準和W3C重要性的理解
30.Http和https的區別
31.data-屬性的作用
32.如何讓Chrome瀏覽器顯示小於12px的文字
33.哪些操作會引起頁面迴流(Reflow)
34.CSS預處理器的比較less sass
35.如何實現頁面每次打開時清除本頁緩存
36.什麼是Virtual DOM,爲何要用Virtual DOM
37.僞元素和僞類的區別
38.http的幾種請求方法和區別
39.前端需要注意哪些SEO
40.的title和alt有什麼區別
41.從瀏覽器地址欄輸入url到顯示頁面的步驟
42.如何進行網站性能優化
43.語義化的理解
44.HTML5的離線儲存怎麼使用,工作原理能不能解釋一下?
45.瀏覽器是怎麼對HTML5的離線儲存資源進行管理和加載的呢
46.iframe有那些缺點?
47.WEB標準以及W3C標準是什麼?
48.Doctype作用? 嚴格模式與混雜模式如何區分?它們有何意義?
49.HTML全局屬性(global attribute)有哪些
50.Canvas和SVG有什麼區別?
51.如何在頁面上實現一個圓形的可點擊區域?
52.網頁驗證碼是幹嘛的,是爲了解決什麼安全問題
53.請描述一下 cookies,sessionStorage 和 localStorage 的區別?
54. CSS選擇器有哪些?哪些屬性可以繼承?
55.CSS優先級算法如何計算?
56.CSS3有哪些新特性?
57.請解釋一下CSS3的flexbox(彈性盒佈局模型),以及適用場景?
58.用純CSS創建一個三角形的原理是什麼?
59.常見的兼容性問題?
60.爲什麼要初始化CSS樣式
61.absolute的containing block計算方式跟正常流有什麼不同?
62.CSS裏的visibility屬性有個collapse屬性值?在不同瀏覽器下以後什麼區別?
63.display:none與visibility:hidden的區別?
64.position跟display、overflow、float這些特性相互疊加後會怎麼樣?
65.對BFC規範(塊級格式化上下文:block formatting context)的理解?
66.爲什麼會出現浮動和什麼時候需要清除浮動?清除浮動的方式?
67.上下margin重合的問題
68. 設置元素浮動後,該元素的display值是多少?
69.移動端的佈局用過媒體查詢嗎?
70.CSS優化、提高性能的方法有哪些?
71.瀏覽器是怎樣解析CSS選擇器的?
72.在網頁中的應該使用奇數還是偶數的字體?爲什麼呢?
73.margin和padding分別適合什麼場景使用?
74.元素豎向的百分比設定是相對於容器的高度嗎?
75.全屏滾動的原理是什麼?用到了CSS的哪些屬性?
76.什麼是響應式設計?響應式設計的基本原理是什麼?如何兼容低版本的IE?
77. 視差滾動效果?
78.::before 和 :after中雙冒號和單冒號有什麼區別?解釋一下這2個僞元素的作用
79.讓頁面裏的字體變清晰,變細用CSS怎麼做?
80. position:fixed;在android下無效怎麼處理?
81.如果需要手動寫動畫,你認爲最小時間間隔是多久,爲什麼?
82.li與li之間有看不見的空白間隔是什麼原因引起的?有什麼解決辦法?
83.display:inline-block 什麼時候會顯示間隙?
84. 有一個高度自適應的div,裏面有兩個div,一個高度100px,希望另一個填滿剩下的高度
85.png、jpg、gif 這些圖片格式解釋一下,分別什麼時候用。有沒有了解過webp?
86.style標籤寫在body後與body前有什麼區別?
87.CSS屬性overflow屬性定義溢出元素內容區的內容會如何處理?
88.闡述一下CSS Sprites
89. 一行或多行文本超出隱藏
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章