# 前端知识(进阶)

# 前言

前端框架及项目面试
前端框架及项目面试-2

# 学习前提

了解 javascript 和 ES6 基本语法;
用过 Vue、React 和 Webpack。

# 知识点介绍

  • 框架面试
    • Vue 基本使用
    • Vue 高级特性
    • Vue 原理
  • 工具面试
    • Webpack 配置
    • 性能优化
    • babel
  • 项目设计
    • 状态设计
    • 组件设计
    • 组件通讯

# 前段常见面试流程

  • 一面:基础知识
    • js 基础知识
    • 框架基本使用
  • 二面:高级特性+原理
    • 框架高级特性
    • 框架原理
  • 三面:设计+经验
    • 项目设计能力
    • 工作经验和环境

详细:
前端基础思维导图-基础知识+进阶知识
前端简历和面试技巧导图

# 先看几个面试题

(以下问题越来越深入)

  • v-show 和 v-if 的区别
  • v-for 中为什么要用 key
  • 描述 Vue 组件生命周期(有父子组件的情况)
  • Vue 组件如何通讯
  • 描述组件渲染和更新的过程(考察对Vue整个底层实现的理解的广度和深度)
  • 双向数据绑定的 v-model 的实现原理(同上,更具体)

框架综合应用:

  • 基于 Vue 设计一个购物车(组件结构,vuex state 数据结构)

webpack面试题:

  • 前端代码为何要进行构建和打包?
  • module、chunk、bundle分别什么意思,什么区别?
  • loader 和 plugin 的区别?
  • webpack 如何实现懒加载?
  • webpack 常见性能优化?
  • babel-runtime 和 babel-polyfill 的区别?

如何应对上述面试题?

  • 先用起来:框架的使用(基本使用,高级特性,周边插件)
  • 了解原理:框架的原理(基本原理的了解,热门技术的深度,全面性-面试问题的发挥空间)
  • 框架实际应用,即设计能力(组件结构,数据结构)

面试官为何要这样考察?

  • 考察使用(保证候选人能正常工作)
  • 考察原理(多个候选人竞争时,选择有技术追求的)
  • 考察设计能力(看候选人是否能独立承担项目)

# 项目流程

# 为何会考察项目流程

项目流程,是除了技术原因之外,大厂之间更容易跳槽的一个重要原因。
(流程相似,快速上手,带人成本低)

  • 角色分多人、多角色参与(项目中的所有角色)
  • 项目分多阶段(项目的全流程)
  • 项目需要计划和执行(各个阶段中的常见问题)

为何考察项目流程?

  • 确定你真正参与过实际项目(而不是个人项目、毕业设计等)
  • 确定你能真正解决项目的问题
  • 看你能否独立承担起一个项目(作为项目负责人)

看几个面试题

  • PM 想在项目开发过程中增加需求,该怎么办?
  • 项目即将延期了,该怎么办?
  • 你将如何保证项目质量?