一面(2021/3/25)
1、自我介绍。
2、对 TCP/IP 的理解。
3、前端如何保证安全性。
4、HTTPS。
5、HTTP 中的请求头。
- Accept
- Accept-Encoding
- Accept-Language
- Connection
- Host
- Referer
- User-Agent
- Cache-Control
- Cookie
- Range
参考
6、GET 请求和 POST请求的区别。
- Get 请求的参数是连接在 url 中的,Post 请求的参数是存放在请求体中的;
- 由于 url 的长度是有限的,所有 Get 请求的参数是有限的,而 Post 请求的参数是不受限制的;
- 相比 Post 请求,Get 请求更不安全,因为 Get 请求的参数是暴露在 url 中的,不能用来传递敏感信息;
- Get 请求会被浏览器主动缓存,而 Post 请求不会,除非手动设置;
- Get 请求的参数会被浏览器存在历史记录中,而 Post 请求不会;
- Get 请求只能进行 url 编码,而 Post 请求可以进行多种方式的编码;
- 浏览器发送 Get 请求会将 header 和 data 一起发送给服务器,服务器响应成功返回200状态码;而 Post 请求先将 header 发送给服务器,服务器返回100状态码,然后再将 data 发送给服务器,服务器响应成功返回200状态码;
- Get 请求在浏览器回退是无害的,无持续的副作用,如进行搜索;而 Post 会重新提交请求,有副作用,如往数据库添加数据行。
Get 请求一般用于获取、查询数据,不会修改服务器上的数据;Post 请求一般用于修改服务器上的数据,上传数据等,或者涉及到敏感信息的传输,如用户登录。
7、如何获取 cookie。
8、如何保证 cookie 的安全性。
9、cookie 和 localStorage 的区别。
10、 前端有哪些存储方式。
cookie、sessionStorage、localStorage
11、如何实现一个元素垂直、水平居中。
12、如何在页面中添加一个弹框。
13、有一张图片,在页面不断往上滑的过程中,要能放得下才显示,怎么实现。
14、如何实现一个页面,左边菜单栏的宽度固定,右边的内容栏宽度不固定。
15、px 和 rem 的区别,及 rem 的使用。
16、JS 如何创建一个类。
17、JS 的继承,call() 和 apply() 的区别。
18、JS 的原型。
19、JS new一个对象的过程。
20、原型链和原型的理解。
21、作用域的理解。
22、JS 闭包。
23、clientWidth 和 offsetWidth 的区别。
24、项目的背景、在项目中做了什么。
25、Vue 如何创建一个指令。
26、Vue 如何注册组件。
27、watch 和 computed 的区别。
28、Vue 中的一些特性、原理。
29、介绍一下项目中的视频模块。
30、项目中的难点。
31、面试官的疑问:因为是学计算机视觉的,在前端的道路上能不能坚持下去。
32、面试官的建议:问在项目中做了哪些工作时,最好突出在前端中的贡献。
面试状态不好,问题都很基础,但是回答得不好。
二面(2021/3/31):
1、自我介绍。
2、谈一谈你近期做的一个项目。
3、前端怎么实现项目、代码层面的解耦。
4、对工程化的理解。
5、在中石油的项目中,遇到了什么困难。
6、Echarts 底层是怎么实现的。
7、哪些途径了解业界比较前沿的技术。
8、怎么提升自己的。
9、说一个你贡献最大的一件事。
10、怎么监测前端的性能,比如打开速度等。
11、反问:业务、技术栈。
技术栈:Vue.js。