百度前端暑期实习一二三面面经
百度是一天面完三轮面试,4.24号下午一点面到下午三点半。前两周都在准备期中考试和补作业,完全没准备,没想到能走到三面的。
一面(60min)
-
自我介绍
-
你学习前端的方式是什么?看过一些什么书?(之前提到了看书)
-
介绍一下项目?项目中抽离了一些什么hook?
-
项目背景,开发目的?
-
你是怎么理解TypeScript的?
-
项目遇到的难点,如何解决的?
-
数组和链表的区别?
-
从后端请求到一个html文件之后,讲一下之后发生的流程?为什么遇到<script>会阻塞?
-
现在遇到首屏时间很长的问题,你会如何去解决?
-
你讲到了图片懒加载,如何实现的?如果不使用库,自己实现,你会怎么实现?
-
讲一下跨域?为什么服务端没有同源限制?
-
讲一下flex?flex-basis是什么?
-
怎么实现垂直居中?
-
了解Map吗,用Map实现映射和使用Object实现有什么区别?
-
一个按钮,上面有一个遮罩层遮住,我点击遮罩层上对应按钮的同一个位置怎么触发按钮的点击事件?
-
讲一下webpack的loader。处理一个less文件需要用到什么loader?配置这些loader时的顺序是怎样的?
-
算法题,金钱格式化(输入1100100011输出字符串'1,100,100,011')
-
手写深拷贝
- 反问
二面(45min)
面试官是个小姐姐,人很好,基本全程都是面带笑容的。
-
自我介绍
-
如果现在有一个项目,让你开发,从零开始搭建,你会怎么做?(没get到面试官的点,就答了各种东西)
-
less如何转换成css的?
-
还使用过什么其他CSS预处理器?
-
继续问第一个问题,开发项目之前应该怎么做,讲了一下配置axios的baseUrl,以及处理跨域的问题,划分组件等
-
如果请求之后出错,你怎么排查?(面试官好像想问返回的Promise出错怎么处理异常)
-
讲一下Promise(这里面试官说我有一部分讲错了,还是没get到她那个错误的点,由此追问resolve和reject是一个怎样的角色)
-
写Vue和原生操作Dom,有什么区别?
-
讲一下重绘和重排
-
刚刚讲到了Vue的异步渲染,解释一下
-
Promise在Event loop中扮演一个什么角色?
-
解释一下Event loop
-
如何判断数组?为什么Object.prototype.toString.call可以?
-
数组有些什么API?
-
如何连接两个数组?
-
typeof 和 instanceof 的区别?
-
讲一下box-sizing?(盒子模型)
-
两个div,都设置了margin,会发生什么?为什么会出现marigin塌陷?
-
讲一下BFC
-
算法题:拍平数组。(因为一轮面试之后代码区被锁定了,没法编写,面试官说让我讲一下思路就行)
-
反问
三面(20min)
三面面试官比较严肃,之前反问了前两个面试官,第三面一般会问什么,他们都说不会再问一些技术问题,会聊一些其他方面的,但是这次三面还是问了一些技术问题,并且我都没有答好。
-
自我介绍
-
问了一下我学校,是211吗?(不是,一个普通一本)
-
介绍一下项目,组件如何抽离封装的,做了什么优化?
-
路由懒加载的原理?
-
讲一下js模块化,两种模块化的区别?
-
为什么要有this这个东西?
-
移动端适配怎么做的?
-
图片压缩怎么做的?
-
在学校成绩排名?拿过什么奖吗?
-
反问
三面完马上去官网查看流程,变为共享中,应该是寄了。