# 前端知识(进阶)
# 前言
# 学习前提
了解 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 想在项目开发过程中增加需求,该怎么办?
- 项目即将延期了,该怎么办?
- 你将如何保证项目质量?