JS 基础知识
- 闭包
js
// 结合代码说明什么是闭包,判断变量b的生命周期是否被延长
function wrap() {
let a = 1;
let b = {'b' : a};
return function() {
a++;
return a;
}
}
let fn = wrap();
let a = fn();
考察词法作用域概念
- 浏览器任务优先级与渲染机制
考察浏览器的微任务、宏任务,promise 等
- 介绍一下 https 与 http 的区别,说一下你了解的 http header
考察网络基础,https 的对称加密与非对称加密的理解,http1.1 与 http2.0的区别在哪里。 常见的 http header,协商缓存与强制缓存以及不缓存,html 等各种资源的缓存策略 前后的鉴权如何实现
- 介绍项目,技术栈,根据技术栈提问相关的内容
- TS 的高阶函数随便问几个
- 对 hook 的理解,如果是 vue 介绍下 vue 的响应式原理,react 介绍下 react hook 数据结构,或者 diff 算法的理解
工程化
- 介绍下 CI/CD 以及部署的 workflow
- 深入 docker image,k8s 等 devops 工具使用,考察实际工作能力
编程题
- 实现 LRU 缓存,分析复杂度
- 如果 LRU 不了解可以换成实现深拷贝