字节-生活服务 一面面经

  1. 前10分钟拷打实习,问了实习做过的印象最深的事情(答: 迁移项目从webpack到vite, 使得热重载和冷启动有明显的速度提升)
  2. esm和commonjs的区别
  3. 拷打30分钟的react源码(可能不止下面这些, 问的有点多记不全了)
  4. react setState hook调用之后 内部的一个运作过程(答: 先在fiber上添加update, 打上Tag, 加入任务队列, 等待scheduler调度, commitRoot以及commitRoot是如何处理useLayoutEffect和useEffect)
  5. react什么时候会中断更新(答:根据一帧渲染剩余时间和任务的优先级来判断)
  6. scheduler的实现细节(答:messageChannel通信模拟requestIdlecallback Api)
  7. react更新优先级(答: Transition,Normal, High等优先级)
  8. react是如何做渲染的中断和恢复的(答: 在一个高优先级任务进来时候会被处理到taskQueue的顶部优先调用, 低优先级任务会通过performConcurrent.bind 返回一个新的函数加入在taskQueue里面)
  9. https如何做的(答: 常规八股的回答)
  10. 追问:客户端是如何验证证书的有效性(答: 通过本地存储的证书进行认证的,具体验证过程我不会所以直接跳过了)
  11. 手撕
  12. 提供一个ping函数(返回promise)然后实现一个函数calc。 计算ping的耗时(打印出来)。每5秒计算一次,不能用setInterval。要求返回abort函数用于终止。
  13. 在react中实现第一题的功能,并提供一个hook来调用(返回[start, time, abort])(start:开始计时, time:每次ping的耗时,每次ping完都要更新time, abort:停止计时)
#字节秋招#
全部评论
m
点赞 回复 分享
发布于 08-23 19:42 上海

相关推荐

10 18 评论
分享
牛客网
牛客企业服务