# 百度秋招前端面试 `23`届的秋招正式开始了,今年秋招几乎就没有`HC`,今年太难了,很不好整,百度北京整个前端只有`80`个`HC`,随缘了。简历是在`2022.07.14`晚上`9`点左右投递的,让虎哥直接定向内推的百度网盘。 ## 一面 秋招的第一场面试,还是非常紧张的,有点不会说话了都,思路有些不清晰,主要是一直在实习也没时间看八股做算法之类的,而且现在秋招`80`个`HC`根本抢不过。一面约的时间是在`2021.07.25 16:00`,面试时间有`45min`。 * 最近做这些项目有遇到过什么困难吗,怎么解决的。 * 为什么选择`Slate`而不是`Quill`做富文本编辑器。 * 富文本编辑器`Slate`和`Quill`的对比,优缺点。 * 小程序开发的方案,有什么跨端框架。 * 跨域常用的方法。 * `JSONP`跨域的优缺点,`CORS`跨域的优缺点。 * 预检请求是什么,简单请求和复杂请求的区别。 * 如何做到改变数据而刷新视图。 * 直接改变数组的`length`会触发`Vue`视图变动吗。 * `Vue`为什么不实现数组的数据变动监听。 * `Vue`中如何做到数组监听。 * `Vue`的`set`方法的作用 * `position`的几种值,分别怎么用。 * 父元素`div`是`absolute`的,子元素的`absolute`根据什么定位。 * `margin`塌陷的问题,如何解决。 * `Js`常用的数据类型,基本数据类型有哪些。 * `Symbol`用处,`Symbol`与`Symbol.for`。 * 除了`Object`有什么引用的数据类型。 * 微前端的理解,了解什么框架。 * 深浅拷贝的理解,如何设计一个深拷贝。 * `JSON.stringify`和`JSON.parse`方法作为深拷贝的缺点。 * `301`、`405`、`413`状态码。 * 协商缓存与强缓存,都会命中`301`吗。 * 对于`Js`资源更倾向于命中强缓存还是协商缓存。 * 协商缓存与强缓存的字段。 * `last-modified`和`etag`的优劣。 * `CDN`是什么,回源代表什么意思。 * `webpack`的`loader`和`plugin`的区别。 * `required`引入和`import`引入的区别。 * 简单说一下`tree-shaking`,结合`required`和`import`。 * `Vue`的`diff`算法。 * `Vue`为什么要有虚拟`DOM`。 反问环节问了问老哥这边做的业务以及我个人需要提高的地方,业务方面是依托于百度网盘而做的业务,包括很多衍生产品例如小程序等等,我个人需要提升的是对技术的深度,大面上都了解但是细节不深入。这老哥人还是挺好的,就是不开摄像头感觉我自己在那聊就很尬。 ## 二面 二面约的是真的快,我面完没几分钟就给我打电话约二面了,说好的三天呢,但是二面寄的也真的快,最后一道`easy`没做出来,我也是服了我自己了,二叉树都不会构建了,丢人,基本功不扎实。一面约的时间是在`2021.07.27 19:00`,面试时间有`30min`,这老哥应该是有事没来,换了个老哥面试的,还放了我十分钟的鸽子。 * 为什么要学习前端。 * 平时是怎么学习前端的。 * 之前实习的经历怎么样, * 研究生期间的成绩是怎么样的。 * 研究生的课题方向是什么,有什么成果。 * 本科时期的成绩怎么样。 * 富文本编辑器`Slate`和`Quill`的对比,优缺点。 * 富文本编辑器做成了什么样子。 * 简单介绍下最近做的一些项目。 * 小程序跨端的原理。 * 为什么做小程序而不是`H5`。 * 对`NodeJS`了解的如何,了解什么后端语言。 * 二叉树前序遍历。 反问环节问了问老哥我个人需要提高的地方,给了我几点建议,让我把基础搞扎实(毕竟这个`easy`还做的稀里糊涂的),另外还要提升对于技术的深度。老哥说的确实还是很有道理的,而且我这`easy`没整明白也确实挺丢人的,只不过呢,二面面试官也不开摄像头,直接像是组内传统了。 ## 后续 `2021.07.28`晚上问了问虎哥,说已经寄了,有一说一,早就已经有了心理预期,所以感觉内心还是没什么波澜的。分析下原因,首先肯定是我的`easy`做的稀里哗啦的,这确实是我自己的主观问题,但是二面从一开始面试官放鸽子,到后来又换了个面试官才开始面试,这场面试基本就已经寄了,甚至还中途面试的过程中问我要简历。不过另一方面在面试的过程中我也有问题,没有能够展示出自己的优势,很多东西都是一带而过了,当然面试官也没给我展示的机会与时间,反正整体来说有主观原因也有客观原因,后续努力吧,今年是相当难的。