神策两面面经
背景
由于所在行业受政策的影响,公司考虑转型,而且为了节省成本,进行了裁员,我不幸在此次的优化名单中。
虽然拿到了裁员的赔偿,在休息几天后,我还是拿起了书本,开始复习找工作。
网上五花八门的面试题很多,大部分都仿佛还是几年的题库。再想想这几年的新技术点,发现自己的知识体系还是有很多遗漏的。
本次的神策面经总结只发记录的面试题,不加自我的分析和答案了.有些问题属于项目经验相关的面试题,可能仁者见仁,没有标准答案还需要根据自身情况做准备.还有一些技术性的问题,在小程序前端面试题宝典()都能找到详细的答案解析就不一一列举了.
面试经历
一面
这次依旧是视频面试,不过面试官还是让先进行自我介绍,终于找回若干年前的面试感觉了。
简单的自我介绍后,面试官又问了印象最深的一个项目,又具体问了系统在实现过程中的难点。建议大家在面试前,对自己简历中涉及到的项目都进行简单的回顾。
接着问了一些前端基础知识:
-
页面渲染的过程
-
事件循环是什么?异步事件是怎么进行的回调?
-
跨域的解决方法?
-
CORS是需要后端做什么?
-
http请求的类型,除了GET、POST外,还有什么?
-
你提到的OPTION请求是什么?跨域时先发一个OPTION请求有什么用?
-
怎么提高react的渲染性能?
-
react hooks如何减少渲染?
-
webpack的loader是怎么工作的?输入输出是什么?sass文件是怎么转成css文件的?sass-loader、css-loader、style-loader的作用分别是什么?处理顺序是怎么样的?
-
页面上的图片是在什么时候进行加载?
-
html中的img和css中的img有什么不同?
-
script标签中的async和defer有什么不同?
-
base64转换图片,为什么会有尺寸的限制?为什么base64转换后,体积会变大?
-
...
之后还有几道编程题:
// 实现一个 calc 方法,可以将输入的数拆解为尽可能多的乘数,所有数相乘等于输入数。 // console.log(calc(2)); // // [2] // console.log(calc(8)); // // [2, 2, 2] // console.log(calc(24)); // // [2, 2, 2, 3] // console.log(calc(30)); // // [2, 3, 5] // 如下表格,点击 .date 后使表格按日期排序,当前是正序则改为倒序,当前是倒序则改为正序,要求以原生 JavaScript 实现。 <table id="c"> <thead> <tr> <th class="date">日期</th> <th class="total">总次数</th> </tr> </thead> <tbody id="tbody"> <tr> <td>2017年10月23日</td> <td>68,112</td> </tr> <tr> <td>2017年8月6日</td> <td>68,020</td> </tr> <tr> <td>2017年11月11日</td> <td>69,433</td> </tr> <tr> <td>2016年5月12日</td> <td>69,699</td> </tr> <tr> <td>2017年1月18日</td> <td>42,565</td> </tr> </tbody> </table>
二面
大概一周后,收到神策的二面通知。
神策的二面依旧是远程面试,面试一开始,双方就相互做了简单地自我介绍,简单了解了我做的一些项目。
二面的面试官是一个很有意思的人,所有问题都问的很深。
先是原型、原型链这块,还让手写不同对象的原型等于什么
-
[[proto]] 和 prototype 什么是什么?
-
原型链是顺着 prototype 还是 [[proto]] 往下找?
-
Object.prototype === ?
-
Function.prototype === ?
-
Object === ?
-
Function === ?
中间还有一些题目给忘了,比较印象的是下面这个浏览器渲染的题,里面很有争议的一个点是面试官觉得就是js引擎线程和渲染线程是同一个线程,让我不要完全相信理论知识,我们俩就这个问题争论了好半天。
-
浏览器是怎么渲染页面的?
-
渲染过程中的布局和绘制有什么区别?
-
绘制是做了什么?
-
图层合并发生在哪一步?
-
怎么生成新的图层?
-
js引擎线程和渲染线程是同一个线程吗?如果不是同一个线程,怎么做到互斥的?
-
dpr是什么?他是固定的吗?
二面之后就没有了然后,这一轮二面也是整个找工作过程中体验最差的几次面试之一。
总结
神策的一面还是比较基础,大部分问题从实际工作经验的角度提出的,都是一些比较实在的问题。二面的问题也很基础,但是问的太深,我回答的不是很好,建议大家还是在找工作前多看看红宝书,避免和我一样在基础问题被问倒。
上面题目的答案,我都总结到了最近开发的一个面试题小程序中:前端面试题宝典,里面已经搜集了600+常见的前端面试题的题目和答案,希望能够帮助到大家更快的进行复习。