1. 面试官自我介绍2. 自我介绍一下3. 通信模块WebSocket有遇到什么难点或亮点4. 心跳包字段具体是怎么设计的?5. 聊天室场景实现了哪些消息体?6. 有实现撤回功能吗?撤回是怎么做的?撤回请求是 HTTP 还是 WebSocket?7. 消息的长列表有遇到什么性能问题吗?做了什么优化吗?8. 虚拟列表在什么时候才会有正向收益?9. 虚拟列表的原理,虚拟列表为什么能优化性能?10. Vue 和 React 的响应式原理,优缺点11. Proxy 相对 Object.defineProperty 的优点12. Proxy 的局限性13. 什么是闭包,闭包的作用和危害?14. JS 的原型链和事件循环15. 什么是异步?16. 获取 LocalStorage、浏览器 URL 的参数算异步吗?17. requestAnimationFrame 属于微任务还是宏任务?18. 聊一下你认知中的 CSS 移动端适配手段19. Flex 布局20. 算法:无重复字符的最长子串挂了。