磕磕绊绊学了一年前端,终于迎来了我的第一场面试。
面试官性格很好,时长大概四十多分钟,base西安,总的来说氛围很不错。
话不多说,下面是问的一些内容:
- 自我介绍
- 项目中你遇到的问题,怎么解决的(这里我谈到了一些第三方组件库的样式问题,面试官就顺着往下问了)
- CSS中的过渡(问我大致用法)
- 动画的实现方法(CSS讲了一部分,然后还讲到JS操作DOM实现样式变换,本来还想讲一下canvas的,但是这里面试官顺着问了JS实现样式变换引起的突然变化该怎么解决,后续也就没有再说了)
- display和visibility,v-if和v-show
- Vue中computed和watch的区别,什么情况下用computed,什么情况下用watch
- 组件的keep-alive
- 强制刷新组件的方法
- Vue生命周期,activated是干嘛的(一时半会儿还想不起来这个生命周期函数干嘛的了)
- Vue2中响应式数据为什么不能直接操作数组?Vue3可以吗?为什么可以(谈了一下Vue2和Vue3响应式数据实现的原理)
- 观察者模式(我说和发布订阅分得不是很清楚)
- 事件循环,看代码写输出
console.log(1);
setTimeout(() => {
console.log(2);
}, 0);
new Promise((resolve) => {
console.log(3);
resolve();
})
.then(() => {
console.log(4);
})
.then(() => {
console.log(5);
})
.finally(() => {
console.log(6);
});
console.log(7);
代码大概就这样,接着问为什么会是这样的输出结果,我就讲了一下事件循环 - 说一下call和bind干嘛用的?说一下手写怎么实现(讲了一下思路)
- 实现一个Dialog(讲了一下思路)
- fixed定位如何在高度不确定的情况下实现居中(这个我没答出来,面试官说结束后你可以去看一下饿了么组件库的源码)
- XSS攻击是什么?如何避免?如果携带在url里面呢
- http缓存的请求头字段(我说这个不太了解,学校还没上计网的课,计网方面我只是挤时间了解了一些,就说了强缓存有两个,协商缓存有两个)
- TCP和UDP的区别在哪?为什么UDP比TCP快?字段方面的区别(第三个问题我没答出来)
- 你前端是怎么学习的
反问:
- 大概多久出结果(1至3个工作日)
- 我接下来的学习路线是继续学习新内容还是夯实基础?(夯实基础,把基础打好了学其他东西都很快的)
大致上的内容就这些吧,有些记的不太清楚,后续想到了再做补充吧。
#实习##前端##面经##实习面经#