前言 由于最近在整理前端常見面試題影锈,整理的文章標(biāo)題可能有些亂计福,導(dǎo)致后期不好查找娃磺,特此總結(jié)目錄锋喜,目錄會(huì)與面試題同步更新。 使用谷歌瀏覽器的可以根據(jù)關(guān)鍵字使用F3搜索功能進(jìn)行查找。 目錄 一嘿般、前端常見面試題 (一)@郝晨光 1. HTML5有哪些新特性?如何處理HTML5新標(biāo)簽的瀏覽器兼容問題涯冠?如何區(qū)分HTML和HTML5炉奴? 2. css3中的transform有哪些屬性?分別用來實(shí)現(xiàn)什么效果蛇更? 3. localStorage瞻赶、sessionStorage、cookie有什么區(qū)別派任? 4. 什么是同源策略砸逊?你都知道哪些解決跨域的方法? 5. 列舉JavaScript的基本數(shù)據(jù)類型和引用數(shù)據(jù)類型 6. Vue2.0的生命周期有哪些掌逛?分別解釋其意思 7. 詳述組件通信 8. 詳述導(dǎo)航守衛(wèi) 9. v-show和v-if有什么區(qū)別师逸?及使用場景 10. v-for和v-if的優(yōu)先級(jí) 二、前端常見面試題(二)@郝晨光 1. Vue常用的指令 2. Vue常用修飾符 3. v-on可以監(jiān)聽多個(gè)方法嗎豆混? 4. Vue中key值的作用 5. Vue組件中的data為什么必須是函數(shù) 三篓像、前端常見面試題(三)@郝晨光 1. keep-alive組件的作用 2. 單頁面應(yīng)用和多頁面應(yīng)用區(qū)別及優(yōu)缺點(diǎn) 3. 什么是計(jì)算屬性?什么情況使用皿伺? 4. computed员辩、methods的區(qū)別 5. 什么是自定義指令,有哪些鉤子函數(shù)及自定義指令的使用場景 6. 父組件獲取異步動(dòng)態(tài)數(shù)據(jù)傳遞給子組件鸵鸥,報(bào)錯(cuò)如何解決奠滑? 7. vue-router參數(shù)傳遞方法詳述及區(qū)別 四、前端常見面試題(四)@郝晨光 1. 什么是Vuex妒穴?詳述Vuex的工作流程 2. 詳述Vuex的核心屬性及使用 3. Vue和Jquery的區(qū)別 4. Vue中的slot是什么宋税? 5. SPA首屏加載慢,該如何解決宰翅? 五弃甥、前端常見面試題(五)@郝晨光 1. 對(duì)MVC、MVP汁讼、MVVM的理解 2. 談?wù)剬?duì)$nextTick的理解及使用場景 3. 漸進(jìn)式框架的理解 4. 組件樣式屬性 scoped 問題及解決方法 5. Vue中的雙向數(shù)據(jù)綁定是如何實(shí)現(xiàn)的 6. 詳述虛擬DOM中的diff算法 7. Vue提供了幾種腳手架模板 8. 常見的幾種MVVM的實(shí)現(xiàn)方式 六淆攻、前端常見面試題(六)@郝晨光 1. Vue路由的實(shí)現(xiàn)原理 2. SPA 路由history模式上線后刷新404 3. router的區(qū)別 4. 自定義過濾器詳解 5. assets和static/public的區(qū)別 七、前端常見面試題(七)@郝晨光 1. 簡述同步和異步的區(qū)別 2. 數(shù)組去重(手寫代碼) 3. 在JavaScript中什么是偽數(shù)組嘿架?如何將偽數(shù)組轉(zhuǎn)化為標(biāo)準(zhǔn)數(shù)組 4. SPA路由history模式瓶珊,打包上線都遇到了哪些問題?你是如何解決的耸彪? 5. JavaScript中callee和caller的作用 八伞芹、前端常見面試題(八)@郝晨光 1. ES5/ES6 的繼承除了寫法以外還有什么區(qū)別? 2. http狀態(tài)碼有哪些?分別是什么意思唱较? 3. 瀏覽器是如何渲染頁面的扎唾? 4. typeof 和 instanceof 相同點(diǎn)與不同點(diǎn) 5. 如何解決回調(diào)地獄?請(qǐng)手寫代碼 九南缓、前端常見面試題(九)@郝晨光 1. 請(qǐng)?jiān)斀庖苿?dòng)端點(diǎn)透胸遇,為什么會(huì)發(fā)生點(diǎn)透?描述發(fā)生的場景及解決方案 2. 移動(dòng)端為什么會(huì)有一像素問題汉形?如何解決纸镊? 3. 你還知不知道其他移動(dòng)端的常見問題? 十概疆、前端常見面試題(十)@郝晨光 1. new操作符干了什么逗威? 2. null和undefined的區(qū)別? 3. eval是做什么的岔冀? 4. iframe的優(yōu)缺點(diǎn) 十一凯旭、前端常見面試題(十一)@郝晨光 1. 什么是事件委托?為什么要用事件委托楣颠? 2. 你如何優(yōu)化自己的代碼尽纽? 3. 什么是盒模型? 4. 行內(nèi)童漩、塊元素弄贿、空元素分別舉例 5. src和href的區(qū)別 十二、前端常見面試題(十二)@郝晨光 1. link和@import的區(qū)別 2. HTML5為什么只需要寫<!DOCTYPE HTML>矫膨? 3. Doctype作用差凹,標(biāo)準(zhǔn)模式和兼容模式有什么區(qū)別 4. 請(qǐng)寫出html5新增的API 5. CSS優(yōu)先級(jí)算法如何計(jì)算? 十三侧馅、前端常見面試題(十三)@郝晨光 1. 列舉三種強(qiáng)制類型轉(zhuǎn)換和兩種隱式類型轉(zhuǎn)換 2. JavaScript typeof返回哪些數(shù)據(jù)類型 3. window.onload 和document.ready的區(qū)別 4. == 和 === 的區(qū)別 5. style標(biāo)簽寫在body前和body后有什么區(qū)別 十四危尿、前端常見面試題(十四)@郝晨光 1. 怎樣添加、移除馁痴、復(fù)制谊娇、創(chuàng)建、查找節(jié)點(diǎn) 2. JQuery的事件委托on罗晕、live济欢、delegate之間有什么區(qū)別 3. 描述一次完整的http請(qǐng)求過程(輸入url敲回車發(fā)生了什么) 十五、前端常見面試題(十五)@郝晨光 1. 什么是函數(shù)防抖和函數(shù)節(jié)流小渊?有什么區(qū)別法褥? 2. 什么是函數(shù)柯里化及有什么用? 3. 談?wù)勀K化開發(fā) 4. 談?wù)勀銓?duì)作用域鏈的理解 5. 什么是深拷貝酬屉?什么是淺拷貝半等?如何實(shí)現(xiàn)一個(gè)深拷貝函數(shù)揍愁? 十六、前端常見面試題(十六)@郝晨光 1. 用正則和非正則杀饵,實(shí)現(xiàn)一個(gè)字符串轉(zhuǎn)為駝峰 2. 判斷一個(gè)字符串中出現(xiàn)次數(shù)最多的字符莽囤,并統(tǒng)計(jì)這個(gè)次數(shù) 3. 寫一個(gè)獲取非行間樣式的函數(shù) 4. 字符串反轉(zhuǎn),如將 '12345678' 變成 '87654321' 5. 將數(shù)字 12345678 轉(zhuǎn)化成 RMB 形式 如: 12,345,678 十七凹髓、前端常見面試題(十七)@郝晨光 1. 解釋jsonp的原理 2. 在工作中你是如何優(yōu)化自己的代碼的烁登? 3. axios是什么?如何使用蔚舀?描述其實(shí)現(xiàn)登錄的流程 十八、前端常見面試題(十八)@郝晨光 1. 手寫promise封裝axios 2. 詳述前端性能優(yōu)化的手段 3. 瀏覽器輸入網(wǎng)址回車發(fā)生了什么 4. 列舉你知道的瀏覽器內(nèi)核 十九锨络、前端常見面試題(十九)@郝晨光 1. 實(shí)現(xiàn)三欄布局赌躺,左右兩欄固定寬度100px,中間欄自適應(yīng)寬度羡儿,實(shí)現(xiàn)三列自適應(yīng)等高 2. 隨機(jī)選取 10 - 50 之間的 10 個(gè)數(shù)字礼患,存入一個(gè)數(shù)組,并排序掠归,并不能有重復(fù) 3. 寫一個(gè)閉包的應(yīng)用例子 4. 如何把函數(shù)add(1,2,3,4)的調(diào)用方式改為add(1)(2)(3)(4); 5. 在javascript中什么是偽數(shù)組缅叠?如何把偽數(shù)組轉(zhuǎn)換為真實(shí)數(shù)組? 6. 異步加載JS的方式有哪些虏冻? 7. 什么是Polyfill肤粱? 8. 封裝一個(gè)簡單的ajax,返回Promise對(duì)象 9. 寫一個(gè)簡單的jsonp的實(shí)現(xiàn)厨相。 二十领曼、前端常見面試題(二十)@郝晨光 1. js的特性不包括; 2. 在javascript中蛮穿,以下變量命名非法的是庶骄; 3. 下列正則表達(dá)式中,匹配首位是小寫字母践磅,其他位數(shù)是小寫字母或者數(shù)字的最少兩位字符串的是单刁; 4. 以下代碼輸出結(jié)果為; 5. 在javascript中府适,以下代碼的運(yùn)行結(jié)果是羔飞; 6. 關(guān)于git和svn的說法正確的是? 7. 在JQuery中细溅,對(duì)于以下代碼褥傍; 8. 在javascript中,執(zhí)行下面的代碼后喇聊,結(jié)果是恍风; 9. axios指的是什么?如何使用?描述其實(shí)現(xiàn)注冊(cè)功能流程朋贬。 10. 通過npm run build打包部署到服務(wù)器上有時(shí)會(huì)出現(xiàn)頁面空白的問題凯楔,一般是什么原因?請(qǐng)具體描述锦募;如果打包后沒有部署在服務(wù)器根目錄摆屯,而是在H5-page中進(jìn)行部署,需要做哪些操作糠亩。 11. 實(shí)現(xiàn)下圖的效果虐骑,獲取今天的日期,以及隨后六天的日期赎线,并對(duì)應(yīng)是周幾廷没。 12. 用YYYY-MM-DD hh:mm:ss 的方式輸出當(dāng)前的時(shí)間,比如當(dāng)前時(shí)間是 2018年4月18日17時(shí)42分23秒垂寥,則輸出2018-04-18 17:42:23 13. 定義一個(gè)字符串颠黎,并輸出這個(gè)字符串中的逗號(hào)和數(shù)字的個(gè)數(shù) 二十一、前端常見面試題(二十一)@郝晨光 1. URL轉(zhuǎn)對(duì)象 2. 不使用循環(huán)返回?cái)?shù)組 3. 事件委托的實(shí)現(xiàn) 4. 冒泡排序 5. 輸出字符串中出現(xiàn)次數(shù)最多的字符及其出現(xiàn)次數(shù) 6. 判斷是否是回文 7. 千分符滞项,將數(shù)字格式化成RMB格式 8. 字符串轉(zhuǎn)駝峰 9. 找出數(shù)組最大的差值狭归,最大值減最小值的差 10. 數(shù)組去重 11. 獲取非行間樣式 12. 斐波那契數(shù)列 二十二、前端常見面試題(二十二)@郝晨光 1. vw文判、vh过椎、rem、em律杠、px的區(qū)別 2. 前端安全:xss攻擊和CSRF攻擊 3. http和https的區(qū)別 4. 優(yōu)雅降級(jí)和逐漸增強(qiáng) 5. 什么是堆和棧 6. 什么是BFC 7. 什么是閉包潭流,閉包的優(yōu)缺點(diǎn),內(nèi)存泄露怎么處理柜去,閉包的使用場景 8. 內(nèi)存泄露 9. 將多維數(shù)組轉(zhuǎn)化為一維數(shù)組 10. JS繼承的方法及優(yōu)缺點(diǎn) 結(jié)言 感謝您的查閱灰嫉,本文由郝晨光整理并總結(jié),代碼冗余或者有錯(cuò)誤的地方望不吝賜教嗓奢;菜鳥一枚讼撒,請(qǐng)多關(guān)照。