腾讯前端一面
自我介绍
为什么选择前端这个方向?
如何理解ToC和ToB业务的区别?
从输入URL到页面渲染发生了什么?
什么情况下会引起重排(Reflow)?
CSS中的几种定位(position)有什么区别?
了解CDN吗?如何更新CDN中的内容?
项目中如何实现登录?登录状态是如何保存的?
Token和(本地)存储(Storage)有什么区别?
如何实现单点登录(同一账号后登录的设备会踢出先登录的)?
什么是OPTIONS预检请求?
如何实现跨域?
前端常见的网络攻击有哪些(如XSS、CSRF)?如何防御?
Flex布局和Grid布局有什么区别?Flex弹性布局的实现原理是什么?
如何实现并发请求?Promise.all的实现原理是什么?
async/await和Promise有什么区别?了解它和Generator的关系吗?(不了解generator)
是否实现过动画效果?(引申到性能优化)
描述一下React的生命周期。
描述一下Redux的数据流。
React后续版本(相对于旧版)做了哪些重要优化或更新?(如Fiber、Hooks)
useMemo的作用是什么?
Git常用命令有哪些?rebase和merge,stash,cherry-pick的作用和区别是什么?
Webpack和Vite有什么区别?了解Vite速度快的原因和热更新(HMR)的原理吗?
介绍一下项目中的长列表(虚拟列表)性能优化。定高和不定高场景分别如何实现?如何处理预估高度与实际高度差异过大(如长图)导致的滚动条抖动问题?
除了长列表,还做过哪些性能优化或项目中有哪些其他亮点难点?(引申出撤销重做功能的内存优化)