字节跳动飞书多维表格实习面经(三面挂)
一面:
自我介绍
实习主要做的啥
事件循环
console.log('start'); setTimeout(() => { console.log('children2'); setTimeout(function() { console.log('children8'); }, 0) ; Promise.resolve().then(() => { console.log('children3'); }) }, 0); new Promise(function(resolve, reject) { console.log('children4'); setTimeout(function() { console.log('children5'); resolve('children6') }, 0) ; }).then((res) => { console.log('children7'); setTimeout(() => { console.log(res); }, 0) });
截取括号内字符串(题库题)
react fiber 中断原理,调度器是什么,react 如何实现异步触发事件,requestIdleCallback 的理解
二面
谈一下实习解决的基建问题,如何定位,如何解决
谈一下crdt思想
yjs 实现的 gc,墓碑机制
谈一下 yjs 的 ytext 数据结构,为什么是双向链表
说一下tauri那个项目?
对比electron,优劣势是什么
说一下基于过程宏生成dts文件的流程
做题
函数柯里化
查找双向链表公共祖先最近节点
(两道手写都没写出来,外加实习解决的问题没讲清楚,以及一致性算法没讲明白,可能是这里导致总体评价排序不过别人)
三面
说一下事件循环
说一下为什么想用ai对需求提效,具体打算怎么做
说一下pnpm为什么比npm yarn 快
五道寿司:
事件循环(比一面的简单多了)
实现一个包含 ts 类型的发布订阅中心
两数之和 (on)
k个一组反转链表
二叉树边界值遍历
(寿司出四题半,最后一题有点急思路有点钻牛角尖,其实没那么复杂)
很遗憾的是二面过后花了很多时间重新思考了协同 + 实习解决的问题,本来想三面好好讲的,结果整了这一出。只能说运气一直都不是很好。外加学校考试,让自己没法专注准备面试。挂了也是情理之中
5.26 hr 告知排序没过,希望转推到其他部门
等牛客大佬来个内推.jpg