web前端面试题「二」- Javascript篇
2021-02-04 本文已影响0人
loushumei
*** 代表重要程度及频率
内容正不断迭代更新,敬请期待~
一、Javascript基础模块
1. 变量类型和计算
知识点 | 题目 |
---|---|
1.值类型vs引用类型、堆栈模型、深拷贝内容*** 2.typeof运算符*** 3.类型转换,truly和falsely变量 |
①. *** 值类型和引用类型的区别\type of能判断哪些类型\如何准确判断一个变量是不是数组? ②. *** .js 赋值、浅拷贝、深拷贝的区别及实例详解 ③.*** 变量计算-类型转换\何时使用 === 何时使用 == |
2. 原型和原型链
知识点 | 题目 |
---|---|
1.Class和继承,结Jquery的示例来理解.*** 2.instanceof *** 3.原型和原型链:图示&执行规则 |
①. ***class的原型本质,怎么理解? ②. 手写一个简易的的Jquery,考虑插件和扩展性 ③. 如何准确判断一个变量是不是数组? |
3. 作用域和闭包
知识点(本章都很重要***) | 题目 |
---|---|
1.作用域和自由变量. 2.闭包:两种常见的方式& 自由变量查找规则. 3.this.*** |
①. ***浅析作用域、自由变量、闭包. ②. ***this的不同应用场景,如何取值?. ③. ***.js手写bind函数. ④. ***实际开发中闭包的应用场景,举例说明(catch工具) |
4. 异步和单线程
知识点(本章都很重要***) | 题目 |
---|---|
1. 单线程和异步,异步和同步的区别 2. 前端异步的应用场景:网络请求和定时任务 3. Promise解决callback hell |
① 同步和异步的区别是什么?\ 前端异步的场景有哪些? ② 手写Promise加载一张图片 |
event-loop | ③ ***请描述event-loop(时间轮询)机制 |
Promise进阶 | ④ Promise 状态的表现与变化以及执行顺序 |
async/awiat | ⑤ async/awiat 实例详解 |
微任务/宏任务 | ⑥ 微任务/宏任务 实例详解 |
异步执行顺序 | ⑦ ***promise和setTimeout async/await顺序问题 |
二、Javascript-Web-API模块
JS基础知识,是规定语法(ECMA 262 标准).
JS Web API,是网页操作的API(W3C标准)
前者是后者的基础,两者结合才是真正实际的应用
1. DOM-文档对象模型
知识点 | 题目 |
---|---|
DOM本质. DOM节点操作. DOM结构操作. DOM性能*** |
DOM的本质 \ DOM节点操作 \ attr和property的区别. DOM结构操作. ***一次性插入多个DOM节点,考虑性能 |
2. BOM 浏览器对象模型
知识点 | 题目 |
---|---|
navigator 浏览器的信息. screen 屏幕的信息. location 地址的信息. history 前进后退的信息. |
navigator、screen、location、history对象 \ 如何识别浏览器的类型 \ 分析拆解URL的各个部分. |
3. 事件绑定
知识点 | 题目 |
---|---|
事件绑定. 事件冒泡 事件代理*** |
描述事件冒泡的过程 \ 动态数据列表里,如何监听每条数据的点击?. ***手写通用的事件监听函数 |
4. ajax
知识点 | 题目 |
---|---|
XMLHttprequest. 状态码. ***跨域:同源策略,跨域解决方案 |
手写一个简易的ajax. ***AJAX跨域问题讲解 |
5. 存储
知识点 | 题目 |
---|---|
cookie. localStorage sessionStorage |
localStorage、sessionStorage、Cookie的区别 |
三、开发环境
知识点 | 题目 |
---|---|
***git 调试工具 **抓包 ***webpack babel ***linux常用命令 连接测试机 KOA |
*** 前端常用的开发环境核心内容整理[ git/chrome/h5抓包/webpack/linux ] |
四、运行环境
知识点 | 题目 |
---|---|
***网页加载过程 | *** 从输入url到渲染页面的整个过程 |
***性能优化 | ***前端性能优化的方式 ***防抖节流函数封装 |
安全 | 常见的web前端攻击方式有哪些? |
五、HTTP模块
知识点 | 题目 |
---|---|
状态码 methods Restful API header |
HTTP基础面试题[状态码\Methods\Restful API\header] |
描述http的缓存机制***** | *****Http缓存详解 |
六、真题模拟
知识点 | 题目 |
---|---|
对象(Object.keys())、数组、 递归 | 手写深度比较 |
map、parseInt方法参数详解 | [10,20,30].map(parseInt)返回结果解析 |
正则匹配、拆分数组、URLSearchParams | 获取当前页面url参数的三种方法 |
concat()、递归 | 手写数组flatern数组拍平,考虑多层级 |
遍历、set | 数组去重有几种方式? |
数组 | js数组方法整理 |