前端常见面试流程
通过此篇文章你能学到什么?
- 知识点 + 真题验证
- 通过一个题,学会一类题
- 不是题海战术,而是技巧和思路
真题一:前端为何要进行打包和构建?
从些比较关键的点去讲,再根据自己情况,带些不同的细节,面试官比较喜欢。
代码层面:
研发流程层面:
如果只看得到代码层面,那只是合格的程序员。
而想要往高处走,就要考虑公司层面的东西。
比如这里的,第1、2条,不光能提升个人、团队,甚至公司层面的效率6成以上了。
真题二:module\chunk\bundle区别
- module:各个源码文件,webpack中一切皆模块。
- chunk:在内存中还没有产出的代码块。
- bundle:每个chunk打包后,都可以产生个bundle文件。
真题三:loader和plugin区别
- loader模块转换器,如less->css,举2-3个例子
- plugin扩展插件,如HtmlWebpackPlugin,举2-3个例子
对于有三年及以上经验的读者,可能会被问及:“loader为什么是从右往左的执行顺序?”
逸轩先在这里留个坑,在写完webpack主要内容后,可能会为此问题专门写一篇文章,也可能会写成webpack常见问题合集。
真题四:常见的loader和plugin
把逸轩之前讲过的复习下,能讲出来就好。
全面完整版:
挑几个讲就好
真题五:babel和webpack的区别
Babel.js是新语法编译工具,不关心模块化。
webpack是打包构建工具,是多个loader plugin的集合。你配置什么loader plugin,它就有什么能力。
真题六:如何产出一个lib(第三方工具)
参考webpack.dill.js
当我们自己做些第三方模块或工具的时候,可以用到。
3年有架构经验、或5年经验的同学,可能会被问到 "你有写过loader/plugin么?"“如何编写loader/plugin?”
此处逸轩留个坑,日后会出一篇专门文章带大家手写loader/plugin~点赞关注,不迷路~
真题七:bable-polyfill和able-runtime的区别
真题八:webpack如何实现懒加载
真题九:为何Proxy不能被Polyfill?
因为没有任何东西,可以模拟它
真题十:webpack如何优化构建速度?
可用于生产环境
不可用于生产环境
- 自动刷新
- 热更新
- DllPlugin
讲解重点是场景,不是所有好东西都用。
扩展:webpack如何优化产出代码?
占个坑,这个问题会写大篇幅文章来讲,写完再来补链接。
属于:webpack-> webpack性能优化-> webpack优化产出代码,里面。
这些手段不光要记住,还要理解。
比如:产出效果,不用导致什么副作用等。