本人大四,现在在某大厂实习,因为之前打算考研,周围的人都考研,想了想自己是考不上了,所以决定开始找工作,因为准备工作时间比较短,最开始面试的就是大厂,记得第一个是百度,是一个小姐姐面的,小姐姐问的问题都很简单,我也都知道答案,但是我说不出来!!!第一次有这种感觉,印象深刻的是它问我webpack用到了哪些loader,但是明明清楚会用到解析css,html,js,热更新的。。。。但是就是没有记住名字,因为那个webpack不就是打包工具吗,配置贼复杂,我每次都直接复制官网的配置,根本没留意叫什么名字,这就是吃亏吧。。。因为之前都是在网上看的视频,跟着老师的技术走的,所以课上练习的都是技术,让我把这个技术系统地说出来真的很为难我。。。
敲重点!!!面试的时候一定要从小公司开始面试,面试问过去问过来都是那些问题,要总结面试经验,俗话说,纸上得来终觉浅,不管怎么看面经,都没有亲自实践来的效果好。。一定要背面经(滚瓜烂熟),这样当被面试官问到的时候,会让面试官眼前一亮!
废话不多说。。。。
开始总结面试题吧,建议最开始要刷一些比较有难度的题,临近面试时疯狂背八股文,因为太早背,背了会忘的。
本人觉得比较复杂的最常考的就是 promise 和 排序算法。。。所以这篇博客不出意外我将会整理的出所有关于这两个东西的知识点,面试了这么多场,几乎每个面试官都会问这个问题
励志把promise源码背的滚瓜烂熟,用的得心应手。
排序算法让我倒着写也能写的出来
一、promise 为什么会有这个东西的存在?我打算按照 什么用 --> 怎么用 --> 底层原理 来记录完整学习过程。。。。
想象一下这个场景,现在有一个数,每隔13ms会增加一个数值(不固定)
如果没有promise,你就需要这样写,这还是函数逻辑比较简单的时候,当函数逻辑
function animate(height, x, callback) {
setTimeout(function () {
windows.height = height + x;
callback && callback()
}, 13);
}
let height = 50;
animate(height, 100, function () {
animate(height, 200, function () {
animate(height, 300, function () {
animate(height, 200, function () {
animate(height, 200, function () {
animate(height, 180, function () {
animate(height, 220, function () {
animate(height, 200, function () {
console.log("over");
})
})
})
})
})
})
})
});



