Web前端需要熟悉大学里[高大上]计算机专业课吗?
前言
曾经早读君有推荐过【第560期】网易高级前端技术专家蔡剑飞:前后端分离实践经验分享 现在只要在网易云课堂就能听到他更多的分享。
正文从这开始~
这里说的『高大上』的专业课,主要指算法、数据结构、操作系统、编译原理、线性结构、离散数学等等。
对于大学不是计算机专业,但以后想要从事前端开发工作的同学来说,这些『高大上』的计算机专业课是否有必要花时间去了解呢? 以下内容整理自网易前端工程师郑海波的知乎问答。
『基础决定你可能达到的高度, 而业务决定了你的最低瓶颈』,两者不可偏废。
说说我自己吧。
我的计算机基础就非常薄弱,但是我当年进公司却拿了较高评价的Offer。起初,我会反感公司校招时放那么多计算机基础的题目,会反感领导要求前端有计算机背景(这主要是因为自己基础薄弱,但心里又比较自负)。
但是知道的越多,就越感受到自己的渺小。因为我感受到了我那皮毛都算不上的基础知识带给我的巨大收益,我会开始计算并焦虑我好像得花非常多的时间来弥补自己知识的短板。所以我认为:计算机基础知识非常重要,它决定了你能走到什么高度。
我其实是很羡慕那些学了4年甚至7年计算机的同学,但是我发现,有些科班的同学甚至无法和我交流类似的知识体系。这说明应试教育体系下,所谓的计算机基础还是需要通过思考和实践来真正成为自己的东西,否则并没什么卵用。
前端的发展非常快,以至于你今天关注的新东西,明年再看可能就截然不同甚至被废弃了。所以保持高的学习力来应对这种变化非常重要。高的学习力在很大程度上和你的计算机基础紧密相关(先抛开智力等不可抗因素)。
现在纯前端范畴里还几乎没有出现新创的知识领域。但是反过来说,从来没有一个领域有Web前端这么飞速发展,不断的有在旧知识体系在它上面重演。我记得有一句名言大概是这个意思:所有东西都会用js实现一遍。 我现在深以为然。 我相信在很多人也看出来了,前端这些年看似发展的非常蓬勃,但其实并没有太多新鲜的东西,一切都是重演。计算机基础是以不变应万变的秘诀。现在的前端现在已经不再需要『我会写java后台代码』等等愚蠢的强调来站直腰板了,成熟的公司已经开始重视前端带来的实际价值,。所以前端本身当然不能固步自封,巩固计算机基础,用以灵活应用到日常业务,用以吸收新鲜技术,也就是自然而然的事情。
有同学或许还会问:前端做项目如何积累经验? 这里面有主动和被动两个方面积累经验,但归根结底都是基于思考。
被动——由项目需求、特点决定,如视觉交互或前后端技术架构的特殊性导致你要去思考解决方案,进而积累经验,这个机会是可遇不可求的。
主动——学习现在热门的技术,ES6(babel) 、Commonjs(browserify)、React、同构Webapp开发等等. 确定它们的潜在风险和适用场景后 应用到你的产品开发中。 这个机会是人人都可争取的。
就个人而言,我在每一个阶段都会反思, 我是否比上一个半年要进步了。如果没有,就会浑身不舒服。 最后再列下我觉得部分已经让我受益的基础知识:
- 高中的物理知识 + 最最基础的大学物理;
- 编译原理的最最基础的前端知识用以一致的处理文本类问题,把你从糟糕的逻辑判断和正则表达式的滥用中拯救出来;
- 大学中的矩阵论、线性代数 ,进而一些计算机图形学的简单理解。这些并不一定要和webGL结合,但是和物理一样可以帮助你做出『符合直觉』的效果和动画;
- 数据结构和基本算法,你要清楚特定的基础数据结构可以处理的问题,其实很多不是那么基础的算法和数据结构都需要自己在实际需求中去摸索或学习, 所以如果你已经知道这些算法,那可以跳过很多耗时的技术选型阶段, 这就是知识的广度带来的优势;
- 一些函数式编程的思想, SICP是大家广泛推荐的书, 然而我还没看完。一些衍生的内容,比如不变数据结构的定义和应用,事实上你现在就可以通过几十行代码在js里实现不变数据结构的帮助函数来帮助你在复杂应用里实现undo, redo甚至历史回溯功能,而不需引入facebook那高大120kb的immuable.js。
以上内容已获得作者授权发布
前端学习的道路上,除了自己阅读参考书外,另一个好方法就是找资深的前端开发工程师交流,借助他人的经历获取高效的学习方法和快速进阶的方式。
接下来的两周内,5场干货满满的前端学习分享会,相信会对你有所帮助。
以下是免费直播课表分享主题:30分钟教你认识前端分享人:魏文庆 网易前端技术部总监时间:11月2日 20:00-21:00分享主题:零基础学习前端的经验和方式分享人:韩林时间:11月7日 20:00-21:00分享主题:前端开发工程师的成长路线分享人:魏文庆 网易前端技术部总监时间:11月9日 20:00-21:00分享主题:技术面试及前端学习分享人:顾平 网易资深前端开发工程师时间:11月14日 20:00-21:00分享主题:我的网易十年前端路分享人:蔡剑飞 网易资深前端开发工程师时间:11月16日 20:00-21:00
如果想要第一时间获得以上免费直播课程的收听地址,欢迎大家扫码加入网易前端开发QQ群。
进群暗号:前端早读课
最后发一个硬广。
网易云课堂的《前端开发工程师》微专业即将开启双11团购活动,从11月8日开始,支付1元加入学习团,就可以享受学费最低价。
《前端开发工程师》微专业由网易一线资深前端开发工程师团队打造,3个月让你掌握前端开发工程师必知必会的知识体系。通过网易真实产品案例,系统培养『底层知识+技术能力+专业素养』,手把手助你成为前端开发工程师。
曾经早读君有推荐过【第560期】网易高级前端技术专家蔡剑飞:前后端分离实践经验分享 现在只要在网易云课堂就能听到他更多的分享。
正文从这开始~
这里说的『高大上』的专业课,主要指算法、数据结构、操作系统、编译原理、线性结构、离散数学等等。
对于大学不是计算机专业,但以后想要从事前端开发工作的同学来说,这些『高大上』的计算机专业课是否有必要花时间去了解呢? 以下内容整理自网易前端工程师郑海波的知乎问答。
『基础决定你可能达到的高度, 而业务决定了你的最低瓶颈』,两者不可偏废。
说说我自己吧。
我的计算机基础就非常薄弱,但是我当年进公司却拿了较高评价的Offer。起初,我会反感公司校招时放那么多计算机基础的题目,会反感领导要求前端有计算机背景(这主要是因为自己基础薄弱,但心里又比较自负)。
但是知道的越多,就越感受到自己的渺小。因为我感受到了我那皮毛都算不上的基础知识带给我的巨大收益,我会开始计算并焦虑我好像得花非常多的时间来弥补自己知识的短板。所以我认为:计算机基础知识非常重要,它决定了你能走到什么高度。
我其实是很羡慕那些学了4年甚至7年计算机的同学,但是我发现,有些科班的同学甚至无法和我交流类似的知识体系。这说明应试教育体系下,所谓的计算机基础还是需要通过思考和实践来真正成为自己的东西,否则并没什么卵用。
前端的发展非常快,以至于你今天关注的新东西,明年再看可能就截然不同甚至被废弃了。所以保持高的学习力来应对这种变化非常重要。高的学习力在很大程度上和你的计算机基础紧密相关(先抛开智力等不可抗因素)。
现在纯前端范畴里还几乎没有出现新创的知识领域。但是反过来说,从来没有一个领域有Web前端这么飞速发展,不断的有在旧知识体系在它上面重演。我记得有一句名言大概是这个意思:所有东西都会用js实现一遍。 我现在深以为然。 我相信在很多人也看出来了,前端这些年看似发展的非常蓬勃,但其实并没有太多新鲜的东西,一切都是重演。计算机基础是以不变应万变的秘诀。现在的前端现在已经不再需要『我会写java后台代码』等等愚蠢的强调来站直腰板了,成熟的公司已经开始重视前端带来的实际价值,。所以前端本身当然不能固步自封,巩固计算机基础,用以灵活应用到日常业务,用以吸收新鲜技术,也就是自然而然的事情。
有同学或许还会问:前端做项目如何积累经验? 这里面有主动和被动两个方面积累经验,但归根结底都是基于思考。
被动——由项目需求、特点决定,如视觉交互或前后端技术架构的特殊性导致你要去思考解决方案,进而积累经验,这个机会是可遇不可求的。
主动——学习现在热门的技术,ES6(babel) 、Commonjs(browserify)、React、同构Webapp开发等等. 确定它们的潜在风险和适用场景后 应用到你的产品开发中。 这个机会是人人都可争取的。
就个人而言,我在每一个阶段都会反思, 我是否比上一个半年要进步了。如果没有,就会浑身不舒服。 最后再列下我觉得部分已经让我受益的基础知识:
- 高中的物理知识 + 最最基础的大学物理;
- 编译原理的最最基础的前端知识用以一致的处理文本类问题,把你从糟糕的逻辑判断和正则表达式的滥用中拯救出来;
- 大学中的矩阵论、线性代数 ,进而一些计算机图形学的简单理解。这些并不一定要和webGL结合,但是和物理一样可以帮助你做出『符合直觉』的效果和动画;
- 数据结构和基本算法,你要清楚特定的基础数据结构可以处理的问题,其实很多不是那么基础的算法和数据结构都需要自己在实际需求中去摸索或学习, 所以如果你已经知道这些算法,那可以跳过很多耗时的技术选型阶段, 这就是知识的广度带来的优势;
- 一些函数式编程的思想, SICP是大家广泛推荐的书, 然而我还没看完。一些衍生的内容,比如不变数据结构的定义和应用,事实上你现在就可以通过几十行代码在js里实现不变数据结构的帮助函数来帮助你在复杂应用里实现undo, redo甚至历史回溯功能,而不需引入facebook那高大120kb的immuable.js。
以上内容已获得作者授权发布
前端学习的道路上,除了自己阅读参考书外,另一个好方法就是找资深的前端开发工程师交流,借助他人的经历获取高效的学习方法和快速进阶的方式。
接下来的两周内,5场干货满满的前端学习分享会,相信会对你有所帮助。
以下是免费直播课表分享主题:30分钟教你认识前端分享人:魏文庆 网易前端技术部总监时间:11月2日 20:00-21:00分享主题:零基础学习前端的经验和方式分享人:韩林时间:11月7日 20:00-21:00分享主题:前端开发工程师的成长路线分享人:魏文庆 网易前端技术部总监时间:11月9日 20:00-21:00分享主题:技术面试及前端学习分享人:顾平 网易资深前端开发工程师时间:11月14日 20:00-21:00分享主题:我的网易十年前端路分享人:蔡剑飞 网易资深前端开发工程师时间:11月16日 20:00-21:00
如果想要第一时间获得以上免费直播课程的收听地址,欢迎大家扫码加入网易前端开发QQ群。
进群暗号:前端早读课
最后发一个硬广。
网易云课堂的《前端开发工程师》微专业即将开启双11团购活动,从11月8日开始,支付1元加入学习团,就可以享受学费最低价。
《前端开发工程师》微专业由网易一线资深前端开发工程师团队打造,3个月让你掌握前端开发工程师必知必会的知识体系。通过网易真实产品案例,系统培养『底层知识+技术能力+专业素养』,手把手助你成为前端开发工程师。