百度前端 | 暑期实习 | 笔试&一面&二面&三面
笔试是先做的,然后面试约在上周日下午三点。
本来以为只有一面,结果二面三面紧接着就进行了,连着面了两个小时。
笔试
选择题
选择题有单选和多选。百度的题目风格跟牛客上的百度真题差不多。
范围是真的宽,操作系统、计算机网络、前端三大件、数据结构算法基本都涵盖了,还有 linux 命令。
算法题
- 牛牛的奇偶子序列
- 能吃几份
- 分页组件的实现
算法题目和示例数据我截了图,图片有点长,为方便阅读,想看的同学移步博客帖吧。
百度笔试挺难的,选择题范围很广,多选题全怼 linux 。两道算法题都没 ac 出来,前端页面题又全是原生的 DOM 操作, api 都记不住。
本来以为凉了,结果还收到了面试通知。
面试是邮件里给了一个链接,点进去预约面试时间,面试两天全在周末,就约了个周日下午三点。
一面(20min)
一面面试官挺好的,上来就冲我乐。
一面我有点猝不及防,没有录屏录音,所以问的问题记得不是很清。
中间问了我一道题,我有点含糊,猜了一下,结果猜错了,他笑得贼开心,说这就是专门的坑题。
后面问我了不了解 Promise ,我大概介绍了一下,他就说要不要手写一下 Promise ,或者做两道算法题。
其实我之前有学过这个,但是只敲了一遍,不是很有底,在犹豫。
他就说算了,做两道算法题吧,放心,一面算法题不难的。
果然不是很难,第一道是给一个字符串,让把里面的空格替换为 %20
。我问他能否用 api ,他可能听成能否查 api 了,说查吧没事,我们平时干活也都现查的。
用了 replaceAll
方法,结果报错了,说 str.replaceAll is not a function
。
然后我还跟他交流,说可能是牛客平台用不了这个 api ,他说可能是,还说我这种方式也太讨巧了。最后写了个 for 循环
。
说第二道出难一点,然后是个链表题,给一个链表去除里面的重复项。
也很快做完,他就说过了,等下直接二面。
二面(30min)
- 自我介绍
- 写代码:快速排序及复杂度
vue
里的slot
干嘛用的vuex
用过吗?什么是module
?它有什么作用?使用过插件吗?- 什么是严格模式?
vue
里的严格模式。 - 热重载是什么?会有什么表现?是全部刷新还是局部刷新?
- 作用域链介绍一下,比如
new
了一个Car
对象,这个car
的作用域链。 - 闭包是什么?闭包解决了什么问题?
- 用过
ts
吗?说一下你了解的。 - 什么是泛型?
- 什么是接口?接口能够定义什么类型的数据?
CSS
的position
有几种值?介绍一下absolute
的值。- 什么叫层叠上下文?
box-sizing
有几种值?babel
用过吗?- 反问
二面面试官脸贼臭,全程没有笑脸。回答问题也没有反馈,回答完就开始问下一个。
有好几个问题没答好,我都感觉要没了,结果他还是给我过了。
三面(40min)
- 自我介绍
- 平时的工作过程中有用到过百度的一些产品吗?
- 提到了
echarts
,地图api
- 提到了
- 你觉得百度的 api 存在哪些缺点和不足呢?
- 在学习前端的过程中,最让你骄傲的一件事是什么?
- 为什么选择前端作为自己职业生涯的方向呢?
- 新的框架和
jQuery
的区别是什么?为什么大家都开始使用框架呢? - 最近有没有看过什么开源项目呀?就是听说哪个开源项目很好,突然想去了解一下那种。
- 自己最近在学
node
,提到自己在看express
- 自己最近在学
- 现在前后端交互的时候,有一个新的理念叫
RESTful
,有听说过吗? - 问了几个
http
状态码:404,401,403,400
- 有在
linux
下的开发经验吗?linux
下的命令有一些简单的了解吗?比如我想看一个文件有多少行,需要使用什么命令?- 懵逼
- 回忆一下过去一年多的时间内,碰到的最困难的编程问题是什么?最终是怎么解决的?
- 这次面试是什么时候通知的?这段时间有做哪些特别的准备吗?
- 问一下比较偏门的算法题,聊聊概念或思路。
- 堆的应用场景
- 考虑一个图算法,找两个节点的最小路径
- 考虑一个图的切割问题,如何切割才能把一个图变成两个图,且需要切割的边数量最少
- 反问
#实习##面经##百度##前端工程师#三面面试官挺好的,一看就是大佬,给人一种如沐春风的感觉。
问问题前都有铺垫,我回答的时候一直在引导我,我说得不对的地方还会及时给我指出来。