本次的候选人十年工作经验,做了多年后端,最近几年在写前端,在公司负责工程化建设与基础组件维护,在面试过程中也可以看出对此掌握程度很高。
以下是简历大致内容:
山月的面试问题记录
- webpack5
- cache -> system
- 模块联邦
- 微前端/qiankun
- 沙箱是如何实现隔离的
- 共享模块 lodash
- qiankun 迁移至 module fedoration 的考虑
- 打包阶段确认导出什么东西
- runtime source code
- webpack 是如何动态加载 chunk 的
- jsonp
- jsonp -> import()
- 包裹函数
- module wrapper
- https://nodejs.org/api/modules.html#the-module-wrapper
- commonjs 加载一个 module
webpack_require
-> vm.runInContext
- vite
- vite/snowpack
- commonjs -> es
- 为什么有的 package 去转化成 es
- default
- nodejs
- vm
- pnpm -> npm
- 优点
- 安装速度很快
- 不稳定
- 软链接/硬链接
- 为什么不都是用软链接呢?
- https://github.com/nodejs/node-eps/issues/46
- store
- 不是单独的文件夹?
- nginx -> nestjs
- ssr
- 封装 hooks
- react-query
- swr
- 乐观 UI
- useRequest: 是否发包
- debounce
- 定期 code review
- 一个月
候选人的面经
自己想要参加这次面试主要是想给自己接下来真正应试做个热身,毕竟也三年多没有准备和经历面试了。
通过这场面试,我觉得自己对临场的话术方面还有提升空间,对自己熟悉的部分可以想办法更多的去引导面试官,对自己不熟悉的部分要多一些答题技巧。
其中没有回答好的问题:
为什么pnpm没有彻底有软链接,而是软硬结合,其实这个官网是有答案的,自己学习没注意到: https://pnpm.io/faq#why-have-hard-links-at-all-why-not-symlink-directly-to-the-global-store
这次面试聊得非常开心,再次感谢山月老师的面试