面经整理
马上消费
一面(25 分钟)
- 自我介绍
- 了解浏览器的渲染流程吗?
- 从输入 URL 回车到页面呈现经历了啥?
- 前端性能优化的手段?
- 之前是 React 技术栈还是 Vue 技术栈?v-if 和 v-show 有什么区别?
- Vue 中缓存整个页面是如何实现的?
- React 中是如何实现 keep-alive 的?
- 讲一下 var、let、const 的区别?
- new 操作符的执行过程?
- 如何改变 this 指向?
- ES6 的 class 是如何实现的?
- 讲一下 javascript 的内存回收机制?
- 聊一下强缓存和协商缓存?
- 聊一下常见的 web 安全问题?
- webpack loader 是干啥的?loader 的执行顺序?如何改变 loader 的执行顺序?
- webpack plugin 和 loader 有啥区别?
- 有自己写过 loader 和 plugin 吗?介绍一下?
- 反问环节
二面(50 分钟)
- 自我介绍
- 介绍下简历上的微前端架构项目?
- 设计这个微前端架构项目的时候如何做的技术选型?有对比过其他微前端方案吗?
- 针对业务部门的个性化需求设计的插件系统具体是如何设计的?支持热插拔吗?有没有安全防护措施?
- 子应用系统之间以及和主应用间是如何通信的?
- 除了你提到的 post message 和发布-订阅模式,还有没有其他通信方式?
- 说说 event bus 在实际项目中的应用情况?
- 简历中提到通过版本迭代将业务定制代码由 1500+ 行降低到了 0 行,具体是如何做的?
- 在设计 web 框架 API 的时候,有没有考虑兼容性?新的 API 如何保证业务部门在框架中的定制代码安全剥离?如果业务部门既调用了老版本 API 又调用了新版本 API,你的处理逻辑是啥?
- 你在设计这个 web 框架的时候如何保证框架的通用能力在业务上的可扩展性?比如单点登录这种基础能力是如何满足各部门的定制的?
- 如何保证业务部门的扩展需求不入侵 web 框架逻辑?
- 如何解决子应用的路由冲突问题?
- node-server 在 web 静态资源托管时是如何做缓存策略的?
- 简历上提到的内存泄露问题是什么问题?怎么解决的?
- cluster 部署模式下是如何解决单点登录 session 共享的问题的?
- 简历上提到的性能优化主要用了哪些手段?说说 HTTP/2、HTTP/3 在前端性能优化上的应用
- 需求开发过程中遇到需求变更的问题,你是如何应对的?
- 反问环节
三面(30 分钟)
- 自我介绍
- 介绍下在紫光华智期间做过的核心项目
- 这些项目的价值是什么?你在其中担任什么角色?
- 微前端架构项目中为什么要用 NodeJS?能不能用 Java 代替?
- 微前端架构项目中遇到了哪些难题?是如何解决的?
- 工作中如果你的领导提出的方案与你的方案冲突时,你如何抉择?
- 如果领导坚持要求你使用他的方案,但方案执行到一半时发现有方案有重大缺陷,且导致了需求延期交付,你如何应对?
- 如果你的下属找你沟通说安排给他的工作不合理,你会如何与他进行沟通?
- 上一家公司任职期间,你作为 PL,团队管理工作和开发工作的占比各是多少?你是如何平衡管理工作和开发工作的?
- 你在紫光华智期间取得过哪些成就?你认为自己的核心价值是啥?
- 说一下你的优点和缺点?
- 如果现在有 3 个角色:普通开发人员、纯团队管理人员、技术 Leader,你认为自己更适合哪一个角色?
- 反问环节
传音控股
一面(笔试,网络环境问题没做)
二面(25 分钟)
- 自我介绍
- 介绍下在紫光华智期间做过的项目
- 说一下在这些项目中你做了哪些贡献?价值是什么?
- 了解 qiankun 微前端框架吗?当时为什么没有选择 qiankun 方案而是自己从头设计这个微前端架构?
- 说一下你这个微前端框架主要解决了哪些问题?遇到过哪些挑战?
- 介绍下微前端框架的技术细节?是如何实现任意应用都可以作为主平台去访问的?
- 你的这个微前端架构是如何解决资源共享和隔离的?
- iframe 方案有哪些优缺点?
- 简历上提到的内存泄露问题是什么问题?根因是什么?怎么解决的?
- 项目中是如何做性能监控的?
- 网络环境问题终止提问,反问环节
长安子公司(GIS 方向)
一面(85 分钟)
- 自我介绍
- 介绍下简历当中的微前端架构项目
- 说一下你对 javascript 的 this 指针的理解?
- 说说对原型/原型链的理解?
- 说说对javascript 执行上下文的理解?执行上下文的生命周期?常见的作用域有哪些?作用域链是如何形成的?
- javascript 引擎是如何管理执行上下文的?
- 说说你对执行栈和事件循环的理解?
- 闭包是如何形成?有哪些常见的用途?
- 讲一下 javascript 的内存管理方案?v8 引擎的 GC 机制?
- 有哪些常见的内存泄露场景?
- 遇到过栈内存泄露的问题没有?
- 介绍下你了解的性能优化手段?
- 说一下强缓存/协商缓存?
- webpack5 的增量编译是如何实现的?
- 简历中提到的内存泄露问题是什么问题?怎么定位的?
- 工作中有封装过组件吗?谈一下组件的拆分策略和复用策略?
- 前端有哪些常见的设计模式?
- 工作当中会要求团队成员使用这些设计模式吗?
- 你是如何保证团队成员的编码质量的?
- 简历中有提到培养了几名优秀员工,具体是如何培养的?新员工入职后有哪些培养机制?
- 你为团队沉淀了哪些技术文档?
- 你是如何与后端开发同事协作工作的?
- RESTful API 的设计原则是什么?如何保证后端同事的 API 接口在你这儿高效的工作?
- 有没有遇到过需求交付延期的问题?一个非常紧急的需求如果临近交付日期才发现进度不理想,你会如何应对?
- 工作中有没有遇到过跨部门协作的场景?你是如何推动跨部门协作的?
- 你们部门的服务端是什么技术栈?简历上提到的微前端架构中的服务端部分为什么不交给 Java 端实现?
- 了解过地图开发相关的知识吗?
- 百万数据级的地图数据标注如何做性能优化?
- 你平时是如何学习新知识的?
- 反问环节
京东方
一面(40 分钟)
- 自我介绍
- 平时常用的 git 指令有哪些?cherry pick 是干啥的?
- js 解构是啥?有哪些用途?
- 说说对原型/原型链的理解?
- 闭包是啥?闭包能够工作的原因是什么?闭包有哪些用途?
- 说说对 js 单线程和事件循环的理解?
- 说说 js 的垃圾回收机制?v8 引擎的垃圾回收策略是啥?
- 了解 Promise 吗?了解 async/await 吗?两者有哪些区别?
- 了解前端路由吗?简单讲讲?
- 讲一下 Vue2 和 Vue3 的响应式系统的原理
- created 和 mounted 有什么区别?
- Vue 中的权限校验可以通过哪些手段实现?
- 简单说说你提到的路由守卫方案?
- 说说 React 和 Vue 的响应式原理的核心区别?
- 简历中有提到性能优化方面的工作,常见的性能优化手段有哪些?
- 反问环节
二面(40 分钟)
- 自我介绍
- 介绍下在紫光期间的工作经历和主要项目
- 谈谈对微前端的理解?技术选型为何会选择 node-server + layout 的方案?
- 在设计这个微前端框架时考虑了哪些方面?如何设计一个好的微前端架构?
- 采用 NodeJS 实现单点登录的原因?如何应对后续人才选拔需要具备 NodeJS 基础的问题?
- 微前端框架主要解决了哪些问题?
- 简历中提到首屏加载速度由 6s 提升至 1s,主要用了哪些优化手段?
- 说说缓存优化策略?对强缓存和协商缓存的理解?ETag 和 Last-Modified 的灵敏度区别?
- 了解 HTTP/2 吗?HTTP/2 的 server push 是干啥的?对前端性能优化有哪些影响?优化原理是啥?
- 说说对 PWA 的理解?PWA 的核心实现手段?service worker 是干嘛的?
- 说说对全双工和半双工通信协议的理解?
- 股票站点或者体育赛事站点数据刷新这种场景,可以选用哪些通信协议?
- DeepSeek 这种 AI 大模型问答场景是如何实现“打字机”这样的流式文本输出的?
- 你是如何培养团队新人的?
- 说说你在团队管理方面的经验?你是如何安排团队工作的?
- 反问环节
赛力斯
一面(40 分钟)
- 自我介绍
- 介绍下在紫光期间的项目经历
- 介绍下简历上的微前端架构项目
- 单点登录的实现原理?如何解决跨域登录共享的?
- 了解 typescript 吗?用得多不多?
- 前端解决跨域的方式有哪些?
- CORS 跨域方案中,什么情况下不能把
Access-Control-Allow-Origin响应头设置为 “*” - 工作中遇到过的比较大的挑战?
- HTTP 三次握手和四次挥手?为什么握手只需要三次?挥手需要四次?
- 了解 HTTPS 吗?HTTPS 如何对数据进行加密的?如何保证数据安全的?
- Vue 的响应式原理?
- 前端路由原理?Vue Router 是如何渲染页面的?
- Object.defineProperty 是干啥的?平时工作中有用到吗?
- ES6 新增了哪些新特性?
- 有了解过哪些前端新技术?
长安汽车(devops 方向)
一面(40 分钟)
- 自我介绍
- 面试官介绍团队情况
- 介绍下在紫光华智期间的工作经历和主要项目
- 微前端架构主要解决了哪些问题?
- 有了解过 Python 吗?之前项目主要采用的技术栈是什么?
- 说说对 devops 的理解?
- devops 体系中前端需要做哪些工作?如何做技术选型?
- 你会如何设计一个 devops 产品的前端页面?
- 流水线构建过程中,需要实时刷新构建状态,你会采用什么方案?
- 单条流水线中可能会存在很多并行任务,每个任务如果都需要实时更新状态,websocket 如何应对性能瓶颈?
- k8s 中,deployment.yml 和 service.yml 如何配置实现多 pod 实例的负载均衡?
- 工作中你是如何与后端同事协作的?
- 除了 devops 方向,你还有其他感兴趣的前端业务方向吗?
- 反问环节
二面(45 分钟)
- 自我介绍
- 介绍下在紫光华智期间的工作经历和主要项目
- 介绍下简历中的微前端架构项目
- 单点登录为什么用 NodeJS 而不是用 Java 实现?
- 说说单点登录的核心实现原理?
- 介绍下单点登录的失效机制?是如何控制的?默认登录时效到期后,用户还在操作中,会不会自动登出?如何优化体验?
- 微前端框架开发完成后还需要持续迭代吗?是如何迭代的?
- 如何定义需求是否属于 web 框架的需求?
- 简历中提到引入代码质量检测工具,提升了编译成功率,每周拦截 20+ 次编译错误,具体是如何实现的?
- 说说简历中提到的性能优化,采用了哪些优化手段?
- 简历中的内存泄露具体是什么问题?根因是什么?如何解决的?
- 介绍下在紫光华智期间遇到过的比较大的挑战?
- 说说你对 devops 的理解?
- 为什么想加入我们团队?
- 团队内没有前端开发人员,项目需要从零开始,你会如何开展工作?
- 反问环节