面试题总结

最近开始陆陆续续面一些公司,前期对自我认知有点问题,也没想到今年形势如此严峻,在这里记录下最近遭遇的面试题。

一、混沌大学

完全没准备就去面了,一面没什么问题,目测二面凉了,问题有:

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、移动端长度单位

整体感觉需要基础很牢固,只是背下答案是没用的,需要真正理解

你可能感兴趣的:(前端,总结)