2021年个人总结的一些面试题,以及面试心得;
面试官:我看你简历上写的JS基础扎实,那我来简单考考你
1、找出数组中和5 最接近的数字以及下标;
[1,2,3,4,5,6,7,8,9,33],一层循环能不能解决问题?
2、把一个数组添加另外一个数组后面有哪些方法?数组去重的方法有哪些
说到 indexOf(); 那么indexOf 判断'1' 和 1会相等吗?
3、状态码 304 是协商缓存的,还是强缓存的?
4、强缓存、协商缓存都是有哪些字段?
强缓存: expire、cacahe-control
协商缓存:last Modified, Etag
5、你说你了解event loop说一下打印顺序,为什么?
setTimeout(()=>console.log(1), 0);
new Promise((resolve, reject) => {
console.log(2);
resolve();
console.log(3);
}).then(() => console.log(4))
.then(() => console.log(5))
.catch(() => console.log(6));
.then(()=> setTimeout(() => console.log(7),0));
setTimeout(() => console.log(8));
// 2,3,4,5,1,8,7
6、打印出什么? 为什么
a = 100;
var a;
console.log(a) // 100;
// var a 会变量提升 相当于如下
var a;
a = 100;
console.log(a) // 100;
// 下方打印出什么,为什么?
a = 1;
let a;
console.log(a)
// Uncaught ReferenceError: Cannot access 'g' before initialization
7、优惠券的两个耳朵怎么实现这个效果?分为纯色和渐变色两种情况
;
8、我看你用Vue也好几年,那你讲一下对Vue掌握的比较好的地方有哪些?可以讲讲吗?
你不讲那我就自己问了,我来问就可能刚好问到你的盲区!
1、响应式原理、$nextTick干什么用的,实现原理看过吗?
2、Vue里面重写了一些数组的方法?为什么,怎么重写的?
9、<!Doctype html> 干什么的?有什么用,写和不写有什么区别?
10、前端能做的性能优化有哪些?
JS放在页面的头部,加入js没有操作DOM,那么会阻塞页面的解析和渲染吗?为什么
11、了解过Webpack 的打包原理吗?项目中怎么优化的?讲一下打包的大致过程
链盟
1、多个异步请求,怎么保证异步返回的顺序?前后没有依赖关系
2、项目打包上线后怎么定位bug, sourceMap开启后,怎么保证代码的安全?
3、手写一个发布订阅模式
4、React Hooks 书写时有什么注意事项,为什么?
说一些Hook组件和Class组件的区别?
5、组件传递值,有哪些方法? 假如一个组件很多个状态,保存在一个对象中,怎么优化?
6、我看你React-redux也用过,那你说一下,React-redux的工作流程
Store中state状态改变后,是怎么通知其他组件的? connect是干什么用的?
海银
1、怎么防止一个表单重复提交,怎么防止一个接口重复请求?
2、假如一个页面中有很多请求,你怎么去优化?
3、项目的分包策略,怎么分包?
4、讲一下闭包?有哪些应用场景?
国大康
笔试题
1、手动实现一个图片批量上传的功能
2、let a =1; let b = Number(1) 的区别?
a ==b // true
a === b // false 为什么
3、一个正方形,
border-radius:50% // 圆
border-radius: 100% // 圆 为什么
一个div
{
width: 200px;
height: 200px;
border-top-right: 50%;
border-top-left: 100%;
} // 画出形状,为什么?
4、常见的请求头有哪些?
5、页面性能优化有哪些方法?
6、跨域有哪些解决办法?
微问
1、讲一下webPack 的打包过程
2、setState到渲染这个流程
3、JS脚本放在页面的最底部会阻塞DOM的渲染吗?
4、小图片转化为Base64,为什么能优化性能,转化后有哪些缺点?
5、移动端,IOS和安卓会遇到哪些问题?怎么解决安卓把页面高度挤扁的问题?
6、白屏优化有哪些方法?
`