2020年前端面试分享

931 阅读9分钟
笔者17年毕业,有三年前端开发经验。都说2020年疫情跳槽艰难,其实我个人觉得做技术的还好,下边将最近时间的面试经历与大家分享,希望你也能找到一份心仪的工作。

几点建议:

1、简历一定不要超过两页!!!突出重点,保持简洁,没有人愿意去看一份又臭又长的简历
2、面试前一定要刷题!!!有些题真的需要看下如何组织回答,你平时会做不一定会答得好!
3、准备好高频题目回答!!!记下来最好,不断优化你的回答!例如自我介绍;最满意的项目介绍;为何跳槽;加班看法;职业规划;当然也包括常见的技术类的题。
话不多说,直接看看面试题吧!

第一家:道通科技

一面技术面(3.28):

1、自我介绍

2、你在这个项目中是什么角色?前端几个人?

3、你怎么分工的?

4、你做过哪些性能优化的工作?

5、你了解Vue源码吗?具体说一下

6、小程序开发中有遇到什么问题吗?

7、小程序开发有什么缺点吗?

8、你为什么要离开这家公司?

9、你对加班什么看法?能接受加班吗?

10、你还有什么想问的吗?

二面领导面(3.29):

面试前一天填了一份表格,包括一份性格测试。结果hr联系我说领导看了没啥问题,直接通过进入Hr面了,我:???。难道幸福来得这么突然?

三面Hr面(3.30):

1、你离职原因是什么?
2、当前的薪资待遇
3、期望的薪资
4、能不能接受加班
5、对我们公司了解多少
6、你现在是住哪?能接受到公司所在地那上班吗?
7、你还有什么要了解的吗?

小结:

全程微信视频或电话面试,面试难度较简单。由于是第一家面试,完全当做试水,没想到就拿到了offer,而且待遇还可以,主要就是要常加班。但还是很开心!

第二家:深信服

一面技术面(4.3):
1、自我介绍
2、从哪些维度去考虑选择Vue重构的
3、常见的http状态码
4、请求头哪些字段会让服务器返回304
5、哪个功能模块使你做起来比较有成就感
6、https的连接过程
7、加入了什么机制使http更安全
8、常见web的性能优化
9、常见的web安全有哪些
10、你对Vue源码了解多少

11、你还有什么想问的吗


二面技术面(4.7):
1、自我介绍

2、现场编程:给你一个数组,存放接口路径,实现一个方法,请求数组中的接口,请求成功1s后继续请求数组下一个接口,直到请求结束!

3、常见js异步编程有哪些?

4、浏览器的事件循环机制你说一下?

5、做过什么性能优化工作?

6、浏览器缓存了解吗?

7、有用过webpack吗?

8、webpack的loader介绍下?

9、tree-shaking的理解?

10、webpack做过哪些优化?

11、为什么要选择Vue重构这个项目?

12、你还有什么想问的吗?


三面技术面(4.8):
1、自我介绍
2、你目前离职了吗?为什么要从上家离职?
3、你带过团队吗?一个团队最重要是什么?
4、你是怎么提升团队的效率的?
5、你怎么看待技术和业务之间的关系?
6、你平时是怎么保证项目质量的?
7、你又是如何保证页面的性能的?
8、你对前端工程化的理解?
9、你平时怎么提升自己的?
10、你有开源项目吗?
11、你除了工作还做过什么工具或者开源的东西?
12、你觉得你目前最需要提升的是什么?
13、你的规划是什么?
14、你还有什么想问的吗?

四面Hr面(4.9):

1、自我介绍
2、一个好的产品好像更多的是产品idea,运营推广的功劳,你怎么看待技术对一个好产品的贡献?
3、你为什么离职?
4、你们团队的规模?一个项目前端多少人?
5、你在团队是一个什么角色?
6、你对加班看法?能接受加班吗?
7、你是哪里人?
8、你会在深圳长期发展吗?
9、你目前的薪资待遇如何?
10、你期望薪资是多少?
11、你为什么要投我们公司?了解吗?

12、你还有什么需要了解的吗?

小结:

全程在牛客网上视频面试。面试总体感觉偏难,比较专业有递进关系。三面面得我差点奔溃了,面试官又感觉很严肃,面完都自己觉得80%挂了,不过最后还是很幸运也拿到了offer。非常感谢,虽然疫情,但我面试开局很顺利,给了我比较大的信心。

第三家:腾讯看点直播

1、自我介绍
2、你的技术栈主要是Vue,那你学过react吗?
3、看你写看过Vue源码?能讲一下吗?响应式原理?
4、讲一下Vuex的实现原理?
5、vue的data为什么是返回函数?
6、vue的循环为什么要加key
7、我们先来聊一下js基础吧
8、讲一下原型和原型链?_proto_指向哪里
9、说说你对闭包的理解
10、apply和call的作用和区别?哪个性能更好?和bind又有什么区别?
11、数组的sclice和splice方法的区别
12、[1,2,3].map(parseInt)的输出结果
13、讲一下reduce方法
14、css3有哪些特性啊?你用过哪些?
15、ES6的新特性了解多少
16、说一下var、let和const的区别
17、讲一下箭头函数
18、你怎么实现异步编程的
19、generator函数用过吗?讲一下
20、bable了解吗?原理是什么?
21、事件循环了解吗?讲一下?
22、http和https的区别
23、http的流程?具体三次握手怎么实现
24、https的流程呢?
25、讲一下TCP和UDP
26、说一下你在项目中用到的web安全?
27、常见的跨域有哪些?
28、对webpack了解吗
29、对node了解吗?在项目中用过吗?
30、typeScript了解多少?说说你的看法?
31、介绍下防抖和节流
32、有使用什么css预编译语言吗
33、常见的性能优化
34、说一下浏览器的渲染机制
35、说一下浏览器的缓存机制
36、你还有什么想问的吗?

小结:

我感觉面试小哥拿着一份面试题目列表一个一个的问???其实自我感觉总体还是答得不错的,可惜还是挂了,技术渣渣达不到回答的深度吧。大厂要求比较高,加上没用过node,而且主要是react,挂也理所当然。反正也是抱着试试的态度面大厂。

第四家:字节跳动

1、position的值有哪些?
2、重排与重绘的区别
3、vue的响应式原理
4、有几种跨域请求介绍下
5、介绍下防抖和节流
6、介绍下闭包?你平时有用吗?在什么情况下使用?
7、算法题:实现二叉树两节点的距离
8、算法题:实现大数相加
9、你还有什么想问的吗?

小结:

不出意外,终究在两道算法题被虐了,其实本身这两道算法不难,只是自己平生最怕写算法,特别是现场写,以前没见过我就很难现场写出来。而且一开始写不出来,面试官会给你提示到你至少写些出来为止,不会直接跳过。过程挺煎熬的,但还是感谢面试官!其实问了不少问题,这场没有马上记下来,忘了一些。

第五家:平安智慧城

1、自我介绍
2、说一下js的作用域吧?
3、谈谈你对闭包的理解?
4、说一下js的原型和原型链的理解吧?
5、说一下js的继承吧?
6、你觉得为什么要深入去学习框架底层原理?
7、浏览器内核有哪些?
8、浏览器引擎有哪些?
9、浏览器渲染机制你了解吗?介绍下
10、网络常见的状态码介绍一下?
11、你在你项目中有用过哪些设计模式吗?

12、你有什么想问的吗

小结:

这个面试官给我印象较差的一次了,说完老给你总结绝对性结论,根本不是我想表达的意思。就一直在跟他较真这些了,最后只能承认说可能是我表达德不够清晰吧!也跟面试官了解到他们部门才四五个前端,所以这个不是我跳槽的目标了。

总结:

首先面试前准备很重要。除非你是真大神,要不就老老实实准备看看面试题吧。大厂对基础、网络和算法等要求都比较全面,所以最好要多接触除了工作以外的技术,例如公司不用node那可以自己在github捣鼓做自己的项目,别像我吃了没用过node的亏;

其次两三年工作经验了,要深入学习某项技术了。例如别再说只会用Vue而没看过Vue源码了;

最后给自己的回答找一些亮点。例如我回答Vue响应式原理时,除了回答Vue2的原理,还说了Vue3的响应式原理,进行对比再得出Vue2存在的问题和Vue3重写的好处。可能会让你的回答在面试官眼前一亮。

推荐两个前端面试题汇总网站:

(1)FE-interview:blog.poetries.top/FE-Intervie…

(2)前端进阶之道:yuchengkai.cn/docs/fronte…