# 一面

# CSS 选择器以及这些选择器的优先级

CSS选择器 (opens new window)

# BFC

CSS BFC (opens new window)

# 盒模型

CSS Box (opens new window)

# 如何实现左侧宽度固定,右侧宽度自适应的布局

面试官会要求多种方法

两栏布局 (opens new window)

# 了解跨域吗,一般什么情况会导致跨域

小提示:如果平常自身有使用场景可结合使用场景进行讲解

前端通信 (opens new window)

# JSONP 的安全性问题

jsonp安全问题 (opens new window)

# HTTP2 和 HTTP1 有什么区别

HTTP各版本 (opens new window)

# 你能说说缓存吗

强缓存与协商缓存 (opens new window)

# 能说说首屏加载优化有哪些方案吗

  • webpack 代码分割
  • 使用 CDN 加速,将通用库从 vendor 中抽离
  • gzip 压缩
  • 服务端渲染
  • UI 组件库按需加载
  • 脚本异步加载

# 谈谈你对作用域链的理解

类似的问题还可以是原型链、继承、闭包等

执行上下文 (opens new window)

# 你知道 null 和 undefined 有什么区别吗

JS 数据类型 (opens new window)

# 你知道闭包有什么作用

闭包介绍 (opens new window)

# 了解 Event Loop 么

JS 事件循环 (opens new window)

# 如何避免回流和重绘

浏览器渲染机制 (opens new window)

重排和重绘 (opens new window)

# 二面

# 笔试题

  1. 作用域链
  2. 原型链(例如实例属性和原型属性一样,删除实例属性后可以继续访问原型属性问题)
  3. 宏任务和微任务的打印顺序
  4. Array.prototype.map 的第二个参数

# 项目问答

# 算法

  • 求总数 n 块的最少硬币数
  • 斐波那契数列