面试官是个帅哥,也很有耐心去引导,全程无八股,难度偏大(对我个人来说呜呜)。
1. 深拷贝 不用 JSON API
如何解决循环引用
2. 发布了什么npm包,需要注意什么点?
体积优化
TreeShking
CodeSpliting
bundleSpliting ❌ 这里嘴瓢了,应该是业务系统去做的
开发阶段
Lint 校验
Semver 规范
严格区分devDep, dep
3. 如果把eslint放在devdep里面会发生什么
项目build后体积会不会增大
4. 东子开源项目, 提了哪些PR?
webpack -> contenthash
md4 -> xxxhash64
5. 如何解决hash导致的缓存失效问题
code spliting 运行时分析
runtimechunk
moduleId 如何生成
chunkId如何生成
6. 为什么要在webpack中为文件名追加hash
Http 强缓存
什么是contenthash
7. 如何在CI中设置缓存
github action -> key
hash对比
8. docker 缓存
分离packge.json
docker联合文件系统逐层比较
9. 虚拟机和docker有什么区别 ❌
Docker 镜像体积过大
10. 如何对docker镜像体积进行优化
多阶段构建
拉取更小体积的镜像
11. SSG框架是如何实现的?
SSR : React -> html dom
CSR : Script
12. 如何解决CJS 和 ESM兼容性的问题?
tsc -> tsup
第三方包打成cjs
13. 如何优化webpack?
构建体积优化:
构建性能优化:
14. 没有跨域会有什么问题
Cookie
CSRF
15. 场景:设计一个跨端组件,用最少的代码兼容多端应用 ❌
#春招##滴滴实习##前端##实习##你觉得今年春招回暖了吗#