面试宝典
1. 前言
本次课程会从 各个维度去讲解面试的技术与前端面试应处理的问题。 总共分为四大模块:
- 基础面试: 一些前端面试题如: HTML、CSS、JS、网络知识
- 框架面试: 主要讲解目前前端主流框架常见面试题
- 面试刷题:面试中常见的算法题、数据结构题、项目设计题
- 模拟面试:该环节主要复现面试中的场景 比如: 一面、二面、问题连环问
2. 关于基础
《喜剧之王》中一本《演员的自我修养》多次出现在镜头中,如果有人问我“程序员的自我修养”最重要的是什么
——— 我肯定回答是基础知识。这也是为何 BAT 等给钱最多的公司面试时如此重视基础知识的原因。
随着你对基础知识的逐渐掌握,你会发现你之前的一些疑问,都会慢慢消解。学习后面的任何知识,也将变得更加有效率,比如 Vue React 等框架。
基础知识在面试中最为重要!!!
3. 从题目到知识
这里我会列出几个面试题,思考如何解答, 思考如何搞定所有面试题,思考前端知识体系
几个面试题
出题
- JS 中使用
typeof
能得到的哪些类型 - 何时使用
===
何时使用==
window.onload
和DOMContentLoaded
的区别- 用 JS 创建 10 个
<a>
标签,点击的时候弹出来对应的序号 - 手写节流、防抖
- Promise 解决了什么问题?
思考
面对这些题目,有些可能你已经有了答案,有些可能一时半会儿想不来,有些可能一点都不了解。没关系,我们这里先不做解答,先要根据以上题目思考以下几个问题:
- 拿到一个面试题,你第一时间看到的是什么
- 又如何看待网上搜出来的永远也看不完的题海
- 如何对待接下来遇到的面试题?
接下来
花费一点时间思考上面几个问题 下面我们会继续介绍
如何搞定所有面试题
思考的解答
首先对应上面我们做出解答
- 拿到一个面试题,你第一时间看到的是什么?—— 应该是知识点,这道题的考点,面试官出这道题,到底想考你什么。
- 又如何看待网上搜出来的永远也看不完的题海?—— 以不变应万变,看那些题目考察的知识点是什么?题可以千变万化,但是知识点就这么多
- 如何对待接下来的面试题?—— 先通过已有的题目,捋出前端考察的所有知识点,然后再拿着这些知识点,去对应接下来的面试题。
题目的知识点
一起看看之前出的面试题 分析出对应知识点
JS中使用
typeof
能得到的哪些类型?JS 基础,变量的类型。 同类型的题目还有:如何判断一个变量是数组?值类型和引用类型的区别?如何实现深度拷贝?
何时使用
===
何时使用==
变量的运算,强制类型转换。 同类型的题目还有:快速将字符串转换为数字
+str
,以及快速将数字转换为字符串num + ''
window.onload 和 DOMContentLoaded 的区别
页面渲染过程。 同类型的题目还有:为何把
<script>
放在<body>
底部,把 CSS 引用放在<head>
中用 JS 创建 10 个
<a>
标签,点击的时候弹出来对应的序号闭包和作用域。 同类型的题目还有:jquery 或者 zepto 等为何代码都包括在一个
(function(window){...})(window)
中手写节流函数
网页性能和体验优化 同类型的题目还有:防抖函数,常见的性能优化方案
Promise 解决了什么问题
异步 同类型的问题还有:异步和同步的区别,异步有哪些应用场景,定时器的使用等
接下来
上面介绍了这么多知识点,这么多知识点那么该怎样去学习? 构建完整的前端知识体系
下节继续看到 前端知识体系
前端知识体系
什么是体系
先看看前任攻略
总结的高效学习的方式(无论针对哪个行业,无论是工作还是考学,都适用)
- 找准领域的范围和体系 (可见体系在其中起到了决定性作用)
- 针对每个部分刻意训练
- 在实际应用中及时反馈
PS:以上学习方法请不要质疑!!!不要质疑!!!不要质疑!!!
那么什么是知识体系?—— 结构化的知识范围 要有两个特点
- 能涵盖所有知识点
- 结构化,有组织,易扩展 (就像我们大学要分学院、分专业、分班)
知识体系目录
- ES 基础语法(ECMA 262 标准) —— 变量、逻辑、函数、原型、闭包、异步等语法规范
- JS-WEB-API(W3C 标准)—— 如 HTML CSS JS-WEB-API(如 DOM BOM 操作) HTTP 等等
- 开发环境 —— 代码版本管理,代码架构方式、调试工具、工程化等
- 运行环境 —— 浏览器如何加载、解析和渲染页面
- 其他综合性问题,如性能优化
特别提醒 !!!(一定要重点提出来)
以上知识体系,并不是最全面的前端知识体系,而仅仅是符合我们本章节的知识体系。例如它暂时还没有 vue React nodejs 等领域的知识点。