双非鼠的日常实习(百度版)
从十一月初开始,本鼠陆陆续续面了滴滴、快手、百度三家公司,目前的进展是:滴滴排序挂,快手三面挂,百度oc。如果没有意外发生的话,大概率鼠鼠会去百度开启下一段旅行了。之前面试的时候经常到牛客上搜索面经,本着开源的精神,也将自己的面经简单的做一个分享,希望大家不要嫌弃
百度
一面(45min)
- 介绍一下你的开源经历吧: 随便说了说关于opensumi的整体设计以及自己的相关feature
- 我最近也研究过opensumi,你能说一下依赖注入吗: 说实话这个了解得不多,但把它在项目中的使用场景以及带来的好处说了一遍
- 还在项目中使用过哪些设计模式呢,是怎么使用的呢: 说了订阅发布和策略者和工厂模式
- 组件库时怎么支持主题定制的呢:也就是全局换肤
- webpack的打包流程:经典八股,开始吟唱
- 使用过tilwindcss吗,简单说一下:真没用过,说了一下它的好处以及解决了什么问题
- antd从4.0到5.0将单独的css文件改为了css in js,能说一下这两种不同的方式是怎么实现按需加载的呢,各有什么优劣呢:前者是需要插件来进行辅助处理的,贴图——
- react-fiber的流程:经典八股,开始吟唱
- 使用过哪些js新特性:经典八股,开始吟唱
- redux它解决了哪些实际问题呢,能说一下嘛:深度嵌套组件传递数据困难;跨组件的数据共享问题;大量的回调函数传递;不必要的组件重新渲染;数据流向不明确
- 我看你简历上写了性能优化,你了解哪些性能优化的方式呢:经典八股,不过着重说了说懒加载
- 你了解最近前端有哪些新颖技术呢:从css到js,到打包工具到上层框架
- 手写场景题:鼠标移入按钮弹出框打开,鼠标移出按钮弹出框消失, 怎么做到在open之后快速移出按钮并进入到弹出框内,弹出框不消失:核心就是防抖
- 最小重复子串:经典hot100
二面(45min,未录音版)
是一个温柔的leader,很美丽
- 介绍一下开源社区的经历吧: 重复,感觉就像背八股
- 说一下你在社区学到的code review风格:说了印象比较深的几个
- 通过开源,你学到了什么呢:协作,沟通,风格,设计
- 介绍一下你的上一段实习经历,然后就是关于低代码的intro
- 讲一讲低代码的事件通信吧:订阅发布,默认事件,用户编写自定义事件
- 是怎么考虑到使用发布订阅来实现时间通信的呢:对比发布订阅与websocket与iframe通信
- 说一下箭头函数的this吧:经典八股
- 看代码说结果(this指向问题)
- 说一下js的变量提升机制以及暂时性死区: 经典八股
- 看代码说结果(关于暂时性死区和变量提升)
- 手写:发布订阅机制(送分题)