Loading...
Loading...
时间:2026/08/14
时长:2h
自我介绍
简历里写的依赖分析工具中有一个“映射为统一概率分布,并在对数空间中进行加权融合,得出最终可信度”,这个设计具体介绍一下
你为什么要在对数空间中进行处理呢?
那如果有两个置信度,一个0.95,另一个0.05,那它最后会输出什么呢?
你说你的这个协同白板有参考CRDT,简单说一下你做了什么
能否投屏画一下实际的时序图来讲一下:如果有一个OpA,它的Lamport是5,另一个OpB,Lamport是3,但OpB此时因为网络问题导致它比OpA更晚才被接收到,这个时候你的白板会怎么处理?
聊一聊这个Lamport,你有了解Lamport它本身有什么局限性吗?
那你为什么没有用向量时钟呢?
再说一下并查集吧,你为什么会要用这个东西呢?
还有RAF,你使用它的原因是什么呢?
再来聊聊worker通信吧,你有了解过worker的通信优化吗?
那如果worker线程突然崩溃了,你的系统会有什么降级策略吗?
那我们来聊聊AI相关的吧,你这个依赖分析工具跟AI还是比较有关的,你说它有一个白名单来限制可执行的操作,它具体有哪些呢?
那在你看来,联网搜索它是不是一个可以被放进白名单的操作呢?
你简历里还提到AI每次给出判断都需要引用一个真实存在的证据ID,这个你怎么确保它引用的ID都是真实存在的呢?
那如果AI执行失败了,整个系统会返回一个失败的结果吗?
失败之后AI会重试吗?
考了一个跟闭包相关的Event Emitter内存泄漏的排查题
中间有点没思路,面试官趁着提示的功夫顺带问了一下V8的GC原理,好在之前有专门研究过,还写过几篇文章,所以就分别说了一下新生代(MinorGC、From Space、ToSpace)和老生代(MajorGC、GC Root遍历引用链、标记存活对象、回收不可达对象)的GC原理。
接着顺着面试官的提示推导出上面的内存泄漏问题其实是因为EventBus被实例化成了一个全局对象(bus),它会作为GC Root,所以不会主动被GC回收,同时EventBus内部还注册了一个listeners哈希表用于记录监听者,并且Component每次on都会通过bind创建一个新的闭包函数,这个闭包函数会被listeners直接引用,只要bus对象没被销毁,listeners就永远保持着对它内部所有闭包的引用,长期以往积累下来就容易出现内存泄漏问题。
算法题:debouncePromise,一个带Promise的防抖函数,每次调用都返回一个Promise对象,它会在防抖周期结束后的首次调用时被统一兑现,并且防抖周期内的所有调用都共享同一个最终结果:
function debouncePromise(func,timeout) {
// ...
}
const test = debouncePromise((str) => {
console.log(str)
},1000)
test('a'); // abc
test('ab'); // abc
test('abc'); // abcPS:这题当时没完全写出来,不过后面跟面试官聊着聊着思路就明确了。
AI Coding题,讨论了一下架构设计
学习前端的契机以及未来的职业发展规划
反问
具体业务
实习生工作内容
后续面试流程
这次是我面过最久的一次,长达两个小时,后面的算法和AI Coding加起来占了差不多一个小时的时间,全程一点八股都没有问,一直在追问项目和丢出各种实际的业务问题,不过说实话收获确实很大,面试官也一直在很积极的交流,给了很多提示和引导,总的来说虽然问题很多很难,但实际体验还算是很愉快的!
腾讯我几个月前就一直在投了,曾经有一段时间每天早上睡醒起来的第一件事就是去腾讯招聘官网刷新一下简历,但持续了一两个月完全没有动静,听别人说腾讯约面速度很快,但到我这边完全相反了,所以后来慢慢的就没怎么理了。
后来还试过把岗位意向换成Agent开发,但过了一个月再去看时发现这个岗位已经下架了,所以就只能又切回前端开发,不过这次比较幸运,过了差不多一周左右,有一天早上醒来突然就收到了面试邀请邮件,既然如此那当然就要狠狠的面了!
面试前也是差点出意外,这一周我几乎都在生病,差点都要把面试推掉了,好在终于赶在最后一天恢复的差不多了,也幸好面试官没有问什么八股,不然就完蛋了,压根就没怎么复习。
面试体验也还是比较不一样的,能看出面试官确实有在理解我做了什么,她也说她有实际上线用过协同白板,面试前也提前了解了一下我的技术方向以及相关她不太了解的概念,好感度大大增加!有人愿意了解我的技术、愿意听我讲故事实在是太开心了(
可惜的就是面的时间实在太久了,导致后面反问根本没来得及问多少,第三个问题回答完后面试官看起来似乎很着急,我就没好意思继续问了。
不过全程聊下来,其实给我的收获很大,我感觉这场面试不仅仅是我在单方面的输出,不是我在不断展示我自己,而是真的有种我和面试官在互相对齐、互相针对一个问题去聊自己的看法的感觉,比如有几个问题面试官在我回答完后还会给出她的看法,我也会顺着这个思路去更深入的简单聊两句,然后算法题和AI Coding题也是一直在聊聊聊,后面我先入为主陷入思维误区之后,面试官也是对我的表现给出了非常详细的分析和建议,包括她通过这个环节看到的我的一些优点和缺点,以及我需要往哪些方向去增加对算法、对AI的掌握度等等,总的来说面试官的热情和细心非常加分,也没有很压力我,两个小时就像是顺产一样就聊完了,非常舒服啊。
时间:2026/8/19
时长:1h30min
自我介绍
为什么要选择互联网、选择前端?
互联网那么多方向,为什么选择前端呢?
你平时有用过AI Coding吗?
AI写出来的代码你是怎么审的?
如果AI在编程过程中偷懒了,少写了一些东西,但这个功能在体验上和正常使用没有什么差别,你要怎么排查出这种问题?
聊聊你的协同白板吧,你在这个项目中遇到的最大的技术难点是什么?
简单讲讲这个白板的系统结构是怎么设计的
这个白板里存的那些数据的结构是怎么设计的
举一个例子来说明如果发生了协同冲突的话它会怎么解决
脏区是怎么判定的,怎么判断两个脏区的相交状态
你这个产品的想法来源是出于兴趣吗?
有了解过OT吗?
讲讲WebSocket吧,它的连接过程是怎么样的?
那Worker中你有了解过怎么对线程间通信进行优化吗?
线程之间的数据转移是拷贝还是共享?
那有方法能实现共享吗?
算法题:括号匹配+硬币找零
总体来说还是不错的,腾讯这两次面试给我的体验都相当好,虽然这次面试中途因为各种各样的网络和设备问题频繁中断(雾),但好在总体上是顺利完成了,并且反问阶段面试官跟我讲的特别细,各种业务、技术探索、职业发展看法都说了很久很久,跟一面面试官给的感觉差不多,体验还是非常不错的。
原以为这次会像上次飞书二面一样疯狂问八股,因为一面确实几乎没有问八股,所以这两天一直在准备各种基础知识,但没想到这次二面的走向特别正常,没有深究八股,而是从项目角度问了很多比较宏观的问题,这才是二面应该问的啊(划掉
之前两次面试(飞书、小红书)都是二面挂,给我整的都有些PTSD了,所以这次面试前特别紧张,提前半个小时就开始不知所措了,一直在漫无目的的刷手机,好在面试官没有追问八股基础,真的是太感谢了。
我觉得这个岗位对我的价值还是蛮大的,应该能学到很多东西,然后base还特别近,通勤也比较方便。
时间:2026/08/24
时长:27min
省流:这一面主要就是问了问个人意愿和职业规划,没有过多涉及技术问题,所以就不写具体的回答了。
这一次的时间确实比较短,主要的面试时间仅有十几分钟,反问又问了十几分钟,总的来说虽然时间短,但是聊的还是蛮不错的,体感上就是纯聊天的一次面试了,没啥压力。
整体的面试方向就是对我个人意愿和职业发展规划的考察,问的大多数问题都与技术没什么关系,面试官自己也说因为对于技术的考察在前几轮的面试中已经做的差不多了,这一轮主要就是想看看我的意向,以及我的发展潜力等等,还好前几天一直都在针对这种非常宏观的问题做准备,这次幸好也是派上用场了。
要说有什么表现的不太好的部分的话,就是那几个技术问题了,Canvas的渲染原理我确实没怎么了解过,简单概括了一下脚本执行和提交渲染后就没话可说了,后面再问具体API的时候说的也挺混乱的,临时想还真不太想的全,只是简单说了一下自己印象中的那些API的名字,好在后面那道问技术决策的题,我确实有准备,说了一个与Canvas相关的技术难题,讲了一下自己是怎么定位、怎么解决的,也算是比较完整了,把技术方面的水平救回来了一点(雾)
整体的流程感觉还是比较好的,比较不一样的地方就是很多流程是我主动提出的,比如自我介绍和反问,不过总体来说还是可以的。
总的来说,这次交流还是非常愉快的,面试官向我输出了非常多的东西,这点还是比较惊喜的,能够跟这么高职级的人物聊半个小时,本身就是十分难得的,我以后就算能入职也还不一定能够直接跟他汇报或者面对面交流呢,所以确实是很有受用的一次面试,这次面试官给到的反馈也比较积极,看起来应该是愿意推进下一步流程的(maybe
后续:已offer
智商题:现在的时间是7:15,那时钟上时针与分针之间的夹角是多少?
反问
面试表现组内主要业务
是什么职级
实习生主要工作
AI时代对于前端行业未来发展的看法
对于一开始问的“AI Coding如何审代码、AI偷懒如何解决”的看法
后续还有一轮技术面吗
最后结束前面试官还临时问了一下学校所在地、最快到岗时间、学业冲突和可实习时间之类的问题,听说我现在在深圳后还具体问了一下哪个区、帮我估算了一下通勤时间等等