一面1. 自我介绍2. React的常见hook3. 跨组件状态怎么管理4. Redux和Zustand的区别(不知道,反正我觉得更简洁)5. Webpack和Vite的区别6. ESBulid为什么热更新更快7. ESMoudle和CommonJS的应用场景区别8. 移动端响应式布局怎么实现9. 媒体查询设了几个档10. 移动端图片使用几倍图11. git revert rebase reset的区别12. git reset --soft 和 git reset --hard的区别13. 单页应用优化14. 组件按需加载,比如引入需要Antd中的一个组件,如何按需加载15. 组件库ESMoudle和CommonJS哪种可以按需加载(为什么ESMoudle可以实现Tree Shaking,CommonJS支持动态加载模块,所以不行)16. 事件循环(浏览器和Node.js的)17. Node.js的组成部分18. Nuxt.js和Next.js等SSR框架的作用代码题1. 实现三栏布局2. 深拷贝和浅拷贝(写一下即可,不是手写)二面1. null和undefined的区别2. typeof null等于什么,为什么是Object(顺带一提 typeof undefined是undefined)3. ES6 let const的引入解决了什么问题4. 什么是闭包(后面面试官提到,对于这类概念性问题,最好能够使用通俗易懂 的语言描述,比如tcp的三次握手,可以比喻为打电话的三次确认,很好的一个思路)5. 深拷贝和浅拷贝的区别6. 纯函数,(我知道react函数式组件用到了这个概念,但不清楚他,只知道无副作用。实际上纯函数是确定性的:给定一组参数,返回值是确定的;没有副作用,不会修改外部状态)7. slice和splice的区别(都是切割数组,slice返回新数组不改变原数组,splice返回被删除的数组不改变原数组)8. 轮询(即在特定间隔时间不断请求资源,分为短轮询和长轮询,短轮询即在间隔较短的时间内不断请求资源;长轮询则是在请求服务器之后保持连接,等待服务器返回新的数据,连接次数较少)9. CSS的层叠性(样式叠加抵消,类似ps的图层概念,同样的权重下,下面的样式可以抵消掉上面的样式,当然不同的选择器也有不同的权重,例如类选择器、ID选择器、标签选择器之类的,行内样式,import关键字等等,样式的层叠性是CSS的基础,面试官也问了我CSS的中文名,即层叠样式表,突出层叠)10. line-height:1是什么效果,我以为是默认行距,但其实是一倍字体大小11. position:sticky,在什么场景下有用12. TCP的三次握手(面试官这里很明显的要我用更加通俗的语言解释)13. vue和react更熟悉哪个,vue,面试官说那我考一些react的吧,哈哈哈14. useEffect15. react优化方法16. 懒加载17. web worker18. 我怎么看待面试八股文这件事,觉得八股文有意义么挂 #百度求职进展汇总# #我的实习求职记录#