Loading...
Loading...
时间:2026/07/27
时长:1h15min
自我介绍
我对你这个协同白板挺感兴趣的,能介绍一下它吗?
你提到了你是用CRDT实现的,当初为什么选它呢?
总的来说就是想提升一下前端的能力对吧?
那这个脏矩形重绘,你是怎么处理的呢?
如果说有的客户端因为网络延迟,导致它的操作可能晚到了,这个要怎么处理?
CRDT是怎么保证两个客户端之间的操作队列顺序一定是一致的?
你之前说你在确定要重绘的操作的时候,是先确定区域,然后遍历筛选找出区域内操作,这个过程我刚刚听你说下来,好像是没有进行什么优化的对吧?
那你觉得能怎么优化呢?
你刚才说是用ctx.clip去局部重绘的,那你有没有遇到过clip之后再restore时发现边界处会有一圈白边?
有没有想过这是什么原因导致的?
你有解决这个问题吗?
加内边距可以,那如果是加了内边距之后,落在这个内边距区域内的操作数据,你要不要再把它们筛选进来呢?
用vue多还是react多?
讲一讲vue3响应式的底层原理
我听下来大多都是对的,但有一个小问题:收集响应式引用的时候,到底是触发了Proxy的setter还是getter?
你刚才有说到vue它会在编译阶段对代码进行一些预处理对吧,这个的原理是什么你有了解吗?
有了解过js的事件循环吗?
NodeJS有事件循环吗?
手撕:Promise并发限流调度器
反问:
我的技术栈不是很匹配JD,当时部门评估我的时候主要是看中了哪一点呢?
您觉得这个岗位对实习生会有什么样的要求呢?会希望实习生要具备什么样的能力或特质?
对于AI时代前后端和全栈岗位未来发展的看法
您这次了解完我的这个协同白板项目后,在业务角度看来会觉得它还有哪些不太完善或不太成熟的设计吗?
结果什么时候出
后续面试流程
整体给我的体验是非常不错的,我认为仅次于小红书全栈一面(那个简直是聊的不知天地为何物了,代码题也一下子就做出来了),真的非常难得能够遇到一个业务与我的项目经历这么相似的面试官,明显能看出可以理解我做了什么东西,也能听懂我在说什么,并且给出了他的思考(尤其是反问阶段),聊的很多东西真的都是我之前在做这个项目时真实遇到的难点,能跟别人分享技术确实挺爽的。
整体时间和节奏都还行,除了最后手撕确实占了比较多的时间之外,其他环节的节奏都挺好的,面试官的反馈和情绪价值这一块给的也很足,很大程度上缓解了我的紧张感,本来以为飞书这种核心产品线上来会直接给我丢三道hard或者压力拷打到不会为止呢(
难度的话倒是感觉还好,甚至比之前的几场面试都要舒服一点,因为全程几乎就没有遇到我真的讲不出来的地方,可能是因为经历比较贴合吧,我感觉我有很多话想说,但是为了控制时间,就没有啰嗦太多,然后面试官的提问也确实非常有水平,居然能在面试前专门用一段时间去打开和体验我的项目,这我是真没想到,然后在面试中,先是通过几个问题考察了我对协同的了解,然后再确认了一下简历上一些关键点的具体设计,最后还用一些他们业务中真实遇到的场景题来侧面考察了项目的真实性,不得不说确实很有水平。后面的八股也是层层递进,他既没有因为JD写了要用React而追问React的基础,也没有局限于Vue,甚至是提了一个我真的完全没了解过的问题(Vue的预编译原理),看来八股学习还是任重道远啊。
我挺希望下一轮面试官还是这条业务线上的,这个白板项目还有很多可以讲的地方,这次出于时间原因没有聊那么深入,还是有点可惜的,期待二面还能有这么好的体验!
时间:2026/07/29
时长:1h20min
省流:超级无敌压力面,几乎是八股盛宴,专门挑偏的深的问,答的稀里糊涂的,估计要挂了。
自我介绍
为什么找实习
什么时候开始做的这个协同白板
为什么做协同白板
协同白板是怎么做的
我看你这个好像没什么啊,就是能在上面画画而已啊
那你这个项目代码都是你自己写的吗
追问:为什么核心功能要自己写, AI 完不成吗?
再来说说你做的这个Nodejs依赖工具吧,你都做了什么?
你都做了什么
那你说的这些工作,普通的 AI 不能做吗?
什么时候会出现幻觉呢?
我知道信息不足,具体是什么?
用 Vue 还是 React
说说 CSR 和 SSR 的区别
那他们各自会有什么问题?
从 CSR 迁移到 SSR 可能遇到的问题
嗯,DOM 会有问题,还有呢?
你说你做过 Next.js,那它是怎么实现 SSR 的?
无反问。
太压力了吧!估计是一面问项目问的够多了,二面只是简单过了几下,后面大部分时间都在问八股。
面试官说了好几次想探测一下我的技术深度,因为觉得我广度比较大,用过很多东西,所以应该是想看看每个了解的有多深,知识有没有成体系。
不过感觉确实非常难,很多八股我都没了解过,而且真的是往偏的深的地方追问,加上我很多八股确实记得不是很牢,一直在被追问和挑毛病,还是太菜了……
最后算法题又一次没写出来,很好,我居然在字节面试里一次算法都没写出来(大笑),八成是挂了。
虽然说提的问题都很值得后续进一步学习和了解,但这是面试啊!!说是要看看深度在哪,结果每次刚要开始从一个话题往下问我马上就卡了,真是没招了。
不过这次面试也认识到了,很多技术我只是知道它做了什么,但不知道具体是怎么做的,以及很多概念记的不是很牢固,口语中容易口误和混淆,看来以后得多专门花时间加强一下八股和算法了。
后来没有反问我是没想到的,应该是算法做太久了,加上我表现实在是太糟糕,面试官没有想给我过的意向,于是就懒得跟我沟通那些有的没的了。
再见飞书(逃
后续:果然挂了,虽然项目确实得到了验证,但八股和算法还是得努努力啊。
Next.js 具体是怎么实现的 SSR?
那你用 Vue 的时候也用 Next.js 吗?
说说别的吧,你有过线上debug的经验吗?
你是怎么 debug 的?
我想听的不是这个,具体的呢?你会通过什么方法去 debug ?
你有用过 Chrome 的开发工具对吧?
那 OOM 呢?比如线上内存泄露了,这个你要怎么排查?
那如果用户跟你反馈进入页面后 CPU 打高,怎么排查?
那好吧,其实 CDP 也是能测这个的
说说 Playwright 吧,你怎么会想到用这个的?
说说 Web Worker、Shared Worker 和 Service Worker 有什么区别?
来聊一下 Vue 吧,Vue 它的文件后缀是.vue 对吧,它不是一个能被浏览器支持的文件,那它为什么能运行?
Vue文件里有那么多语言,它们全都解析成一个 AST 吗?
那 CSS 为什么要内嵌到 HTML 里面呢?我们一般很少用到这种写法,Vue 为什么要这样做?
说说缓存,你的页面上用了短缓存,没用长缓存,那我们要怎么让网站及时更新缓存呢?
那你页面里这个缓存是怎么设计的?
WebSocket 握手过程是什么样的?
WebSocket vs SSE,为什么有了 websocket 还要有 SSE?
SSE 是基于 TCP 的吗?
那 HTTP 是基于 TCP 吗?
那你的项目用的是 HTTP 3?
你刚刚说 SSE 建立在 HTTP 之上,所以会有拥塞控制,这个拥塞控制,到底是在哪一层进行的?是HTTP吗?
那这两种协议有什么使用场景?
那就比如现在,我要给你发个信息,要用哪个?
这就是区别,你刚刚怎么没想到?
(……这我咋解释,说浅了他又不爱听,说深了他又说我没想到)
你下去再了解一下吧,SSE 是需要客户端主动连接,服务端才能发信息的,只有用 WebSocket 时客户端才能主动发信息。
WebSocket 确实是要客户端主动建立连接,但是后续是可以保持长连接的,你用 SSE 的时候要怎么保证长连接?
是几个小时吗?
那 HTTP 要怎么关闭连接?
算法题:k个一组反转链表