快手一二面面经(已OC)
一面
自我介绍
为什么要把style放在head里面,为什么要把script放在页面底部
- style放头部不会阻塞,放底部会被阻塞(会白屏),script放前面也会阻塞
- 那我们如果想把script放在head里面通过什么去控制
- defer和async有什么区别
预加载,paload什么的
重绘和回流
- 通过js去改css会触发重绘或者回流吗?
- 获取页面宽度和高度会引发回流吗
输出结果
for(let i=0;i<3;i++){ document.body.addEventListener('click',function(){ console.log(i) }) }
var a = [1,2,3,4] function set(a){ a = [5,6,7,8] } set(a) console.log(a)
var a = [1,2,3,4] function set(a){ a.push(5,6,7,8) } set(a) console.log(a)
promise状态
- Promise.all和Promise.race
- Promise.race里面如果传递的一个不是promise对象会怎样
- Promise.reslove传入一个peding状态的Promise会怎么样
能说一下迭代器吗 iterator
for in和for of区别
空对象可以遍历吗
手写驼峰匹配
- 正则/g,知道贪婪模式和非贪婪模式吗
怎么实现一个随机颜色的生成
- 随机生成颜色要补全吗?(要补0)
indexOf接收几个参数(注意第二个参数是位置)
怎么实现一个indexOf
- 不用for循环可以吗,可以用优化吗
- 字符串的话怎么优化
- 正则仅仅匹配可以实现不用循环
- 然后就开始疯狂问正则
实现一个并发请求(一个1000个请求,但是每次最多只能同时发送3个,怎么实现)
- Promise.race + Promise.all维护一个最大队列
keep-alive是什么
- LRU算法
- 最近最久未被使用算法的例子,会去掉哪个值
vue-router全局的和组件级的执行顺序
动态组件 component
二面
二面当时没记面经,凭记忆写的,可能会有点遗漏
- 讲一下项目
- v-for的话,如果让你给别人讲,需要注意什么问题
- v-model的具体实现
- 动态组件上次面试没答出来,下去了解过吗
- xss和csrf讲一下
- ssrf了解吗
- vue是怎么学习的
- 看过官方文档吗
- vue修饰符了解过吗 知道 .sync吗
- 防抖和节流了解过吗
- 手写防抖
- 做一下防抖的改进,就是执行第一次和最后一次的函数
当时思路是加了个flag看是不是第一次进去的,面试官没说是不是正确 - vue3了解过吗,有什么区别
有不会的欢迎评论留言!!!
#快手前端##快手##面试题目#