- 合并两个数组的方法
- 合并两个对象的方法
- 求字符串数组最长公共前缀,如输入: ['flo', 'flower', 'flight'],输出: 'fl'
- 获取精度较高的时间
- 获取首屏时间
- 手写深拷贝
- 如何实现正则的深拷贝
- 介绍原型鸡生蛋、蛋生鸡问题
- 模拟实现 Array.prototype.splice
- 节流实现
- 解析url中的query参数
- jsonp的代码实现(遇到并发很多请求,window下变量覆盖问题怎么处理)
- es module 和 commonjs 的区别,以及异步加载模块的方案(AMD/CMD)和模块化发展历程
- 写 new 的执行过程
- 写一个处理加法可能产生精度的函数,比如 0.1 + 0.2 = 0.3
- 写一个 es6 的继承过程
- 写一个大数相乘的解决方案。传两个字符串进来,返回一个字符串
- 写一个防抖函数
- 闭包的理解
- 面向对象理解
- 函数式编程理解
- 斐波那契数列?怎么优化?
- 从数组中找出三数之和为n
- 二分查找的时间复杂度怎么求?
- null和undefined的区别
- 冒泡排序算法和数组去重
- 描述一下Promise
- Promise.all中如果有一个抛出异常了会如何处理
- Promise为什么能链式调用
- 实现一个Promise
- 描述一下EventLoop的过程
- 冒泡和捕获的具体过程
- 所有的事件都有冒泡吗?
- 描述下原型链
- typeof和instanceof的区别,并实现instanceof
- typeof null === 'object'为什么等于true
- 对this的理解
- apply/call/bind的相同和不同,并实现
- setTimeout的原理,与requestAnimationFrame有什么区别
- ['1', '2', '3'].map(parseInt) what & why ?
- 介绍下 Set、Map、WeakSet 和 WeakMap 的区别?
- ES5/ES6 的继承除了写法以外还有什么区别?
Object.prototype.toString.call()instanceofArray.isArray()这三种判断数组类型的方法的优劣a.b.c.d和a['b']['c']['d'],哪个性能更高?- ES6 代码转成 ES5 代码的实现思路是什么
- 为什么普通 for 循环的性能远远高于 forEach 的性能,请解释其中的原因。
- 数组里面有10万个数据,取第一个元素和第10万个元素的时间相差多少
- var、let 和 const 区别的实现原理是什么
- setTimeout、Promise、Async/Await 的区别
- Async/Await 如何通过同步的方式实现异步
- JS 异步解决方案的发展历程以及优缺点
- Promise 构造函数是同步执行还是异步执行,那么 then 方法呢?
ps: 仅收集题目,答案自行搜索。
部分题目的答案在我的github中有笔记,有兴趣的可以看看: github.com/jjaimm/fron…
来源: