~~~[purchase:1500]
http://www.hmoore.net/lsmsky/web_quiz/purchase
~~~
- JavaScript語言核心試題
- 1. 原始類型有哪幾種?null 是對象嗎?
- 2. 對象(Object)類型
- 3. typeof vs instanceof
- 4. 類型轉換
- 5. this
- 6. == vs ===
- 7. 閉包
- 8. 深淺拷貝
- 9. 原型
- 10. JS 異步編程及常考面試題
- 10.1 并發(concurrency)和并行(parallelism)區別
- 10.2 回調函數(Callback)
- 10.3 Generator
- 10.4 Promise
- 10.5 async 及 await
- 10.6 常用定時器函數
- 11. Event Loop(事件循環)
- 11.1 進程與線程
- 11.2 執行棧
- 11.3 瀏覽器中的 Event Loop
- 11.4 Node 中的 Event Loop
- 12. new
- 13. instanceof 的原理
- 14. 0.1 + 0.2 != 0.3
- 一、詞法結構
- 1.1 ajax請求webservice接口及Unicode轉義
- 1.2 javascript中的保留字
- 二、類型、值和變量
- 2.1 javascript中的數據類型有哪些?
- 2.2 Javascript中所支持的數字函數
- 2.3 二進制浮點數和四舍五入錯誤
- 2.4 日期計算函數
- 2.5 字符串常用的方法
- 2.6 布爾值的轉化
- 2.7 null和undefined
- 2.8 比較兩個數組
- 2.9 JavaScript類型轉換
- 2.10 變量聲明
- 2.11 變量作用域
- 2.11.1 變量作用域優先級
- 2.11.2 函數作用域和聲明提前
- 2.11.3 作用域鏈
- 三、表達式和運算符
- 3.1 JavaScript運算符
- 3.2 運算符優先級
- 3.3 == 和 ===
- 3.4 in運算符
- 3.5 instanceof運算符
- 3.6 eval()
- 3.7 三元運算符
- 3.8 typeof運算符
- 3.9 delete運算符
- 四、語句
- 4.1 枚舉對象的屬性和屬性值
- 4.2 跳轉語句
- 4.2.1 break與contiinue
- 4.2.2 return語句
- 4.2.3 throw語句
- 4.2.4 try/catch/finally語句 問題一:try/catch/finally語句
- 4.3 with、debugger和use strict
- 4.4 for循環
- 五、對象
- 5.1 對象基礎
- 5.2 對象直接量與new創建對象
- 5.3 原型與原型鏈
- 5.4 Object.create()
- 5.5 屬性的查詢和設置
- 5.6 刪除屬性
- 5.7 檢測屬性
- 5.8 枚舉屬性
- 5.9 屬性getter和setter
- 5.9.1 存取器屬性實例一
- 5.9.2 存取器屬性實例二
- 5.9.3 存取器屬性實例三
- 5.10 屬性的特性
- 5.10.1 如何實現屬性特性的查詢和設置操作
- 5.10.2 修改不允許創建后修改的屬性
- 5.10.3 復制屬性的特性
- 5.11 對象的三個屬性
- 5.11.1 原型屬性
- 5.11.2 類屬性
- 5.11.3 可擴展性
- 5.12 序列化對象
- 5.13 對象方法
- 六、數組
- 6.1 JS數組基礎
- 6.2 創建數組
- 6.3 數組元素的讀和寫
- 6.4 稀疏數組
- 6.5 數組長度
- 6.6 數組元素的添加和刪除
- 6.7 數組遍歷
- 6.8 多維數組
- 6.9 數組方法
- 6.10 數組類型
- 6.11 類數組對象
- 6.12 作為數組的字符串
- 七、函數
- 7.1 函數定義
- 7.2 函數調用
- 7.2.1 函數調用
- 7.2.2 方法調用
- 7.2.3 構造函數調用
- 7.2.4 間接調用
- 7.3 函數的實參和形參
- 7.3.1 可選形參
- 7.3.2 可變長的實參列表:實參對象
- 7.3.3 將對象的屬性用做實參
- 7.3.4 實參類型
- 7.4 作為值的函數
- 7.5 作為命名空間的函數
- 7.6 閉包
- 7.7 函數的屬性、方法和構造函數
- 7.7.1 length屬性
- 7.7.2 prototype 屬性
- 7.7.3 call()方法和apply()方法
- 7.7.4 bind()方法
- 7.7.5 toString()方法
- 7.7.6 Function()構造函數
- 7.7.7 可調用的對象
- 7.8 函數式編程
- 7.8.1 使用函數處理數組
- 7.8.2 高階函數
- 7.8.3 不完全函數
- 7.8.4 記憶
- 八、類和模板
- 8.1 類和原型
- 8.2 類和構造函數
- 8.2.1 構造函數和類的標識
- 8.2.2 constructor 屬性
- 8.3 JS中Java式的類繼承
- 8.4 類的擴充
- 8.5 類和類型
- 8.5.1 instanceof 運算符
- 8.5.2 constructor屬性
- 8.5.3 構造函數的名稱
- 8.5.4 鴨式辯型
- 8.6 JS中的面向對象
- 8.6.1 集合類
- 8.6.2 枚舉類型
- 8.6.3 標準轉換方法
- 8.6.4 比較方法
- 8.6.5 方法借用
- 8.6.6 私有狀態
- 8.6.7 構造函數的重載和工廠方法
- 8.7 子類
- 8.7.1 定義子類
- 8.7.2 構造函數和方法鏈
- 8.7.3 組合 VS 子類
- 8.7.4 類的層次結構和抽象類
- 8.8 ES5中的類
- 8.8.1 讓屬性不可枚舉
- 8.8.2 定義不可變的類
- 8.8.3 封裝對象狀態
- 8.8.4 防止類的擴展
- 8.8.5 子類和ES5
- 8.8.6 屬性描述符
- 8.9 模塊
- 8.9.1 用做命名空間的對象
- 8.9.2 作為私有命名空間的函數
- 九、正則表達式
- 9.1 正則表達式的定義
- 9.1.1 直接量字符
- 9.1.2 字符類
- 9.1.3 重復
- 9.1.4 選擇、分組和引用
- 9.1.5 指定匹配位置
- 9.1.6 修飾符
- 9.2 用于模式匹配的String方法
- 9.3 RegExp對象
- 9.3.1 RegExp的屬性
- 9.3.2 RegExp的方法
- 十、JavaScript的子集和擴展
- 10.1 JS的子集
- 10.1.1 精華
- 10.1.2 子集的安全性
- 10.2 常量和局部變量
- 10.3 解構賦值
- 10.4 迭代
- 10.4.1 for/each循環
- 10.4.2 迭代器
- 10.4.3 生成器
- 10.4.4 數組推導
- 10.4.5 生成器表達式 問題一 生成器表達式?
- 10.5 函數簡寫
- 10.6 多catch從句
- Vue面試題
- 一、vue-cli依賴的 Node.js 環境安裝
- 二、vue-cli 工程技術集合介紹
- 三、vue-cli 工程目錄結構介紹
- 四、vue.js 核心知識點高頻試題一
- 4.1 對于Vue是一套漸進式框架的理解
- 4.2 請說出vue幾種常用的指令
- 4.3 請問 v-if 和 v-show 有什么區別?
- 4.4 vue常用的修飾符
- 4.5 v-on可以監聽多個方法嗎?
- 4.6 vue中 key 值的作用
- 4.7 vue-cli工程升級vue版本
- 4.8 vue事件中如何使用event對象?
- 4.9 $nextTick的使用
- 4.10 Vue 組件中 data 為什么必須是函數
- 4.11 v-for 與 v-if 的優先級
- 五、vue.js 核心知識點高頻試題二
- 5.1 vue中子組件調用父組件的方法
- 5.2 vue中 keep-alive 組件的作用
- 5.3 vue中編寫可復用的組件
- 5.4 vue生命周期有關的試題
- 5.5 vue如何監聽鍵盤事件中的按鍵?
- 5.6 vue更新數組時觸發視圖更新的方法
- 5.7 vue中對于對象的更改檢測
- 5.8 解決非工程化項目初始化頁面閃動問題
- 5.9 v-for產生的列表,實現active的切換
- 5.10 v-model語法糖的使用
- 六、vue.js 核心知識點高頻試題三
- 6.1 十個常用的自定義過濾器
- 6.2 vue等單頁面應用及其優缺點
- 6.3 vue的計算屬性
- 6.4 vue提供的幾種腳手架模板
- 6.5 vue父組件向子組件通過props傳遞數據
- 6.6 vue-cli開發環境使用全局常量
- 6.7 vue-cli生產環境使用全局常量
- 6.8 vue彈窗后如何禁止滾動條滾動?
- 6.9 計算屬性的緩存和方法調用的區別
- 6.10 vue-cli中自定義指令的使用
- 6.11 父組件異步獲取動態數據傳遞給子組件
- 七、vue-router 路由高頻考題
- 7.1 vue-router響應 路由參數 的變化
- 7.2 完整的 vue-router 導航解析流程
- 7.3 vue-router有哪幾種導航鉤子( 導航守衛 )?
- 7.4 vue-router的幾種實例方法以及參數傳遞
- 7.5 vue-router的動態路由匹配以及使用
- 7.6 vue-router如何定義嵌套路由?
- 7.7 router-link組件及其屬性
- 7.8 vue-router實現路由懶加載( 動態加載路由 )
- 7.9 vue-router路由的兩種模式
- 八、vuex 狀態管理高頻試題
- 8.1 什么是vuex?
- 8.2 使用vuex的核心概念
- 8.3 vuex在vue-cli中的應用
- 8.4 如何在組件中去使用vuex的值和方法?
- 8.5 在vuex中使用異步修改
- 九、axios、fetch、ajax等請求高頻試題
- 9.1 Promise對象是什么
- 9.2 axios、fetch與ajax有什么區別?
- 9.3 JS的同源策略和跨域問題
- 9.4 如何解決跨域問題?
- 9.5 vue-cli中使用JSON數據模擬
- 9.6 axios有哪些特點?
- 十、前端 UI 樣式高頻試題
- 10.1 組件樣式屬性 scoped 問題及解決方法
- 10.2 vue常用的UI組件庫
- 10.3 vue組件適配移動端【經典】
- 10.4 移動端適配常用媒體查詢源碼
- 10.5 垂直居中對齊
- 10.6 vue-cli中如何使用背景圖片?
- 10.7 使用表單禁用時移動端樣式問題
- 10.8 多種類型文本超出隱藏問題
- 10.9 vue-cli工程引入全局less變量
- 十一、vue中常用功能實現與詳解
- 11.1 vue中如何實現tab切換功能?
- 11.2 利用<keep-alive></keep-alive>標簽實現某個組件緩存功能
- 11. 3 vue中實現切換頁面時為左滑出效果
- 11.4 vue無痕刷新
- 11.5 多種情景的數組去重
- 11.6 vue保留滾動條位置
- 11.7 vue組件中使用定時器
- 11.8 組件slot使用示例
- 11.9 使用遞歸組件實現級聯選擇器
- 11.10 使用遞歸組件實現樹形控件
- 11.11 幾種常見的自定義指令詳解
- 11.11.1 實現一個表單自動聚焦的自定義指令
- 11.11.2 實現一個可從外部關閉的下拉菜單
- 11.11.3 實現一個實時時間轉換指令v-time
- 11.12 兩種類型的循環單選選擇、取消功能
- 十二、vue各種情況的組件間通信
- 12.1 關于vue組件間通信問題的回答
- 12.2 萬金油:vue中央事件總線的使用
- 12.3 props:最基礎的父子組件間傳遞數據
- 12.4 v-model語法糖:子組件向父組件傳遞數據
- 12.5 .sync 修飾符:進行父子組件間相互傳遞數據
- 12.6 $attrs屬性:父孫組件間傳遞數據
- 12.7 $on屬性:子組件調用父組件方法
- 12.8 $listeners屬性:孫組件調用父組件的方法
- 12.9 $refs屬性:
- 12.10 $parent屬性:
- 12.11 $children屬性:
- 十三、混合開發:vue工程與app交互
- 十四、vue開發命令的執行過程【拓展】
- 十五、vue-cli工程打包后.js文件詳解
- 15.1 vue打包命令是什么?
- 15.2 vue打包后會生成哪些文件?
- 15.3 配置 vue 打包生成文件的路徑
- 15.4 vue如何優化首屏加載速度?
- 十六、MVVM設計模式高頻試題
- 16.1 MVC、MVP與MVVM模式
- 16.2 MVC、MVP與MVVM的區別
- 16.3 常見的實現MVVM幾種方式
- 16.4 Object.defineProperty()方法
- 十七、實現一個自己的MVVM
- 17.1 準備知識
- 17.1.1 ES6中類和定義
- 17.1.2 JS中的文檔碎片
- 17.1.3 解構賦值
- 17.1.4 Array.from與Array.reduce
- 17.1.5 遞歸的使用
- 17.1.6 Obj.keys()與Obj.defineProperty
- 17.1.7 發布-訂閱模式
- 17.2 效果示例
- 17.3 思路分析
- 17.4 項目地址
- 十八、vue-cli中的配置詳解
- 18.1 webpack的特點
- 十九、源碼剖析
- 19.1 剖析 Vue 內部運行機制
- 19.1.1 Vue.js 全局運行機制
- 19.1.2 響應式系統的基本原理
- 19.1.3 響應式系統的依賴收集追蹤原理
- 19.1.4 實現 Virtual DOM 下的一個 VNode 節點
- 19.1.5 template 模板是怎樣通過 Compile 編譯的
- 19.1.6 數據狀態更新時的差異 diff 及 patch 機制
- 19.1.7 批量異步更新策略及 nextTick 原理
- 19.1.8 proxy代理過程
- 19.2 剖析 vue-router 內部運行機制
- 19.2.1 重要函數思維圖解
- 19.3 剖析 vuex 內部運行機制
- 19.3.1 準備知識
- 1. Vue.mixin
- 2. Vue.use
- 19.3.2 插件安裝
- 19.3.3 Store
- 19.3.4 使用源碼
- 19.4 剖析 axios 內部運行機制
- 二十、發布一個 npm 資源包
- 二十一、vue的服務器端渲染
- 二十二:資料分享
- React面試題(完善中)
- 一、基礎概念
- 1.什么是虛擬DOM
- 2.Dom-Diff是如何實現?
- Webpack面試題
- 1. 減少 Webpack 打包時間
- 2. 減少 Webpack 打包后的文件體積
- 一、Webpack基礎介紹
- 1.1 模塊化
- 1.2 構建的作用及常見功能
- 1.3 常見的構建工具及其優缺點
- 1.4 webpack
- 1.5 Loader
- 1.6 Plugin
- 1.7 DevServer
- 1.8 webpack的核心概念
- 二、Webpack配置
- 2.1 Entry
- 2.2 Output
- 2.2.1 filename配置
- 2.2.2 chunkFilename配置
- 2.2.3 path配置
- 2.2.4 publicPath配置
- 2.2.5 crossOriginLoading配置
- 2.2.6 libraryTarget 和 library配置
- 2.2.7 var (默認)配置
- 2.2.8 commonjs配置
- 2.2.9 commonjs2配置
- 2.2.10 this配置
- 2.2.11 window配置
- 2.2.12 global配置
- 2.2.13 libraryExport配置
- 2.3 Module
- 2.3.1 Loader配置
- 2.3.2 noParse配置
- 2.3.3 parser配置
- 2.4 Resolve
- 2.4.1 alias配置
- 2.4.2 mainFields配置
- 2.4.3 extensions配置
- 2.4.4 modules配置
- 2.4.5 descriptionFiles配置
- 2.4.6 enforceExtension配置
- 2.4.7 enforceModuleExtension配置
- 2.5 Plugin
- 2.6 DevServer
- 2.6.1 hot配置
- 2.6.2 inline配置
- 2.6.3 historyApiFallback配置
- 2.6.4 contentBase配置
- 2.6.5 headers配置
- 2.6.6 host配置
- 2.6.7 port配置
- 2.6.8 allowedHosts配置
- 2.6.9 disableHostCheck配置
- 2.6.10 https配置
- 2.6.11 clientLogLevel配置
- 2.6.12 compress配置
- 2.6.13 open配置
- 2.7 其他配置
- 2.7.1 Target配置
- 2.7.2 Devtool配置
- 2.7.3 Watch 和 WatchOptions
- 2.7.4 Externals配置
- 2.7.5 ResolveLoader配置
- 2.8 如何整體配置結構
- 2.9 判斷如何配置 Webpack
- 三、Webpack實戰
- 3.1 如何接入ES6
- 3.2 如何接入SCSS
- 3.3 React的使用
- 3.4 Vue的使用
- 3.5 使用 Angular2 框架
- 3.6 為單頁應用生成 HTML
- 3.7 離線應用
- 3.7.1 使用 Service Workers 實現離線緩存
- 3.7.2 接入 Webpack
- 3.8 檢查代碼
- 四、Webpack優化
- 4.1 縮小文件搜索范圍
- 4.1.1 優化 loader 配置
- 4.1.2 優化 resolve.modules 配置
- 4.1.3 優化 resolve.mainFields 配置
- 4.1.4 優化 resolve.alias 配置
- 4.1.5 優化 resolve.extensions 配置
- 4.2 構建動態鏈接庫
- 4.2.1 接入 Webpack
- 4.2.2 如何實現構建動態鏈接庫
- 4.3 如何把任務分解給多個子進程去并發的執行
- 4.4 多進程壓縮代碼
- 4.5 使用自動刷新
- 4.6 熱模塊替換
- 4.6.1 優化模塊熱替換
- 4.7 區分環境
- 4.7.1 實現原理
- 4.8 CDN加速
- 4.8.1 用 Webpack 實現 CDN 的接入
- 4.9 Tree Shaking優化
- 4.9.1 接入 Tree Shaking
- 4.10 提取公共代碼
- 4.10.1 如何通過 Webpack 提取公共代碼
- 4.11 按需加載
- 4.11.1 用 Webpack 實現按需加載
- 4.11.2 實例強化(按需加載與 ReactRouter)
- 4.12 優化代碼在運行時的效率
- 4.12.1 接入 Webpack
- 4.13 開啟 Scope Hoisting
- 4.13.1 接入webpack
- 4.14 輸出分析
- 五 . Webpack原理
- 5.1 流程概括
- 5.2 流程細節
- Nodejs面試題
- 1.Nodejs是單線程還是多線程?
- 2.為什么Nodejs單線程卻能夠支持高并發?
- 3.Nodejs事件循環機制
- 4.Nodejs中libuv庫的作用是什么?
- 5.請簡述一下node的多進程架構
- Http協議面試題
- 說明
- 重點:輸入 URL 到頁面渲染的整個流程
- 一、網絡基礎
- 1.1 TCP/IP協議族
- 1.1.1 什么是TCP/IP協議族
- 1.1.2 TCP/IP協議族按層次劃分了哪幾次?
- 1.1.3 HTTP請求時,TCP/IP通信傳輸流
- 1.2 網絡層:IP協議
- 1.3 傳輸層:TCP協議、UDP協議
- 1.3.1 TCP協議位于哪一層
- 1.3.2 TCP頭部有哪些重要字段?
- 1.3.3 TCP協議的三次握手
- 1.3.4 為什么 TCP 建立連接需要三次握手?
- 1.3.5 UDP 與 TCP 的區別是什么?
- 1.3.6 ARQ協議
- 1.3.7 滑動窗口協議
- 1.3.8 擁塞處理
- 1.4 應用層:DNS服務
- 1.5 URL和URI
- 1.5.1 URI
- 1.5.2 絕對URI的格式
- 1.6 RFC
- 二、Http協議
- 2.1 HTTP請求報文組成
- 2.2 HTTP協議的狀態
- 2.3 告知服務器意圖的HTTP方法
- 2.4 TCP的持久連接
- 2.5 使用Cookie的狀態管理
- 三、HTTP報文內的HTTP信息
- 3.1 HTTP報文類型和結構
- 四、HTTP狀態碼
- 五、與HTTP協作的 Web 服務器
- 5.1 通信數據轉發程序:代理
- 5.2 通信數據轉發程序:網關
- 5.3 通信數據轉發程序:隧道
- 六、HTTP首部
- 6.1 HTTP首部字段類型
- 6.2 通用首部字段
- 6.3 請求首部字段
- 6.4 響應首部字段
- 6.5 實體首部字段
- 6.6 非HTTP/1.1 首部字段
- 6.7 為Cookie服務的首部字段
- 6.8 其他首部字段
- 七、HTTPS
- 7.1 HTTP的缺點
- 7.2 HTTP與HTTPS
- 7.3 HTTPS的加密方式
- 7.4 HTTPS的通信步驟
- 7.5 HTTPS的缺點
- 八、基于HTTP的功能追加協議
- 8.1 SPDY協議
- 8.2 webSocket協議
- 8.3 HTTP/2.0
- Web安全面試題
- 1.XSS原理及防范
- 2.CSRF原理及防范
- 3.如何保證你的HTTP cookies安全不受XSS攻擊
- 瀏覽器相關面試題
- 1.瀏覽器內核拿到html文件后,渲染流程是怎么樣?
- 2.瀏覽器是多進程還是單進程?
- 讓你的簡歷與眾不同
- 1.如何寫好一份讓面試官喜歡的簡歷?