一面
时间:2025.11.04
体验比较糟糕,面试官全程不屑
一、 问题
你在上一家公司担任一个业务负责人的角色,你日常的研发工作占比和管理工作占比大概是多少?
你的技术栈主要是 Vue,有做过 React Native 相关的开发吗?
讲一下你做过的,觉得最有挑战的两个事情。
当时为什么要做微前端迁移?
你们选型的是什么方案?为什么?
你们的迁移过程是怎样的?业务开发是不能停滞的,你们怎么去保证原有的这个大单体应用跟你逐个拆出来的应用之间,去组合成一个最终的服务?
针对这个基座,你主要做了哪些改动?
你提到要复用另一个平台的组件,是怎么做的?你们是把两个大单体合并成一个微前端应用了吗?
模块联邦底层的原理是什么?A项目想用B项目的一个业务组件,他是怎么工作的?
如果让你从零开始去实现一个微前端的框架,你会怎么去设计?
你们迁移完之后,整体的产物有比之前大单体应用大吗?
除了工程化,还有什么比较有挑战的事情吗?比如性能要求非常高的?
你用过 NestJS,它可以讲一下它的模块怎么管理的吗?
(代码题) 这段代码在控制台执行,会依次输出什么内容?为什么?
js// (面试官描述,此处为还原的代码) new Promise((resolve, reject) => { console.log(1); resolve(true); throw new Error(2); }).catch(err => { console.log(err); });(代码题) Promise.all 里有三个 Promise:P1(100ms, success), P2(200ms, fail), P3(300ms, success)。请问整个 Promise.all 会执行多久?
(算法题) 实现一个 Promise.allSettled。
(算法题) 实现一个这样的函数。当你遇到中括号 [n] 的时候,其实就是要把前面的那个前面一项重复对应的次数。当遇到那个小括号 () 的时候,要把它作为一个整体。小括号本身是可以嵌套的。
// 示例: (DEF)[4] -> DEFDEFDEFDEF // 示例: A[2]B -> AAB
二、反问
想主要是想了解一下业务,就是我投的好像是金融风控的方向。
团队规模怎么样?