3~5年前端面经

13,505 阅读4分钟

前言

终于要从宁波去杭州了,经过从8月份结束面试到现在,中秋过完之后就要入职了。提完离职之后,差不多闲了1个月。

今天难得地放下游戏,回忆下面试题,希望能帮助到大家。杭州的大厂几乎面了个遍,阿里,蚂蚁,网易,字节,华为,有赞,只能按照记忆整理下面试题。

面试内容

算法,笔试

1.解析URL

出现得挺高频的,把一个url的query参数,解析成指定格式的对象。

2.对象的合并,key值的转化

出现得也比较多,给你一个对象,也是把它转化成指定的格式。比如把 a_b 这种下划线的key值转化为驼峰 aB,或者给你一个些数据,转化成对象。

比如把 a.b.c 变成 { a: { b: c } }

3.实现vue的双向绑定

4.实现eventListner

5.数组的操作

这个就挺多的,leecode多刷一刷,字节的题感觉都是从leecode找的,一眼看到就直接认出了。。。。。

这个题,难易程度其实相差很多的。有的题很简单,有的题很难。不过碰到的最难的也就是滑动窗口了。因为之前没碰到过类似的题,没有用双指针,磕磕绊绊做出来了,但是挺吃力的。

6.promise的使用

比如把fallback的函数改造成使用promise的。或者使用promise实现输出。这种题真挺烦的,要么不出,一出就挺搞脑子的,主要是绕。

字节对promise真的有偏爱,每个面试官绝对都会问。

笔试总结

虽然每个厂都会考算法,但是总体来说真的不难。最看重算法的应该是华为跟字节吧。

技术面试

技术的内容遇到的题目就很五花八门的,因为每个岗位需要的技能可能也不一样,但是高频出现的题目也是有很多的。

1 webpack的plugin和loader有啥区别,有写过什么loader和plugin吗

这个题真的是被问到无数次了,但是我依旧不知悔改,每次都是,了解过,没写过。不清楚区别,你敢问,我就敢说不知道。

2 打包优化,性能提升

这个也是,我永远都是回答那几个实际会用到的,多了就是不会,我特别反感背面试题,我高考古诗词填空都懒得背,滕王阁序永远只会那一句 落霞与孤鹜齐飞,秋水共长天一色 ,反正高考时候诗词填空错了好几个,让我为了面试去背这种东西 ?

如果是实际中用到了,肯定会记得,但是去硬记,不存在的。

3 promise

没错,promise,永远的噩梦。还有async await。

4 import 和 require

5 原型链, new

6 跨域(cors), http请求

7 XSS 和 CSRF

8 框架原理

业务面试

问一下具体做的业务,业务方向难点。

如果讲到业务中解决了什么困难,或者又使用了新的框架。一定要知其所以然了,再拿出来说。面试官很喜欢在这里,问你是如果决策,为什么要使用,以及原理是什么。

如果只是简单的用一用,就别说了,很有可能一问三不知,心态直接绷不住了。

总结

主要时间也过去一个月。只有一些高频出现的还记得比较清楚,希望对大家有所帮助。

但我还是觉得,背面试题,可能不是太好。除非理解得很深入,不然问起来,可能很容易被听出来是背题的。其实简单想想也是,回答起来切入面很大,又浅又泛经不起推敲的,一下就知道是背题的,大厂的面试官水平一般来说肯定是优于我们的。

就跟上学时候,低头看课外杂志以为老师在讲台上会看不到一样,自欺欺人罢了。

所以嘛,努力工作,努力积累才是硬道理,笔试题或者基础概念题临时抱抱佛脚问题不大,其他的还是积累大于一切吧。

希望大家,能找到心仪的工作。继续打炉石去了~