【精简版】前端面试宝典目录(更新中……)

504 阅读3分钟

前端面试问题目录

精简版

专题版

HTML

  • HTML语义化(概念 / 优点)
  • src 和 href 的异同
  • DOCTYPE 文档类型(概念 / 目的 / 浏览器渲染模式)
  • 行内元素、块级元素、空元素 常见标签及其特点
  • iframe 优缺点
  • Canvas 和 SVG 的区别

CSS

  • CSS选择器及其优先级
  • 隐藏元素方法
    • display:none 与 visibility:hidden 的区别
  • CSS 盒子模型
  • 水平居中 和 垂直居中
  • BFC 块格式化上下文(概念 / 布局规则 / 创建条件 / 作用)
  • margin 重叠问题
  • 回流和重绘(概念 / 引起操作 / 性能影响 / 如何避免)
  • 浮动 (定义 / 工作原理 / 引起的问题 / 清楚浮动)

JavaScript

  • JavaScript 定义
  • 强类型语言 和 弱类型语言 区别
  • 解释性语言 和 编译型语言 区别
  • 数据类型
    • 原始数据类型 与 引用数据类型
    • null和undefined区别
    • 数据类型的检测方法(typeof / instanceof / constructor / Object.prototype.toString.call())
    • 判断数组的方式
  • typeof
  • 为什么 0.1+0.2 ! == 0.3
  • new 的执行过程
  • JSON 理解
    • JSON.stringify 和 JSON.parse()
  • this 的指向情况
  • JS脚本延迟加载的方式有哪些
  • 原码、补码、反码
  • DOM 和 BOM
  • 常见的DOM操作
  • use strict(严格模式)
  • ajax、axios、fetch
    • ajax(概念 / 创建步骤 / 缺点)
  • 深拷贝 和 浅拷贝
  • ES6 新特性
    • var、let 和 const 区别(块级作用域 / 变量提升 / 给全局添加属性 / 重复声明 / 暂时性死区 / 初始值设置 / 指针指向)
    • 箭头函数(形式 / 和普通函数区别)
    • 模板字符串
    • for...of 循环
    • ES6中的类 class
    • Promise
    • 对象属性 / 方法简写
    • Module模块化
    • 解构赋值
    • 扩展运算符 / 剩余运算符rest
    • Set 和 Map 数据结构
  • 变量提升(表现 / 造成本质原因 / 进行原因)
  • 原型、原型链
  • 执行上下文
  • 作用域 和 作用域链
  • 闭包(定义 / 使用原因 / 作用 / 优缺点)
  • 内存泄漏(引发情况)
  • 垃圾回收机制(概念 / 方法 / 减少回收方式)
  • 节流与防抖(原理 / 使用场景)

TypeScript

  • TypeScript 相对于 JavaScript 的优势

Vue

  • Vue的优缺点
  • Vue响应式原理
  • 双向数据绑定原理
  • v-model(概念 / 原理)
    • v-model 与 .sync 修饰符的区别
  • v-if、v-show、v-html 的原理
  • v-if 和 v-show 区别(手段 / 编译过程 / 编译条件 / 性能消耗 / 使用场景/优先级)
  • 常见的事件修饰符及其作用
  • SPA单页面(理解 / 优缺点)
  • 组件通信
    • 分类:父子、隔代、兄弟
    • 通信方式
  • Vue3.0
  • Proxy 与 Object.defineProperty 优劣对比
  • Vue首屏加载白屏问题及解决方法

Vuex

  • Vuex 五大属性

React

  • React 和 Vue 的异同
  • React 生命周期

Redux

  • 为什么需要Redux
  • 介绍、解决的问题
  • Redux核心理念
  • Redux三大原则
  • Redux工作流程
  • Redux异步请求处理
    • redux-thunk中间件(优缺点)
    • redux-saga中间件(优缺点)

项目

浏览器

  • 浏览器缓存
    • 缓存策略分为:强缓存、协商缓存、启发式缓存
  • 浏览器安全
    • XSS攻击,跨站脚本攻击(概念 / 本质 / 攻击者操作 / 攻击类型 / 如何防御)
    • CSRF攻击,跨站请求伪造攻击(概念 / 本质 / 如何防御)

计算机网络

  • HTTP协议,超文本传输协议(概念 / 优缺点)
    • 常见的HTTP请求方法
    • GET 和 POST 的区别
    • POST 和 PUT 的区别
  • HTTPS协议
  • HTTP协议 和 HTTPS协议的区别
  • TLS/SSL协议,安全传输层协议
  • HTTP状态码
    • 状态码类别
    • 常见状态码:200、304、401、403、404、500
  • DNS,域名系统
  • UDP协议,
  • TCP协议,传输控制协议(特点)
  • TCP和UDP的区别、使用场景

数据结构

  • 排序算法