Skip to content

Instantly share code, notes, and snippets.

@Lxxyx
Created February 27, 2018 04:11
Show Gist options
  • Save Lxxyx/c590b1405fef15ef2a203e370fe0c17e to your computer and use it in GitHub Desktop.
Save Lxxyx/c590b1405fef15ef2a203e370fe0c17e to your computer and use it in GitHub Desktop.
interview

知识图谱:

  1. HTML/CSS 基本知识

  2. HTML/CSS 常见布局(Flex布局)

  3. HTML5/CSS3 新增内容

  4. React + 底层原理 + 性能优化 + 高阶组件 + Redux

  5. JavaScript模块化 + cmd/umd/es6 import + React中的使用

  6. Microtask + Macrotask,事件循环

  7. 移动端页面适配-REM

  8. Vue,底层原理,周边生态

  9. 异步编程【Callback, Promise,Async/Await】+ Ajax【XHR/Fetch/Axios】

  10. 函数、作用域、闭包、继承、内置对象、原型链、this + 面试题

  11. 前端性能优化

    • 移动端优化
    • 网络优化
    • HTML/CSS 优化
    • JS优化

模拟面试

HTML

  1. 常用的语义化标签? => 对于 HTML 语义化的理解
  2. 如何实现页面类似 iPhone 悬浮球的效果? => position有哪几种属性 => 定位的效果
  1. 用户第一次访问页面中时弹出引导,用户关闭引导,之后再次进入页面时不希望出现引导,如何实现? => 缓存 localStorage/sessionStorage
  1. <img>的title和alt有什么区别
  2. display: block;和display: inline;的区别

CSS

  1. 盒模型 (Box Model) -> box-sizing IE盒模型/标准盒模型
  2. 实现垂直居中的方法 CSS3/JS/Flexbox/line-height
  3. 移动端适配
  4. CSS兼容性问题解决
  5. 伪类和伪元素的作用与区别

JS

  1. JS有哪几种数据类型
  2. == 和 === 的区别,你一般用哪个
  3. setTimeout和setInterval的作用与区别
  4. 什么是类数组对象,如何将类数组对象转为真正的数组?
  5. 对于 JavaScript 的理解,如何改变 this 的指向
  6. JavaScript call/apply的区别
  7. JavaScript bind函数的作用

ES6

谈一谈let与var和const的区别?

  • let为ES6新添加申明变量的命令,它类似于var,但是有以下不同:
  • let命令不存在变量提升,如果在let前使用,会导致报错
  • 暂时性死区的本质,其实还是块级作用域必须“先声明后使用”的性质。
  • let,const和class声明的全局变量不是全局对象的属性。

const声明的变量与let声明的变量类似,它们的不同之处在于,const声明的变量只可以在声明时赋值,不可随意修改,否则会导致SyntaxError(语法错误)。

const只是保证变量名指向的地址不变,并不保证该地址的数据不变。const可以在多个模块间共享 let 暂时性死区的原因:var 会变量提升,let 不会。

箭头函数

箭头函数不属于普通的 function,所以没有独立的上下文。箭头函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。 由于箭头函数没有自己的this,函数对象中的call、apply、bind三个方法,无法"覆盖"箭头函数中的this值。 箭头函数没有原本(传统)的函数有的隐藏arguments对象。 箭头函数不能当作generators使用,使用yield会产生错误。

在以下场景中不要使用箭头函数去定义:

  • 定义对象方法、定义原型方法、定义构造函数、定义事件回调函数。
  • 箭头函数里不但没有 this,也没有 arguments, super ……

HTTP

  1. 使用过 Ajax 吗,知道 Ajax 的实现吗?Fetch和Ajax的区别
  2. HTTP的请求方式,Get/Post 的区别,什么时候应该用 Get/Post
  3. 跨域问题 => CORS/JSONP => 浏览器同源策略/JSONP原理
  4. HTTP常见的状态码, 200/300/400/500

综合

  1. 从 URL 输入到页面展现发生了什么?

  2. 聊一聊 你觉得做的最自豪的项目?

    Tips:可以从以下几个方面回答

    • 是什么项目
    • 这个项目做的是什么, 能线上预览更好
    • 涉及的技术栈
    • 中间遇到了哪些问题,你是如何解决的
    • 项目收益或者通过项目学到了什么
  3. 如何进行网站性能优化

其他

  1. 日常的 Git 操作
  2. Git fetch的作用
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment