顺丰前端二面
- 自我介绍。
- 你参与开源项目时有没有遇到什么难点挫折,你是怎么解决的。
- 你在阅读源码的时候有没有去尝试理解它的整个项目架构,比如它的模块是怎么划分的,模块和模块之间的协作又如怎样的。
- 你有没有从中借鉴些它的设计,并运用到自己的项目中。(主要是谈到了函数式编程的思想)
- 你刚刚谈到了React产生的副作用(因为在扯函数式编程的时候扯到了这一块儿的内容),那你说说副作用产生的原因是什么。
- 那你觉得副作用和我们的任务这一块儿有没有什么联系。(这个问题当时有点没get到,就扯了下不同的任务可能会造成的副作用影响,例如异步请求任务)
- 你对React Fiber架构的第一印象是什么。
- 你刚刚提到了中断这一操作,那它怎么知道它还有剩余的时间去执行剩余的任务?(requestIdleCallback的作用)
- 如果我的任务里有个计算量比较大耗时长的任务,你怎么去做处理?
- webworker
- 把数据进行分割,每段数据用宏任务去处理,这样就能保证每段数据的宏任务执行完后,不会阻塞其他任务的执行,其实本质就是个中断的思想。(我记得拼多多还是哪个公司的前端面试题就有个这个分割宏任务的题)
- 我们接触到哪些常用的宏任务和微任务的API。
- setState在所有情况下都是异步任务吗?
- ES6的新特性有哪些。
- WeakMap和WeakSet的应用场景有哪些?
- 你是怎么去理解async和await的?(扯了下Generator + Promise)
- 读一道异步输出题(关于async,await,settimeout的),讲了下思路。
- 反问。