最近开始陆陆续续面一些公司,前期对自我认知有点问题,也没想到今年形势如此严峻,在这里记录下最近遭遇的面试题。
一、混沌大学
完全没准备就去面了,一面没什么问题,目测二面凉了,问题有:
1、http 缓存
2、获取 url 参数值的方法
3、移动端适配
4、flex 布局
二、虾皮
基础不行,所以凉凉。。。
1、行内元素和块级元素的区别,对行内元素设置宽高有用吗,为什么对 img 标签起作用,对行内元素设置边距有效吗
2、你知道什么是 BFC 吗
3、说说你对盒模型的理解
4、对闭包的理解,对闭包的应用,闭包有什么缺点
5、对 http 缓存的理解
6、跨域知道吗
7、对 xss, csrf 的理解
8、看代码,说答案,具体考察的是 this 指向,let 和 var 的区别
9、eventloop, 宏任务,微任务
10、vue 数据绑定原理
11、vue diff 算法原理
12、vue 虚拟 DOM 的作用,key 的作用,如果用 index 做 key 有什么问题
13、vue 组件间通信的方式
14、了解 http2 吗
三、平安
一面:
1、http 三次握手四次挥手
2、对 xss, csrf 的理解
3、跨域的几种方式
4、闭包,闭包的应用
5、requestFrameAnimation 和 setTimeout 的区别
二面:
面了之后觉得还是不要在简历上写会 vue 了。。。So sad …
1、vue 双向绑定原理
2、vue diff 原理,如果有个节点数据发生了变化,vue 是怎么迅速找到对应的节点的
3、v-model 是怎么封装的
4、怎么封装个组件,把 v-model 暴露出去
5、鉴于前面的都没说清楚,终于问了个垂直居中
6、怎么避免 css 冲突
7、如果在 ant-design vue 里,要修改某个组件的样式,怎么修改,答在对应标签上加个 class,问这样有什么问题
8、如果有十个元素要修改样式,怎么避免多次回流
9、差点忘了,vue 怎么进行性能优化的
四、快手:
1、代码如下:
var a = {x:1};
var b = a;
a.x = a = {n:1};
console.log(a);
console.log(b)
问题:怎么赋值的,基本数据类型和复杂数据类型的不同,typeof 能正确判断数据类型吗,怎么正确判断数据类型
2、原型链
3、代码如下:
console.log(b)
let b = 1
var c = function() {console.log(1)}
function c() {console.log(2)}
c()
问题:let 和 var 的区别,函数式声明和变量式声明的区别,变量式声明的缺陷
4、eventloop, 同步异步,微任务宏任务
5、reflow repaint
6、浏览器渲染机制
7、http content-type 有哪几种,有什么区别
8、如果自己写个转发中间价,思路是什么
9、打乱数组,怎么保证每个元素出现的几率是平均的(洗牌算法)
10、差点忘了,什么是 BFC、IFC、FFC
11、移动端长度单位
整体感觉需要基础很牢固,只是背下答案是没用的,需要真正理解