小米校招前端2面
1 自我介绍
2 问我什么时候毕业???学的GIS怎么就像转前端了呢
3 聊项目
3.1 首屏性能优化,都用webpack做了哪些事情
3.2 为什么会选择webpack,有了解过其他的打包工具吗
3.3 vite和webpack的区别,有什么不同的设计理念
3.4 按需加载是什么?怎么实现的
webpack会把import()语句换成自定义的webpack_require.e 函数,参数为异步加载js的chunkID,该函数内会创建一个script标签,用于异步加载对应js,同时创建一个与该js对应的promise,存储在一个promise数组中 发送jsonp请求,异步加载js 返回的js文件内部会执行window["webpackChunk"].push()方法,即该文件按需加载完之后,就会执行全局的webpackChunk数组的push方法 push方法内部会执行按需加载js文件对应的promise的resolve方法 加载完成,执行import().then()成功回调
3.5 gzip打包产物前后对比
3.6 http缓存
4 vue2和vue3最大的变化、为什么这样设计?
5 vue更改视图后会引发数据变化,那比如一个循环10000次更改一个数据,是会一次性的变化还是变化一万次?
6 vue数据变化到页面视图变化的流程
7算法题:合并两个有序数组
面试官间接对我的评价:为什么要刨根问底地问我(我觉得也没怎么刨根问底问),是为了更好地筛选校招生,像webpack、vite一些基础的东西大家都能讲出来,而且讲的都挺好,所以希望的是回答更加深度;所做的项目真的算是一个产品吗,真的可以交付用户吗?功能是否真的完善?用户使用页面的体验是否真的考虑到?哪些地方还可以继续深挖下?
面试官最后的总结:一个好的前端在一定程度上能够解决服务端的一些缺陷或者是产品的体验
已挂
说实话问题基本上都回答了,最后面试官的评价可能觉得回答的太朴素了,建议非常好,但是对于一个应届校招生好难,已经不是看你基础了,还要有用户思维和产品思维 够卷
#前端##面经#