ali-Interview

199 阅读3分钟

CSS

  • 有上下两个div,他们的上面盒子的margin-top与bottom为50px, 下面盒子的margin-top与bottom为40px,那么两个div中间的内容间隔为多少
50px 单纯的margin在垂直高度会重叠
  • 什么是BFC,应该怎么解决?

React

  • Redux原理是什么,主要解决了什么问题
redux就是一个独立的状态树的数据结构,每个节点的state数据就是可能会被多个组件共享的数据,我们可以通
过react-redux提供的provider将根组件包裹起来,将store注入到组件中,再利用connect在各个子组件中
将store的state和修改state的数据方法注入到各个组件中。其原理也是应用react中的context来实现的,
store会放在context中,在子组件中再利用context将store拿到,这样就实现了组件间的传值.

redux主要解决组件间通讯、通过对象驱动组件进入生命周期、方便进行数据管理与切片
  • 用过什么中间件,可以简单的介绍一下吗?
redux-saga的使用很简单,和之前redux的做法差不多。先定义saga(也称为effect。类似reducer,不过
可以调用异步方法,不能修改状态),然后在顶层(index.js)注册之前写好的saga即可。在saga(effect)
中,我们可以通过takeEvery来监听dispatch,通过call来调用异步方法,通过put来触发reducer,通过
select来获取状态。要注意的是saga都是Generator函数(带*号),也只有Generator函数里才能调用
yield。这样异步问题就差不多解决了。
  • React性能优化有哪些方法
(1)React Perf 查看react加载组件时所耗费的时间

(2)render里面减少新建变量 减少bind使用

(3)定制shouldComponentUpdate函数

(4)redux性能优化是使用reselect在数据获取时优化

(5)利用浏览器缓存机制
  • 组件间传值方式是怎么样的, A下边的第四级组件需要用到B下面第三级组件时的值应该怎么做

原生js

  • 简单介绍一下跨域解决方法有哪些
(1)response添加header
(2)jsonp方式请求
(3)Http HttpClient 请求转发
(4)nginx反向代理部署至相应的tomcat服务器
  • 讲一下你对垃圾回收机制的了解,回收方式有哪些
以防内存泄漏,内存泄漏的含义就是当已经不需要某块内存时这块内存还存在着,垃圾回收机制就是间歇的不定
期的寻找到不再使用的变量,并释放掉它们所指向的内存。
1)给内存中所有标记都加上内存,然后去掉环境中的变量以及被环境中的变量引用的变量的标记。在此之后再被
加上的标记的变量即为需要回收的变量,因为环境中的变量已经无法访问到这些变量。
(2)引用计数方式,但现在大多已不再采用
  • ES6用过哪些,讲一下let const 和var的区别

  • JS异步原理 处理异步的几种方法

  • 什么是闭包