【面试题】金九银十,你准备好面试了吗? (30w字前端面试题总结)(JavaScript)
一、数据类型
- JavaScript有哪些数据类型,它们的区别?
- 数据类型检测的方式有哪些
- 判断数组的方式有哪些
- null和undefined区别
- typeof null 的结果是什么,为什么?
- intanceof 操作符的实现原理及实现
- 为什么0.1+0.2 ! == 0.3,如何让其相等
- 如何获取安全的 undefined 值?
- typeof NaN 的结果是什么?
- isNaN 和 Number.isNaN 函数的区别?
- == 操作符的强制类型转换规则?
- 其他值到字符串的转换规则?
- 其他值到数字值的转换规则?
- 其他值到布尔类型的值的转换规则?
- || 和 && 操作符的返回值?
- Object.is() 与比较操作符 “===”、“==” 的区别?
- 什么是 JavaScript 中的包装类型?
- JavaScript 中如何进行隐式类型转换?
- +操作符什么时候用于字符串的拼接?
- 为什么会有BigInt的提案?
- object.assign和扩展运算法是深拷贝还是浅拷贝,两者区别
二、ES6
- let、const、var的区别
- const对象的属性可以修改吗
- 如果new一个箭头函数的会怎么样
- 箭头函数与普通函数的区别
- 箭头函数的this指向哪⾥?
- 扩展运算符的作用及使用场景
- Proxy 可以实现什么功能?
- 对对象与数组的解构的理解
- 如何提取高度嵌套的对象里的指定属性?
- 对 rest 参数的理解
- ES6中模板语法与字符串处理
三、JavaScript基础
-
new操作符的实现原理
-
map和Object的区别
-
map和weakMap的区别
-
JavaScript有哪些内置对象
-
常用的正则表达式有哪些?
-
对JSON的理解
-
JavaScript脚本延迟加载的方式有哪些?
-
JavaScript 类数组对象的定义?
-
数组有哪些原生方法?
-
Unicode、UTF-8、UTF-16、UTF-32的区别?
-
常见的位运算符有哪些?其计算规则是什么?
-
为什么函数的 arguments 参数是类数组而不是数组?如何遍历类数组?
-
什么是 DOM 和 BOM?
-
对类数组对象的理解,如何转化为数组
-
escape、encodeURI、encodeURIComponent 的区别
-
对AJAX的理解,实现一个AJAX请求
-
JavaScript为什么要进行变量提升,它导致了什么问题?
-
什么是尾调用,使用尾调用有什么好处?
-
ES6模块与CommonJS模块有什么异同?
-
常见的DOM操作有哪些
-
use strict是什么意思 ? 使用它区别是什么?
-
如何判断一个对象是否属于某个类?
-
强类型语言和弱类型语言的区别
-
解释性语言和编译型语言的区别
-
for...in和for...of的区别
-
如何使用for...of遍历对象
-
ajax、axios、fetch的区别
-
数组的遍历方法有哪些
-
forEach和map方法有什么区别
四、原型与原型链
- 对原型、原型链的理解
- 原型修改、重写
- 原型链指向
- 原型链的终点是什么?如何打印出原型链的终点?
- 如何获得对象非原型链上的属性?
五、执行上下文/作用域链/闭包
-
对闭包的理解
-
对作用域、作用域链的理解
-
对执行上下文的理解
六、this/call/apply/bind
- 对this对象的理解
- call() 和 apply() 的区别?
- 实现call、apply 及 bind 函数
七、异步编程
- 异步编程的实现方式?
- setTimeout、Promise、Async/Await 的区别
- 对Promise的理解
- Promise的基本用法
- Promise解决了什么问题
- Promise.all和Promise.race的区别的使用场景
- 对async/await 的理解
- await 到底在等啥?
- async/await的优势
- async/await对比Promise的优势
- async/await 如何捕获异常
- 并发与并行的区别?
- 什么是回调函数?回调函数有什么缺点?如何解决回调地狱问题?
- setTimeout、setInterval、requestAnimationFrame 各有什么特点?
八、面向对象
- 对象创建的方式有哪些?
- 对象继承的方式有哪些?
九、垃圾回收与内存泄漏
- 浏览器的垃圾回收机制
- 哪些情况会导致内存泄漏
(2)思维导图
下图对JavaScript面试题的考察频率进行了大致的区分,可以选择性的学习:
给大家推荐一个实用面试题库
1、前端面试题库 (面试必备) 推荐:★★★★★
地址:前端面试题库
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通