前端三年经验中大厂面经(下)

2,274 阅读12分钟

前端面经系列

腾讯 CDG 闭环广告电商

前端一面

  1. 自我介绍
  2. 项目问题:balabala......15分钟
  3. 说一下 Promise
  4. 做题1:手写 Promise.all
  5. 浏览器的渲染过程,尽可能的详细说一下
  6. HTTPS
  7. 对称加密和非对称加密的区别
  8. react hooks 原理
  9. react 的性能优化手段有哪些
  10. 做题2:验证外星语词典

做题做得太久,面试官提示了也没做出来,挂了

阿里巴巴国际速卖通终端技术

前端一面(电话面试)

  1. 请做一下自我介绍
  2. 深挖项目30分钟:balabala......
  3. 项目做的一些优化
  4. b端和c端有什么区别
  5. 你们状态管理用的是什么? 它的原理
  6. 微前端整体的方案?微前端解决了什么问题?
  7. 你可以说一下微前端的部署流程吗?
  8. 没有反问,直接结束了

字节跳动飞书零代码/低代码平台

前端一面

  1. 自我介绍
  2. zustand 状态管理的库,当初为什么使用这个,有什么考虑吗?
  3. 刚刚提到了 zustand 的依赖收集是怎么做的?
  4. redux 和 zustand 区别,差异
  5. 刚刚提到了不可变数据,可以介绍一下不可变数据吗?
  6. 刚刚提到了浅拷贝,浅拷贝大概是一个怎么的过程?
  7. 项目中用到 InversifyJS 是干嘛的?
  8. 项目的性能做了哪些?针对性能优化的每一个点展开聊一聊
  9. 项目问题:balabala...15分钟
  10. React 常用的 hooks
  11. 了解 React 高阶组件吗?作用是什么
  12. 内存泄漏怎么排查
  13. 你们有没有做数据的埋点?
  14. 你们现在衡量一个页面加载性能的指标都有哪些?
  15. 可以介绍一下从浏览器输入url之后,页面的加载过程吗?
  16. SSR 的原理
  17. 有了解事件冒泡和事件委托这些吗?
  18. 了解过哪些设计模式吗?
  19. 代理模式有了解过吗?
  20. 可以讲一下防抖和节流的区别吗?
  21. 时间差不多了,做两道题吧
  22. 做题1:写一个函数,输入一个字符数组, 转化为如下格式:
输入 ["a","b","c","d","e","f","g"]
输出 {"a":{"b":{"c":{"d":{"e":{"f":"g"}}}}}}
  1. 做题2:二叉树最近公共父节点
  2. 反问:
  • 技术栈:react
  • 业务:低代码平台,用飞书低代码搭一个系统,搭页面。balabala
  • 工作节奏:正常的吧,弹性上下班

美团 Keeta 境外技术

前端一面

  1. 找工作的背景和诉求
  2. 目前是在职还是离职
  3. 确认一下工作经历
  4. 当前绩效如何
  5. 项目问题:balabala......20分钟
  6. 你是这个项目的主要负责人吗?
  7. 那你这个项目有参与设计吗?还是说主要做功能的实现
  8. 项目问题:balabala......10分钟
  9. react 的源码有读过吗?
  10. 说一说 fiber 节点大概是一个怎么样的结构
  11. 用类组件多还是 hooks 多一些
  12. hooks 的原理有了解过吗
  13. 说一说 你对 promise 的理解
  14. 做题1:简单考察一下基础,看代码输出结果
console.log(1)

setTimeout(() => {
  console.log(2)
  Promise.resolve().then(() => {
    console.log(3)
  })
})

new Promise((resolve, reject) => {
  console.log(4)
  resolve(5)
}).then((res) => {
  console.log(res)
})

setTimeout(() => {
  console.log(6)
})

console.log(7)
  1. 做题2:删除链表的节点
  2. 有在面试其他公司吗?都到什么阶段了?
  3. 反问:
  • 技术栈:React
  • 业务:海外业务

拼多多 TEMU

image.png

前端一面

  1. 自我介绍
  2. 讲一讲项目里面你觉得比较难的是什么?
  3. 项目问题:balabala.....10分钟
  4. 做题1:事件循环,看代码输出结果
  5. 微任务是什么,宏任务是什么
  6. 那你讲一下浏览器里面的事件循环
  7. 做题2:手写一个 react 自定义hook,useEffect 第一次不执行
  8. 做题3:手写实现 instanceof
  9. 做题4:写一个函数,传入一个数组,一个最大并发数, 实现类似 Promise.all 的功能
  10. 做题5:写一个函数,该函数将传入json格式的虚拟 DOM 对象转换为真实的 DOM 结构
  11. react 更新机制有了解吗?
  12. flushSync 的作用
  13. setState 是同步还是异步?
  14. setState 为什么是批量更新
  15. 项目的性能优化,都做了什么?具体都看哪些指标
  16. 模块联邦是什么?
  17. npm包和模块联邦的区别是什么?
  18. 项目问题:balabala.....10分钟
  19. 反问:
  • 技术栈:react
  • 业务:海外电商 temu
  • 工作节奏:周一到周五,周六休息,周天上班。

腾讯音乐-QQ音乐 Web 商业化

前端一面

  1. 自我介绍
  2. 先问一些基础问题吧:你在前端监控有过一些了解吗?你们是自研的,还是用开源的
  3. 说一下错误监控
  4. 如果你要做这个监控,你要上报这些错误,你会什么时候去上报?或者用什么方式去上报
  5. 遇到线上的一些问题,你一般会怎么排查呢?有没有总结
  6. 项目问题:balabala......
  7. 你们是怎么做同构的呢?
  8. 说一下依赖注入?你觉得这种写法最大的优势是什么?什么场景下比较适合依赖注入
  9. 你在一些开源框架里面,你有见过 类似的依赖注入的设计吗?了解过吗
  10. react 为什么要分成 react 和 react-dom 吗
  11. 有了解过微前端的原理吗
  12. JS 隔离:它怎么实现隔离的
  13. xxx 平台有做一些性能的监控吗?监控了哪些点、哪些数据、哪些指标衡量?
  14. 有写过后端代码或者nodejs吗?工作上有用过node吗?
  15. 说一下 node 的优势和特点
  16. 问个比较简单的后端问题:node 后端怎么支持跨域 cors,说一下跨域的响应头
  17. 浏览器的微任务和宏任务的理解
  18. 说一说你对 Promise 的理解
  19. CSS:will-change 的作用
  20. 项目里的优化是怎么做的
  21. 做一道编程题哈:合并两个有序数组
  22. 反问:
  • 主要做哪些业务:商业化的话,主要是会员业务,QQ音乐绿钻这些相关的业务,一些活动页卖绿钻的。
  • 工作节奏:上下班,早上10点半,晚上8点过下班

字节跳动 TikTok 国际供应链

前端一面

面试官一边面试,一边做面试记录

  1. 简单的自我介绍
  2. 项目问题:balabala......15分钟
  3. 最后一个关于你们这个项目的问题吧?如何衡量你这个项目做得好?你们有什么衡量标准吗?
  4. 然后你在这里面承担的是什么角色?核心开发者还是项目负责人
  5. 你觉得 react 为什么出现 hooks
  6. 在 react 实现跨组件的联动或者传值,你有什么方案?
  7. 它们的传值差异是什么?各自的应用场景
  8. 为什么选择 zustand ?或者它的底层原理是什么?
  9. 行,那 zustand 的底层原理是啥?
  10. 做题1:事件循环相关,看代码说结果
  11. 项目里的卡顿问题是怎么解决的?
  12. 前端工程化解决的是什么样的问题?你可以展开说说你的理解吗
  13. 为什么要自定义 webpack 插件
  14. webpack 插件机制的原理吗?
  15. 做题2:数组转成树
  16. 做题3:最长不含重复字符的子字符串
  17. 个人发展的问题:你未来的职业规划是怎么样的?
  18. 反问
  • 技术栈:react、状态管理根据技术选型
  • 业务:国际化电商的供应链和物流,b端中后台系统的一些业务,货主平台、提供一些商家的b端管理系统,也可能涉及到一些移动端的开发,为中后台提供一些、运营、产品提供一些配置或者策略干预能力。
  • 工作节奏:8点左右下班,忙的话 9-10点。
  • 人数:前端总体的话,供应链和物流整体 50 人,物流方向将近20人

前端二面

  1. 先请您做一个简单的自我介绍
  2. 针对你比较有亮点的项目展开聊一下吧
  3. 项目问题:balabala......10分钟
  4. 你们的单元测试是怎么做的
  5. 假设你来到我们这边的团队,有一个性能优化的专项,你整体的一个思路是怎么样的?
  6. 你们做性能优化,指标是哪一个?核心指标?
  7. 首屏时间是怎么定义的?怎么统计首屏的时间?
  8. 项目里页面性能优化,具体是做的哪些优化?
  9. 做题1:this 指向的题目
  10. 我再问一些问题,可以介绍一下事件循环吗
  11. async/await 的原理
  12. 做题2:实现类似 lodash 的 set 方法的题目
  13. 做题3:子集
  14. 反问:
  • 主要技术栈:react
  • 业务:主要偏B端,面向国内的供应商,整合,推到海外去。供应链和物流
  • 工作节奏:早上 10.30,晚上没有固定时间,一般9点或者10点下班

虾皮Shopee-Infra

前端一面

  1. 自我介绍
  2. 项目里参与了哪些部分?
  3. 项目的难点或亮点说一下
  4. 项目问题:balabala......15分钟
  5. eval 和 new Function的区别 ?你会优先选择哪个呢?
  6. 做题1:代码考核写一下输出
new Promise((resolve, reject) => {
  console.log(1)
  resolve(true)
  console.log(2)
  throw new Error('err')
  console.log(3)
  reject(false)
}).catch(err => console.log(err))
  .then(res => console.log(res))
  1. 做题2:二叉树的路径总和
  2. 反问
  • 技术栈:React + Typescript
  • 做的业务:基础设施服务,类似云厂商,提供很多域名解析,存储,监控,日志、图片等基础服务,提供给公司的开发人员使用这些基础设施服务
  • 工作节奏:看个人,整体比较轻松,早9晚7
  1. 你现在在 xxx 公司还在职吗?你们工作节奏怎么样
  2. 你们这个项目还是有一些亮点,比如 xxx 做得比较好,可以看一下行业内的其他产品,看一下它们有没有提效的措施,借鉴一下。像国外的 xxx 也是做得挺不错的

米哈游

前端一面

前端一面问一些基础知识和项目,然后可能会有 coding

  1. 自我介绍(3min 左右)
  2. 你们公司做什么的,产品研发团队都在哪里?卷不卷
  3. qiankun 的原理?它是怎么做到与技术无关的?
  4. css modules 是怎么做 css 的隔离的?
  5. js 怎么隔离?
  6. 闭包它具体的作用机制是怎么样的?闭包具体是什么东西?可以解释一下吗?
  7. 那有听说过 js 的原型链吗?__proto__是ES规范里的吗?
  8. 除了这种方式有其他方式可以拿到对象的原型吗?
  9. js 的继承是怎么做的?
  10. 代码考核:手写 js 组合继承的demo
  11. 项目问题:balabala......15分钟
  12. c端图片的懒加载怎么做的?
  13. 说一下 http 1和 http 2的区别
  14. http1 的队头堵塞
  15. 对 http1的keep-alive 的了解。keep-alive 具体alive多久?
  16. http 2 的请求头信息压缩是什么压缩的
  17. http 2 的其他的特性
  18. webScoket 和 http2 服务端推送的差异
  19. tcp 的拥塞控制是怎么做的
  20. udp 和 tcp 区别
  21. 说一下 udp 的使用场景
  22. 整个 DNS 域名查询过程是怎么样子的
  23. 你现在比较熟的框架? react
  24. react 的缺点是什么?或者是 react 设计得不太合理的地方
  25. react 和 vue 的区别是什么
  26. react 引入 hooks 是为了解决什么问题
  27. hooks 的原理
  28. useState,每一次函数重新渲染的时候,useState怎么能够做到返回的状态是之前的状态呢?
  29. 队列是一种什么样的数据结构?听说过优先队列吗?
  30. 可以说一下操作系统里的堆和栈吗?
  31. 为什么变量放到栈里,对象放堆里 ?
  32. 代码考核:手写发布订阅模式
  33. 平时是怎么学习前端的?
  34. 一般你遇到一个报错,debugger 打断点,怎么打断点?
  35. react 的调试工具用过吗?
  36. 一般 react 组件报错是怎么做的
  37. 对未来3-5年的职业规划
  38. node 在前端发挥怎么样的作用?
  39. 反问
  • 技术栈:新项目是 react,老项目是 vue
  • 现在做的东西:中后台、b端低代码,基于阿里 lowcode-engine 做的
  • 当前业务:采购,法务,点餐,财务系统
  • 工作节奏:早10-10.30 6.30 吃完饭,7-8点下班
  • 组内成员:前端 4人,后端6人。

蔚来智能驾驶

前端一面

  1. 介绍一个比较有代表性的项目,前端这部分突出比较有难点和亮点的部分,ok吧
  2. 你在项目中的角色和定位
  3. 项目问题:balabala......15分钟
  4. 介绍一下 IOC 和 DI 的设计思想
  5. 性能优化都做了什么?还有都关注哪些指标的优化呀?
  6. 做题1:下面代码的结果是什么?并说一下原因
let object = { a: 0 };

function func(obj) {
    obj.a = 1;
    obj = { a: 2 };
    obj.b = 2;
}

func(object);
console.log(object); 
  1. 说一下你对闭包的理解
  2. 说一下浅拷贝和深拷贝的区别
  3. 深拷贝怎么实现
  4. 做题2:找出二叉树中某两个节点的第一个共同祖先
  5. 做题3:lazyMan懒汉

携程机票业务

自己主动取消面试:因为当时基本上所有的面试都是一面就挂,已经面不下去了,主动取消,来年再战!