js基础
-
数组操作
-
哪些会改变原数组(pop、splice、reverse等等)
-
哪些不会改变原数组(map、reduce、filter等)
-
生成数组的几种方法和区别
-
数组去重的几种方式
-
-
函数
-
变量提升
-
具名函数与匿名函数的特性和区别
-
异步函数的发展史(callback->generator->promise->async/await)
-
函数链式调用、函数柯里化
-
arguments对象(取参数、caller、callee)
-
函数作用域链怎么生成
-
块级作用域(if else、try catch、let的效果)
-
-
对象
-
宿主对象、原生对象、内置对象
-
深拷贝浅拷贝实现
-
对象解构,扩展运算符
-
对象的几种创建方式
-
Object.defineProperty
-
(次要)Proxy与Reflect
-
-
值比较
-
==与===区别
-
抽象相等比较算法&toPrimitive方法
-
-
this
-
隐式绑定与显示绑定,各种绑定this方式的优先级
-
bind、call、apply绑定的区别与源码实现
-
new的原理
-
几种继承方式:原型链继承、组合继承、寄生组合继承(constructor的丢失问题)等等的实现与优缺点
-
箭头函数与普通函数的几个区别
-
严格模式下的this
-
-
原型链
-
记住原型链从末段到顶端的模型
-
Object与Function的关系
-
proto与prototype的含义
-
类型判断几种方法的区别和具体实现
-
-
promise
-
实现原理和PromiseA+规范
-
promise、promise.then与setTimeout的执行顺序(涉及Event Loop的原理)
-
async、await与Generator的关系
-
promise.all、promise.race、promise.catch、deferred对象等细节
-
-
正则表达式
-
分组、分支、单行、多行、全局、match、exec、RegExp
-
正则的回溯问题
-
正则在split、replace中的使用
-
-
内存泄漏问题
-
出现情况、如何避免
-
垃圾回收机制(引用计数算法、标记清除算法、标记压缩算法等等)
-
-
其他问题
-
数字精度问题
-
位运算的实际应用
-
进制转换
-
节流、防抖的实现
-
中间件的原理实现
-
几种设计模式的概念
-
-
数据结构
-
队列、栈、链表
-
二叉树、二分搜索树
-
堆、最小堆、最大堆
-
几种排序算法(冒泡、插入、选择、快排)的实现和复杂度比较
-
具体算法题刷LeetCode
-
-
浏览器
-
HTML
-
事件模型
-
捕获阶段、冒泡阶段、目标阶段
-
事件委托
-
DOM0级事件、DOM2级事件
-
-
Storage
-
localStorage的兼容问题
-
使用localStorage缓存数据和资源
-
XHTML、HTM4、HTML5的区别
-
-
css
-
格式化上下文:BFC、IFC、FFC、GFC概念和应用
-
块级元素、行内元素的区别
-
css选择器权重算法
-
样式优先级
-
移动端ios的穿透问题和300毫秒点击延迟问题
-
css的baseline概念
-
css3新属性/伪类
-
-
http相关
-
强缓存、协商缓存机制
-
expire、cache-control
-
last-modified、eTag
-
http各个状态码的概念
-
http2.0与1.0、1.1的区别
-
-
cookie
-
如何读写
-
设置过期时间
-
设置domain限制、了解domain匹配规则
-
cookie与sessonId的关联
-
-
ajax请求
-
XMLHttpRequest的使用
-
CORS的简单请求、复杂请求区别
-
在不同浏览器的兼容
-
ajax的五种状态
-
和fetch的比较
-
与form表单请求的区别
-
几种跨域请求的方式对比(jsonp、CORS、iframe、postMessage等等)
-
-
安全防范
-
xss攻击
-
转义处理、CSP内容安全策略
-
处理富文本编辑器(设置白名单)
-
CSRF攻击
-
cookie
-
token
-
-
浏览器渲染
-
浏览器渲染过程、输入URL到页面渲染的过程
-
合成层的原理/GPU加速原理
-
-
性能优化
-
重绘、重排的原理、如何引起如何减少
-
http缓存,见上
-
script的摆放和和defer、async属性
-
chrome的preload、prefetch
-
window.Performance进行页面性能监控(白屏时间、首屏时间、可交互时间等等的计算)
-
CDN加速(原理)、资源合并、压缩
-
尽量使用css代替js,减少script执行时间
-
gzip压缩
-
-
(次要)几条浏览器线程的作用
-
网友评论