当前位置: 首页 > 面试经验 >

大华前端秋招面经

优质
小牛编辑
80浏览
2023-11-24

大华前端秋招面经

⭐一面

没有一丝丝防备,上课一半电话就打过来了,是个小姐姐

  1. 自我介绍
  2. 技术栈(vue2 vue3简单做过项目 react只是简单学过)
  3. vue2随便挑一个底层原理来讲讲(选了响应式,详细地讲了一遍)
  4. 说说vue3的响应式原理,做一下对比(vue3的还不是很熟,只说了通过proxy实现,能弥补vue2中删除和通过key添加属性不能触发响应式的缺陷,深层原理没有了解)
  5. 打包工具了解哪些(webpack学习过,vite只是用过现成配好的)
  6. 说说你用webpack做过什么优化(打包速度:开启oneof、开多线程/多进程,生产环境请求速度:分包,这里举了我在实际项目中的分包优化,把面试官引向我的项目)
  7. 项目只做了webpack首屏优化吗(回答我的另一个长文章优化,提到了利用缓存、分块传输)
  8. 你提到的分块传输是懒加载吗(有一些区别,因为我还想让用户通过ctrl-f来进行全局检索,所以要分块加载,但不能懒加载)
  9. 你提到了利用缓存,详细说说浏览器缓存还有本地存储(强缓存协商缓存答了一遍,本地缓存我以为是在问我PWA的ServiceWorker)
  10. 问的本地缓存是指cookie webstorage这些,不过你提到了PWA就都说说吧(都答了一遍,并且说在项目中本地配置后跑过PWA,只是需要HTTPS所以不能发布上线)
  11. 做过登录鉴权吗(说了我的博客项目,用的单token进行鉴权)
  12. 说说ES6+(脑子有点短路,只答了块级作用域 proxy,小姐姐引导性的问了我几个,说到promise时我说深入了解过)
  13. 那就说说Promise底层实现吧(整个答了一遍,重点讲了then方法的实现,链式调用和promiseA+要的判定条件)
  14. 再说说闭包和模块化(经典八股,模块化讲了闭包、catch块、IIFE、ESM)
  15. 反问(面试流程:2 + 高管 + HR 四轮面试,流程时间:不确定,投的人是不是很多,每天大概有多少面试:小姐姐说今年人很多,她一个人已经面了四十多个人了,其他面试官也差不多,这还是第二批捞的)

⭐二面

这次面试也是小姐姐负责的

  1. 自我介绍
  2. 主要了解vue2框架是吧(对)
  3. 为什么一开始选择vue框架上手呢?(vue设计理念就是为了让新手更好上手,而且现在国内公司大部分用的还是vue)
  4. 路由懒加载具体是怎么实现的?(使用上来说的话,就是配置时动态引入组件。原理上来说的话,就是webpack打包时会根据我们动态引入的组件进行分包操作,这样在首屏的时候就不需要加载全部内容)
  5. 动态路由相关的API(一时间没反应过来,她说是动态挂载路由,我就说了我的后台项目中根据用户角色来实现路由权限的控制,其中就用到了动态路由,主要是通过addRoutes进行动态添加)
  6. 问项目中的留言墙
    1. 留言的随机位置是如何生成的?(随机数+定位)
    2. 如何判断重复位置(生成后对比)
    3. 那点位重复概率应该比较小,怎么判断不会被遮盖呢(我这个当时没有详细考虑,如果让我现在修改逻辑的话,考虑添加宽度信息,进行比对看是否被遮盖。后来想了想,应该回答只要left和top定位不在同一个点上,那么就不会被完全遮盖,只要鼠标放在对应的块上面,它的层级就会变到最高,而这里要实现的也不是留言的完全展示,而是一个热闹的景象,就和山崖边的同心锁或老树上的许愿条幅一般,聚集着的是人们的一个寄托。)
    4. 你是怎么想到做留言墙的(在博客里面感觉留一个这样的东西比较有趣)
    5. 考虑过其他一些实现形式吗(没太懂问哪方面的,小姐姐提示我说是UI设计方面的,我就说可以和qq空间朋友圈一样排布,也可以做瀑布流)
  7. 项目中的黑白主题变换是如何实现的(封装了一个切换主题的工具函数,内部通过修改css变量的形式来修改主题色,当前主题是在vuex中保存的,也会在localstorage做一个持久化,这样下次打开的时候就可以加载上次的主题)
  8. js操作css变量的底层原理,是借助库来实现的吗(没有,它原生就有这个能力)
  9. 有在网上了解其他一些css换肤方案吗?(没,因为需求简单,所以就采取的现在这个设计方案)
  10. 另一个电商项目
    1. 也是你的练手项目对吧?(√)
    2. 是PC还是移动?(H5)
    3. 用的什么UI框架(因为是练手项目,所以自己尝试着去把各个组件封装了一下,包括其中的轮播图、按钮之类的)
  11. 这些项目有用打包工具吗,是webpack吗?(是)
  12. 说说webpack常用的配置项(分了开发环境的优化配置以及一些常用的loader和plugin说了)
  13. 分包打包的chunk了解吗(了解,说了项目中首屏优化做的分包操作)
  14. websocket连接机制(先返回101表示切换协议,后续发送心跳包来检测是否存活,记得不清了,不知道这样答对不对)
  15. 说一下HTTPS中证书发放流程(不太懂这个发放流程是指什么,说了非对称加密交换对称密钥,此后通过对称加密通信)
  16. HTTPS中用到的加密算法有哪些(这个真不懂)
  17. 你了解的加密算法(常见的是计算哈希,有MD5,还有一个很长的叫什么H什么X什么256,记不太清了,项目中登录密码加密用的是MD5)
  18. 前端开发时常见的安全问题(说了文章上传时用第三方转义库进行特殊符号转义防XSS,还有get请求会有一个csrf的问题,所以只能用get做查询操作)
  19. svg和canvas的异同点(都是作图的,canvas放大会失真,svg是不会失真的向量图,还有svg我一般是设计拿来直接用的)
  20. 你了解的前端领域范围有哪些(传统的网站开发,PC和H5,以及一些nodejs前端设计到服务端的一些知识)
  21. 前端吸引你的地方在哪里(一开始选前端是因为所见即所得,可以给别人展示,成就感高)
  22. 函数式编程的概念(要做什么就写什么,把过程写出来,而面向对象编程就是对对象发出命令,让它去帮助我们完成事情)
  23. 柯里化的概念(调用函数时,可以先传入一部分参数,后续执行时再传入另一部分参数,可以通过bind实现)看看计算器案例算是柯里化吗
  24. react的设计思想(与MVVM不同,和vue3有点像,上手难度较高一些,只知道这些了)
  25. 你认为java的工作经历对前端岗位的帮助有哪些(有一些相通的设计思想,也对理解SSR有帮助,可以了解更多的业务逻辑)
  26. 结束,没有反问

同样面完没有后续了,间隔时间很长

#面经##大华浙江#
 类似资料: