字节 飞书项目 三面
难哦。。。以为老板面随便聊聊的,直接掏底子的问了一通 1小时,老板估计旁听了,来了一个年轻的面试官,但是问的很深
- 实习相关 组件库 业务痛点 解决方案 业务反思 同行组件对比(对实习的理解就很实际了,看个人发挥)
- React setState流程 React diff ,这两个都是问的源码流程,我说几个关键的方法节点,然后你自己串起来,特别多,两道源码说了大半天
- React setState enqueueUpate(createUpdate),workInprocess,shouldYield(React 15 16+的优先级打断可中断优先遍历) beginWork completeWork effectTag commitLayoutEffects
- React diff 单节点 type key slibing 多节点 Array.isArray 两轮遍历 下标map 节点移动举例 abcd => dabc时 React的怎么做(diff问的是React是怎么对浏览器dom做一些操作的呢,我由于没看过ReactDom,所以就转移话题到了diff)
- 实际场景 如果有一个组件总是渲染你怎么做呢,有什么想法,我顺着思路就说了一个chrome devtools火焰图的调用栈,其实跟这个问题没有一点关系
- 避免渲染 useEffect打印依赖状态 React的memo方法 context层级的影响也需要考虑
- 用过React Devtools吗,我说我没用过还嫌弃了一下这个玩意,哈哈
- 如果浏览器卡住了咋办呢 js卡住 报错卡住 onerror 如果用了这个 之后 while true怎么办。浏览器后台线程ServiceWorker通信检测
- 状态码 200 300 400 500系列 301 302 303 307区别 http1.1新状态码 对于get和post的处理
- 101请求状态码 冷门八股 我知道你对我有所期待,但是你别急,我肯定是不会的
- 项目SSR SEO的理解 ? 谈了一下SSG ISR SSR 304这样的缓存数据好处坏处(SEO原理答的不太好反正)
- 做题 最近的公共父节点 真没写过 没写出来 因为算法不太行就问了前端的
- 写一个函数返回一个函数 超时reject 超时内resolve excecuteFunctionWithTimeout(func,time): () => Promise<T>
- Promise.race手写
- 有些小问题顺嘴问的想不起来了后续补上
总结: 难,但是面试官会给引导,能答出来也ok
最终只有算法没a出来,本来想问面试表现的,问成面试评价了面试官就不同意说了,问了一下业务,没啥聊的反正
想去个字节就这么难吗
3.16 更新 已挂 挂的理由:希望招直接上手不用带教的,认为实习生hc本身解决不了问题
我只能说6,正式工进去也得俩礼拜熟悉业务吧?你没资格啊,正因为如此,你没资格啊
#字节跳动#