[TOC] # 为什么会有这个项目 我经常在互联网上搜索一些面试题,也看过很多前端面试题相关的项目或者是文章集合,但是这些项目都存在一些问题. ## 大量的过时问题 现在搜索前端性能优化的处理方法,依然充斥着大量的**雅虎军规**,雅虎军规本身没问题,这是曾经的互联网巨头在大量实践中总结的宝贵经验。 问题是,雅虎都快没了,这些法则已经诞生超过十年了(我见过最早的中文版雅虎军规是2006年的),其中很多条"军规"早已经成为了日常操作,比如静态资源上 CDN,这在 10 年前算是时髦的事情,但是现在早已经司空见惯,再比如什么减少对 DOM 访问,css 放 head 标签,这种操作适用于史前前端,如今正常的项目基本都是上框架,操作 DOM 的机会本来就不多,而且工程化之后 webpack 自动打包,什么资源放哪都已经被集成了。 当然知道这些是有用的,问题是现在已经属于常识中的常识,试问,面试官问你前端性能优化,你上来背雅虎军规,什么少动 dom,上 cdn之类的,如果我是面试官给我的印象是,这个人没做过性能优化,只是网上搜了搜背了背而已. ## 深入浅出的不多 我看到很多项目整理了大量的面试题,但是解读部分非常草率,就比如**前端性能优化**这种问题,后面列了几条雅虎军规就了事了,这种解读的意义跟没有一样,单纯的罗列问题和罗列答案,不把东西讲清楚。 还有深入的部分,不得不说互联网上还是有非常多有深度的文章的,尤其是一些大厂的团队作品质量都有保证,但是很多时候讲的太深并不是好事,典型的就是各种源码解读文章,作者搞没搞清楚我不清楚,但是绝大多数读者肯定没有被“解读”清楚,除了源码晦涩难懂之外,文章大量罗列代码+一行注释这种写法不像是在解读,像是在做批注。 ## 缺乏基础知识 现在的前端面试项目依然是 js+css+html 的三剑客模式,配上框架部分,这样一看是没有错,这就是"前端"面试,但是前端首先是程序员或者说是软件工程师,这里欠缺了计算机的基础知识. 如果放在几年前,一个熟练运用三剑客+一种框架的前端在市场上是香喷喷,现在只能算是一个合格水平了,前端野蛮生长的时代已经过去了,各个大厂也回归理性,除了前端的专业问题外,计算机的基础知识必不可少,尤其是算法部分,当然网络、操作系统、编译原理也都有涉及。 ## 方向不够全面 前端一步步发展到今天,其实已经在发展过程中分化出了不同的方向。 所以,传统前端的面试知识已经不够了,我们的确需要一个更全面的项目,当然,我本人能力有限,只能尽可能先完