一面
1丶算法 版本号比较 深拷贝(存在循环引用也要拷贝出来,weakmap出现>2就终止递归)
2丶登陆方案,jwt和cookie比较 session存在哪,为什么存redis,除了并发量和读取速度的考虑还有什么。token存哪,如果存vuex刷新还存在吗。
3丶让你实现一个通用级联框组件且带权限判断,你有什么思路(不会,有没有佬说一下)。面试官追问你如何让嵌套的多层组件获取到权限判断的信息(多层嵌套父子组件通信?provide inject 事件总线)。vue父子组件生命周期
4丶vue响应式原理,系统如何判断需要更新页面了(利用事件循环),页面更新是同步吗。
5丶vue23 diff过程。key的作用是什么,假如key相同会做什么操作
6丶react一个组件发生更新,它的子组件也会更新吗,如何避免,vue呢
7丶react fiber架构说一下,为什么用fiber,中断diff如何实现,时间点如何把握,浏览器和react如何合作,交换控制权(requestIdleCallback,postmessage?)
8丶pnpm优势,如何减少磁盘空间占用,符号链接在里面发生什么作用
9丶vite和webpack区别,vite开发环境首屏速度如何加快(面试官说和http2差不多?并发?),vite构建有哪些阶段,cjs的依赖如何处理。
10丶webpack,loader是什么作用,有什么类的loader,loader的处理顺序,插件是什么,complier和complation区别,有没有写过插件,让你实现同时往所有vue文件中添加一个相同的代码片段如何实现,比如添加一个copyright。知道splitchunk的有哪些规则吗
11丶https和http区别,假如我通过https传输一个账号密码会被看见吗,这时候是对称加密还是非对称,4次握手过程,3个密钥前2个是干嘛的,后一个是干啥(面试官说前2个握手,后一个加密)。
12http2和1.1区别,http2这些都为了什么(你的项目可以考虑升级成2)
2面
1丶一个多表单的场景,用一个草稿去缓存的时候,假如表单根据不同权限有不同的展示,那你如何实现第二次进入展示草稿时怎么实现这种差异(有没有佬解答一波)
2丶babel转换如何实现,语法树是什么数据结构
3丶nodejs和其他语言相比有什么优势(高并发适合io密集,不适合cpu密集)
4丶你要怎么封装虚拟列表,封装成一个通用组件或者hooks
5丶怎么获取海内外用户的打开页面的时间,埋点,怎么发送埋点数据,sendBeacon
#腾讯前端面试#
#腾讯#