3、4月份的前端面试

162 阅读5分钟

视频面试

  1. 讲讲node的事件驱动?
  2. node事件循环和浏览器事件循环的区别?
  3. 下载文件的实现?如何实现每次下载只下载3个文件?
  4. react循环列表中,key的作用
  5. 判断一个元素进入可视区的方法,使用ES6的API和手写实现
  6. 异步方案都有哪些?
  7. 箭头函数的特性?为什么要使用箭头函数?
  8. vue2的diff算法?
  9. 浏览器渲染流程?
  10. 说说小程序的分包?
  11. 讲讲缓存?
  12. 类数组?
  13. webpack在项目中的优化方案?
  14. 虚拟滚动实现原理是什么?
  15. require和import和区别?
  16. 虚拟DOM
  17. 说说使用WebSocket
  18. useEffect和useLayout的区别?
  19. React中diff的实现?
  20. 如何实现视频推流的?
  21. 为什么选择了electron,解决了什么问题,有没有其他方案可以实现桌面端?
  22. APP消息推送中,如何实现保证了推送的顺序是不变的?
  23. JS事件循环?
  24. transition中,缩放,旋转,位移这些的顺序发生了改变,那界面上的效果也会发生变化吗
  25. BFC是什么?
  26. http的请求方式有哪些,option的作用是什么?
  27. node在什么上运行?
  28. node的执行流程?
  29. 在项目中做的优化有哪些?
  30. vite为什么启动那么快?
  31. http2和http1相比有什么优势?
  32. webpack和vite的区别?

线下面试一

  1. 后台管理权限相关的问题,比如A进入后台管理有两菜单,B进入菜单有三菜单,这个是如何处理的,在什么时候去获取路由;
  2. 对于一个用户,他进入了没有权限的路由,是如何处理的
  3. vue2和 vue3 的数据传递
  4. 讲讲深拷贝和浅拷贝
  5. 说说浏览器的渲染机制
  6. 修改对象中数组的某个值,修改完后界面没发生变化,应如何解决;界面强制刷新,原因是什么?
  7. ref和reative的区别?
  8. let、const、var 的区别
  9. 数组中,使用for和forEach 去过滤某个元素,使用哪个更好,区别是什么,forEach是否能停;
  10. this知道哪些?函数中的this指向哪里;
  11. 匿名函数中的this指向哪里
  12. 地图有用过吗?
  13. linux基本命令有使用过哪些?
  14. echarts常用的属性?
  15. 学习平台有哪些?
  16. 使用的布局,上中下布局,中间高度占满整个屏幕剩余的空间,如何实现?flex布局flex-grow 可以撑开剩余空间;
  17. 横向布局 5块平均分开,用什么属性
  18. 5块水平居中 最后一个单独从上到下排列,如何实现;

线下面试二

  1. 说说对react的理解
  2. 为什么react的虚拟dom提升了性能
  3. 说说虚拟dom的缺点?
  4. react的diff算法是如何去比对两个虚拟dom的
  5. 提高diff算法性能的方法有哪些
  6. react中对事件的处理?
  7. 说说react中setState执行的原理,在什么时候刷新屏幕?
  8. 用D3做了什么
  9. echarts用过哪些东西
  10. react项目中如何解决项目白屏的问题?
  11. react中refs的作用?
  12. 说说Redux,他的工作原理是什么?
  13. react项目中使用hooks实现一个全局弹框,如何维护状态?
  14. react在使用过程中有什么缺点?
  15. 实现断点续传的完整思路,上传一半电脑断电,另一个电脑重新上传,如何实现?
  16. vue3相对vue2在优化改进的地方?
  17. ref和reactive的区别
  18. reactive的变量给整体替换,如何实现
  19. vue2的mixin和vue3的hooks的区别
  20. css3的一些特性
  21. flex布局
  22. 跨组件通信,非父子组件,如何实现的,跨dom的通信如何通信,用事件总线行不行?
  23. vuex存储在浏览器的什么地方?
  24. vuex和pinia的区别
  25. 浏览器同域和不同域的窗口中,sessionStorage和localStorage的共享情况
  26. setInterval和setTimeout各有什么优势
  27. setInterval有什么缺陷?
  28. 对某个词的高亮,如何实现? 文章里面有词ABC 高亮内容中的 A 、B、 C、ABC、AB、BC
  29. 深拷贝和浅拷贝在内存中如何执行?
  30. 原生方法实现深拷贝?

总结

面试比较偏基础的,有的在开发过程中很少留意,答的时候结巴了,在学习的过程中,除了要根据官方文档来学习,也要有自己的思考,要发散思维,不能局限在一个知识点上,面试官会追问某个问题;

对前端工程化考的很少,应该是跟简历上的业务有关系;

前端已死的想法不可取,简历少的原因大概有以下几点:

  1. 业务不匹配
  2. 业务很简单,看上去没做什么内容
  3. 技术栈不匹配,**很多公司都是需要Vue技术栈的
  4. 没有自己的博客、GitHub作品,自身没有亮点

关于全栈

我个人也有向全栈发展,但很多公司貌似要后端到前端的全栈,而不是前端到后端的全栈

后端使用Node、Java需要考虑好,虽然说Node更适合前端,但很多公司后端开发使用的是Java

除非在公司业务上就在做全栈,否则自学的全栈很少有人要

最后

应该专精于某一领域,可视化、音视频等,招聘的时候会有用

如果焦虑35岁退休,那35岁之前如何渡过,应提前规划

多向大佬们学习。

以上仅是我的观点,有疑问,可在评论区留言,听听大家的想法;