前端面试知识点总结

经过一个多月的面试,整理知识点和简历,再面试再整理,终于在上周成功收到2个offer,最终成功入职,借此机会整理成文。希望能给正在找工作的前端小伙伴,或者准备跳槽的同学提供一些参考吧。本文知识点参考了慕课网上视频《 前端跳槽面试必备技巧》,结合了自己面试过程中碰到的一些问题。希望小伙伴们能把这些知识点都能掌握,下来就是各种面试轻松应对了。

一. CSS类

  • 水平居中 - text-align,position,flex
  • 垂直居中 - margin,position,flex
  • 两列布局 - float,position,table,flex,grid
  • 三列布局 - float,position,table,flex,grid
  • CSS盒模型 - 概念,标准模型和怪异模型,css实现,BFC的原理和特定以及如何创建
  • 清浮动的方式 
  • CSS3实现动画
  • 移动端适配的实现方案

二. DOM事件类

  • 基本概念 - DOM事件的级别
  • 事件模型 - 冒泡和捕获的流程  window <-> document <-> html <-> body <-> ... <-> target
  • Event对象 - event.preventDefault()  阻止默认事件  event.stopPropagation() 阻止冒泡
  • 事件代理/委托 - 概念,具体做法,好处
  • 自定义事件Event类 
  • CustomEvent   

三. 数据类型转换

  • 数据类型有哪些 - 7种
  • typeof的结果有哪些
  • 类型转换 - 显示转换和隐式转换
  • 显示转换 - 基本类型转换 Number() String() Boolean()方法 & 对象类型转换 - 对象类型转换里注意 {} 的valueOf和toString方法  {} + {} => "[object Object][object Object]" 为什么是这样的结果?
  • 隐式转换 - 四则运算,判断语句  
  • ES5 - Object.create()  Object.assign()  Object.defineProperty()
  • ES6 - 箭头函数的this,Promise下的方法

四. 面向对象

  • 创建对象的几种方法
  • instanceof的原理
  • new运算符的执行过程
  • 说说对原型链的理解
  • 继承有几种方式 - 构造函数继承,原型继承,混合继承,利用空对象继承等

五. HTTP相关

  • HTTP协议的特点
  • HTTP报文的组成部分 - 请求报文和响应报文
  • HTTP方法有哪些
  • get和post的区别
  • HTTP状态码
  • HTTP持久连接和管线化
  • 同源策略的概念
  • 如何实现跨域 - 五种方式
  • 创建Ajax的流程

六. 浏览器渲染及存储方面

  • 什么是DOCTYPE及作用
  • 浏览器的渲染过程 - reflow 和 repaint的区别和触发条件
  • 任务队列以及Event Loop
  • 异步任务有哪些 - setTimeout,事件绑定on,发布/订阅,Promise
  • 提高页面性能的方法
  • 浏览器缓存 - 强缓存和协商缓存
  • 错误监控的方式有哪些 - 即时运行错误 & 资源加载错误
  • cookies和localStorage,sessionStorage的区别

七. MVVM框架

  • 对MVVM的理解 - 相比MVC,MVVM有什么优点
  • 双向绑定的原理
  • 如何实现一个简单的组件 - 父子组件的交互,computed和watch的区别,vuex
  • 生命周期 - 常用的钩子函数有哪些
  • 设计模式
知识点就整理这么多吧,如果哪里写的有问题,或者遗漏重要知识点,欢迎指正!面试中还有一点挺重要的,就是要有好的心态,千万不要因为几次失败而失去自信,坚持到底就一定能成功进入自己喜欢的公司。最后,祝小伙伴们Good Luck!!!


你可能感兴趣的:(前端面试知识点总结)