猎豹移动大前端面试-校招-2020届

本文最后更新于:2021/02/14 , 星期日 , 22:12

一面

CSS

盒模型

盒模型有两种标准,一个是标准模型,一个是 IE 模型。
在标准模型中,盒模型的宽高只是内容(content)的宽高,
而在 IE 模型中盒模型的宽高是内容(content)+填充(padding)+边框(border)的总宽高。
-w435

JS

闭包

闭包是指一个作用域中的函数可以访问该作用域中的函数,变量等。当一个值,在内存中失去引用时,垃圾回收机制会根据特殊的算法找到它,并将其回收,释放内存。函数的执行上下文在执行完毕之后,生命周期结束,该函数的执行上下文就会失去引用。其占用的内存空间很快就会被垃圾回收器释放。闭包的存在,会阻止这一过程。

this

1.全局对象中的 this 指向它本身 2.函数中的 this

在一个函数的执行上下文中,this 由该函数的调用者提供,由调用函数的方式决定其指向。
如果调用者被某一个对象所拥有,那么在调用该函数时,内部的 this 指向该对象。如果调用者函数独立调用,那么该函数内部的 this 则指向 undefined。在非严格模式中,当 this 指向 undefined 时,它会自动指向全局对象。
call/apply/bind 显式指定 this。

ES6

新增内容
  • 新的变量声明方式 let/const
  • 箭头函数
  • 模板字符串
  • 解析结构
  • 函数默认参数
  • 展开运算符
  • class,construction,extends
  • promise
  • Module
foreach 用法

-w536

框架相关

React 生命周期

React 生命周期分为三个阶段:装载,更新,卸载

装载阶段中会依次执行以下函数:

  1. constructor
  2. getInitialState
  3. getDefaultProps
  4. componentWillMount
  5. render
  6. componentDidMount

更新阶段会依次执行以下函数

  1. componentWillReceiveProps
  2. shouldComponentUpdate
  3. componentWillUpdate
  4. render
  5. componentDidUpdate

卸载阶段会执行:componentWillUnmount

组件通信

  • 父子通信
    父组件通过 props 传递数据给子组件,子组件通过调用父组件传来的函数传递数据给父组件,这两种方式是最常用的父子通信实现办法。
    这种父子通信方式也就是典型的单向数据流,父组件通过 props 传递数据,子组件不能直接修改 props, 而是必须通过调用父组件函数的方式告知父组件修改数据。

  • 兄弟组件通信
    对于这种情况可以通过共同的父组件来管理状态和事件函数。比如说其中一个兄弟组件调用父组件传递过来的事件函数修改父组件中的状态,然后父组件将状态传递给另一个兄弟组件。

  • 跨多层次组件通信
    Context API。

网络

http 状态码

2XX 成功
  • 200 OK,表示从客户端发来的请求在服务器端被正确处理
  • 204 No content,表示请求成功,但响应报文不含实体的主体部分
  • 205 Reset Content,表示请求成功,但响应报文不含实体的主体部分,但是与 204 响应不同在于要求请求方重置内容
  • 206 Partial Content,进行范围请求
3XX 重定向
  • 301 moved permanently,永久性重定向,表示资源已被分配了新的 URL
  • 302 found,临时性重定向,表示资源临时被分配了新的 URL
  • 303 see other,表示资源存在着另一个 URL,应使用 GET 方法获取资源
  • 304 not modified,表示服务器允许访问资源,但因发生请求未满足条件的情况
  • 307 temporary redirect,临时重定向,和 302 含义类似,但是期望客户端保持请求方法不变向新的地址发出请求
4XX 客户端错误
  • 400 bad request,请求报文存在语法错误
  • 401 unauthorized,表示发送的请求需要有通过 HTTP 认证的认证信息
  • 403 forbidden,表示对请求资源的访问被服务器拒绝
  • 404 not found,表示在服务器上没有找到请求的资源
5XX 服务器错误
  • 500 internal sever error,表示服务器端在执行请求时发生了错误
  • 501 Not Implemented,表示服务器不支持当前请求所需要的某个功能
  • 503 service unavailable,表明服务器暂时处于超负载或正在停机维护,无法处理请求

算法

排序算法

快排