Yihui’s Blog

哔哩哔哩/B站 秋招前端面经(已offer)

秋招结束啦,最终选择了阿B的offer。做个秋招复盘,对自己面试过程中遇到的问题做个记录,补缺补漏,希望可以帮到大家~

一面(60min)

  • 自我介绍

  • ES6新特性?闭包、箭头函数?

  • CJS、AMD、UMD、ESM等了解吗?有什么区别?

  • 还了解哪些打包工具?

  • TS 中interface和type的区别?

  • TS 中装饰器是什么,都有哪些类型,如何工作?

  • TS 装饰器能不能修改Class成员外的一个单独函数?

  • CSS 自定义变量了解过吗?

  • Less和Sass了解过吗?他们中的自定义变量有什么区别?

  • 浏览器事件循环和Node.js中的事件循环区别?

  • 什么是防抖节流?应用场景有哪些?

  • Web Worker和Service Worker?

  • Vue响应式原理?

  • 讲讲BFC吧?

  • 浏览器缓存?

  • 浏览器本地存储方案、跨标签通信方案?

  • 手撕两题:

    1. 通过正则实现 String.prototype.trim(),补充问题:正则中括号的作用,String.prototype.replace()第二个入参如果是个函数呢?
    2. 实现一个数组洗牌函数 shuffle

    写太快了,多聊一会

  • 前端常见攻击手段及其防御方法?(XSS、CSRF、DDos等)

  • SEO优化方法?

  • 反问

二面(50min)

  • 自我介绍
  • 介绍一下你的项目,哪个花费时间很长(难点),如何实现的?
  • Webpack了解多少,有没有动手写过loader和plugin?
  • 如果写一个loader,如何修改生产的Source Map?
  • 移动端安全区域,比如IOS的刘海屏、工具栏高度等,如何获取安全区域?
  • Hybrid App 如何与其内置 WebView 进行通信?
  • WebView 内H5应用如何调取 Native 能力?
  • Web Components了解吗?什么是Shadow DOM?
  • 你的网站通过什么部署的?有没有进行什么性能优化?
  • 什么是跨域?平常开发中如何解决跨域问题?
  • Node.js服务端如何配置CORS?需要配置哪些头部字段?
  • Node.js服务端部署方案?
  • Node.js如何开辟子进程?如何进行进程通信?
  • 说一下Monorepo,为什么使用?有没有了解为什么pnpm会更快?
  • 浏览器输入URL发生了什么?全流程。
  • 如何解决开发过程中遇到的问题,如何定位BUG,如何调试?
  • 实习团队规模,人数组成,如何分工?
  • 最近关注的前端前沿技术?
  • 如何学习前端?平常看啥书?
  • 你认为现在B站发展怎么样?
  • 反问

三面(55min)

  • 自我介绍

  • 说一下一个如何解决线上BUG?

  • 说一下开发迭代过程,需求到上线?

  • Vue2、3之间的区别?那和React之间有什么区别?

  • 有没有写过Webpack的plugin?

  • 开发过程中性能优化手段?

  • 谷歌核心Web性能指标有没有了解过(LCP、FID、CLS 三大指标等)?

  • Performance API?

  • CICD?

  • 如果现在有个新项目,如何进行技术栈选择?

  • 对B站Web端有没有了解?

  • 如果让你实现视频实时弹幕,如何实现?

  • 你提到SVG、Canvas等方案、他们之间有什么区别、你认为哪种好?

  • 怎么选择的前端?软工这块前端课程应该很少?

  • 如何学习前端?如何复盘和记录对前端的学习情况?

  • 你所写的Blog用的啥技术?如何部署?

  • 对B站了解怎么样?你认为B站有什么值得改善的或者做的好的地方?

  • 未来3-5年的职业规划如何?

  • 反问

引流:腾讯,华为,字节,百度,阿里巴巴,海康威视,科大讯飞,大疆,哔哩哔哩,B站

维护与整理 · Yihui在 GitHub 上编辑