和不少人同样,我也是半路转的前端。本身一开始是作服务端开发的,也在美团平常实习过一段时间。 在实习期间,主要就是设计数据库表、Java/SpringBoot的CURD、提供RESTFul接口以及部署服务器的一些工做。由于平常工做会与前端工程师们打交道,在那个时候发觉前端很酷,本身对服务端的开发确实不是很感兴趣,以及到后面对JS的喜好,让我坚定的走上了前端的道路。前端
万丈高楼平地起,做为校招生,计算机基础绝对是面试中的重中之重。
但愿你们能够夯实基础,不要抱有侥幸的心理。react
代码来自于LeetCodewebpack
这两个数据比较的简单,数组能够结合JS的 Array
来学习。 而链表的结构以下web
function ListNode(val) {
this.val = val;
this.next = null;
}
复制代码
树的话要掌握如下几种结构面试
树的结构以下算法
function TreeNode(val) {
this.val = val;
this.left = this.right = null;
}
复制代码
树涉及的算法数据库
图的表示法npm
图涉及的算法redux
面试前端不会有什么过高深的算法,掌握基础就行了跨域
书籍推荐:
算法(第4版) [Algorithms Fourth Edition] 人民邮电出版社
计算机网络的知识点比较多,可是针对面试的话,考察的点主要有以下几个
协议的话,主要考察这些方面
计算机网络部分只要了解经常使用的知识,本身能对网络有个感性的认识便可。有条件的话,能够看一下推荐的这本书,是本身当时的教材,讲得很是生动,翻译得也很好。
书籍推荐:
计算机网络:自顶向下方法(原书第7版) 机械工业出版社
天天都在操做系统上工做,若是不了解程序是怎么在系统上跑起来的,也说不过去吧?理解了操做系统的知识,虽说没有什么直接的用处,可是咱们在写程序的时候,会通透不少。
进程是对运行时程序的封装
程序是要装进内存,才能运行起来的
操做系统还有很多的知识,可是就面试来讲,考察的东西就以上的几个知识点,有兴趣能够看书慢慢补全
推荐书籍:
计算机操做系统(汤小丹) 西安电子科技大学出版社
计算机基础这一块主要的部分其实差很少了,还有像《编译原理》《计算机组成原理》这两门课,考察的点比较少,例如 词法分析
、有限状态机
以及原码/补码/反码
、浮点数表示法
、进制转换
等等,遇到了再进行针对性的复习便可。
说实话,这部分考察的东西不是不少,主要如下几点
WebStorage
等等CSS基础
复杂一点的
CSS3新功能
我的的见解是,对于CSS的学习,不要太钻牛角尖,由于CSS是一门有魅力可是又很复杂的语言。可以把上面的几个知识点理解透彻,融会贯通,相信面试官也不会在CSS方面刁难你了。
说实话,相对于HTML和CSS,JS才是前端面试的重点
以上几点,都是JavaScript的重中之重。别再看网上JS的入门教程了,强烈给你们推荐这本书,很是适合入门者
JavaScript高级程序设计(第3版)
JS的进阶主要关注的部分是:做用域、闭包、原型以及一些常见方法的实现
this
的指向call
、apply
、bind
的实现推荐书籍:
你不知道的JavaScript
如今ES6已经很是普及了,做为不过期的前端,仍是须要了解
ES6基础
ES6新对象
以及一些新标准的语法
ES6的基本语法,面试会考察一些经常使用的,若是不了解也不用太纠结,毕竟只是API。
推荐书籍:
ES6标准入门(阮一峰)
这里我把经常使用的前端框架 React
和 Vue
也算在工具里面了,由于本人毕竟熟悉 React
,因此下面会针对 React
来展开,其它框架的考察的知识点也相似
setState
与diff
算法源码react-redux
的用法其实 Vue
全家桶我只会一些经常使用的API以及双向绑定的实现原理,就不展开了。
面试官通常不会专门去问你框架的知识,除非你本身的项目里面使用过,要考察一下你了解到什么成都。若是不了解一点框架源码的知识,只提API,是没有什么亮点的,由于你们都会。
前端路由基本的思想就是根据路径去匹配对应的组件,而后用组件里面的内容去替换页面里面须要路由的内容
对打包工具不会有太多的考察,通常来讲使用过webpack(功能强大)就够了
前端工具,其实都是创建在Node.js的基础上的,因此这一块也要了解
JS的转译工具,会用便可
不少前端同窗以为,前端不必刷题,由于工做足够简单。确实,引用 闰土小叔
的一句话
Vuecli一把梭真的爽的一笔,再引个elementui,只要搜索引擎玩的6,写代码根本不须要智力
可是,咱们有想过这些问题嘛
这些工具都是世界上最优秀的JS大师耗费多年心血写出来的,直接开源给你看都不想看嘛?
看不懂,直接看网上的博客呗。
直接说刷题的好处
刷LeetCode,对编码能力提高真的有很大帮助。从零开始刷满50题,写起JS来绝对是不同的体验。入门的话,能够看一下推荐的这本书
剑指offer
《剑指offer》加上 LeetCode
,题量能够保持200道的话,已经很不错了。固然,面试出重复题目的概论不高,最主要是提供一点思路。
篇幅关系,后面会再更新一些基础知识以外的常见考点,若是有什么错误或者遗漏,欢迎指正。