一面
日期:2025.11.12
一面体验挺好的
一、 问题
你现在是在职的状态吗?
你现在是有其他的公司 offer 吗?
OK,好的,了解,再问一下,就是我看你描述就是说在职期间连续6次绩效考核都是a,是吧?你这边的一个绩效的一个等级是怎么样的?就是整体的一个分布。
诶,再问一下你们这边的一个T4的职级,有了解过对标,比如说腾讯、阿里之类的,它的一个职级大概是什么样的?
方便问一下你上一家离职的原因是什么?
好,那我们接下来聊聊简历上的,我看你前面自我介绍也有提到,就是对微前端框架,就是架构方面是有一定的实践的,是吧?可以简单讲一下。
诶这里我想问一下,就是为什么要选择模块联邦啊?模块联邦跟一些传统的微前端框架,比如说你刚才提到那些Qiankun、Micro APP之类的,有什么样的一个实质性的区别?
你们的拆分出不同业务的所谓的在微前端里面应该叫子应用,对吧?他们的实际部署方式是怎么样的?
诶,我有一个问题,像模块联邦不是通过那个什么host还是remote声明自己的一个依赖,就是会不会有版本升级的这种问题?比如说我所依赖的另外一个资源提供方,他也有可能去做一个升级,而且不兼容的,那这种怎么去识别?还有降低这类的风险。
聊聊另外一个,我看你是有使用Dify去做了一个Tailwind CSS的一个升级,是吧?可以简单讲一下。
这方便讲一下你这个workflow里面大概有哪一些节点嘛?
下一个问题,我看好像有自动化测试的一些实践,是吧?用的是什么?Playwright。
对,Playwright 我了解到好像最近也有一些什么无代码的AI自动化测试工具相关的,当时为什么要决定用那个Playwright?
OK,好,接下来写道题吧。
typescript// 实现一个 Add 函数,运算只能通过调用 expensiveCall 实现, // 注意: // 1. expensiveCall 是一个昂贵的异步调用。 // 2. 就示例及结合你的方案,给出调用次数、耗时评估 // 更多要求: // 1. 所有操作应尽快的完成 // 2. 应该考虑尽可能少调用 expensiveCall 。 const expensiveCall = async (a, b) => new Promise(resolve => { console.log("debugger call remote", a, b) setTimeout(() => resolve(a + b), 1000) }) add([1, 2, 1, 2, 1, 2, 3]).then(result => { // ... })可以先说一下你的思路
有更好的一个思路吗?
这里的缓存你怎么设计?
那key和value你会怎么去设计呢?
假设像你刚才说的二分之后去做这个调用,那会不会就示例而言,比如说1、2、1、2、1、2,这个缓存会在某些场景下会失效?假设你二分之后如果是同时发起的话,那你这个值都是等1秒之后才回来,那实际上有起到尽可能少调用的效果吗?
OK,那对着代码讲一遍,你的思路。
也有个小问题想问一下,就是还是刚才那个缓存的设计的问题。假设我现在数组全部都是1,那以你这个场景下最终应该是会调用到多次的 cachedExpensiveCall,对吧?它入参都是一样的... 假设现在你的那个分支同时有两个1进来,就是 a、b 都是1的情况,同时有两个调用进来,那它因为这里的 expensiveCall 是异步调用,所以是不是会等到1秒之后才返回结果?所以这里的并发的场景是不是还是会存在一次重复计算?
我看你前面有写过是这个 value 是设计成那个promise吗?
要不讲一下事件循环的一个机制?
那常见的宏任务有哪一些?
你刚才说的事件循环在浏览器跟Node上面会有区别吗?
讲讲HTTPS。
你刚才说到证书,证书的作用是什么呀?
这个公钥的作用是什么作用?
有了解过中间人攻击吗?
那我们日常开发过程中有没有利用到这一点的可能性呢?比如说像我们一些抓包工具之类的,他是怎么做到这个中间攻击的?
那讲一下那个浏览器的一个渲染过程,就比如说你从打开一个网址开始可以尽可能的详细,以及我听你前面提到有那个性能优化的一个经验,对吧?也可以结合讲一下。
二、反问
主要是想知道增长业务是做什么东西的?
了解了,那方便问一下,就是增长业务这里的团队规模。
还有想了想,你们在技术栈还有就是团队基建上面的建设怎么样啊?
我想问一下,就是从你个人的视角出发,你觉得你们当前的这个团队的技术氛围,然后技术建设你觉得怎么样?就是给一个评价,你自己的感受如何?