之前的原创文章,不小心被我删了,这里再重发一次。
有个小伙伴找到我说他从业已经十年,最近准备跳槽,也做了些准备,没想到在面字节时被虐的那么惨。
科班出身就有优势?并不见得吧。
我们需要先知道科班和自学究竟差在哪,才能知道自学的同学究竟需要补足哪部分。
文章很长,五千多字。时间不足的同学,可以先收藏再慢慢看。
目录:
自学编程和计算机科班究竟差别在哪里?
如何补足基础能力?
一、自学编程和计算机科班究竟差别在哪里?在大学时代,我一度有个想法,读一个垃圾大学还不如上技校!!!而且差点退学,去读技校……幸亏我爸骂了我一顿……
因为到了大三,除了背会了些基本概念,学校什么都没教会。教点java、C++也都是基本语法。
选修的网页设计课,报的人趋之若鹜,守着时间点抢名额。到最后,也就是做一个简单的html页面,连jquery都没教会。
这样的大学真的有用吗???
随着年龄的增长以及经验的增加,慢慢能理解这种教育的高深之处。
大学不是技校!这就导致,你不自学就学不到实战本领,而实战本领却是公司招人的评价标准,这也是培训班能长期活着的根本原因。
武侠小说中练武讲究内外兼修。徒有招式的功夫,没有任何杀伤力。
而只有内功的例子,就像无崖子传授虚竹70年内力,却没有传授虚竹招式。导致虚竹空有一身内力,却不知如何运用。
有了内功以后的练武,就像张无忌练乾坤大挪移,人家练了几十年不成,而他只轻而易举成练到第七层。
如果说基础知识是内功心法,而具体编程技能就是招式秘籍。只记得代码怎么写,不懂原理,甚难成为高手。而只懂基础知识,不懂编程,就像虚竹空有内力而不知如何运用。
唯有内外兼修,才能成为绝世高手。
如果说,科班和自学编程差在哪里,最大的差距就在内功心法上。
现在绝大部分的培训班、培训课程都是IDE的使用、语法的记忆,使大家能够很快上手,几个月能掌握编程技巧,达到就业水平。
但是,认知科学的研究成果表明,知识的消化与吸收,职业技能的学习与精通,本质上是在大脑神经元之间建立连接,重塑大脑结构的过程,这个过程的时间可以缩短,但不能无限地缩短。另外,不同的人,拥有不同的背景和基础,在学习与掌握相同的知识与职业技能时,所花的时间是不一样的。
而培训机构才不管这些,他的目的就是挣钱,以最快的速度挣钱,能在三天内把所有内容塞给你绝不用四天,只要最终能糊弄住面试官,让学员找到一份工作就可以了。
所以,必然会出现下面的现象:
对于原来有一些基础的,学习能力较强的同学,在学习之前已经有较扎实的基础,所以在培训期间能够自己构建成技术体系,知识吸收相对较好:
而另一些学员,则会出现消化不良的情况:
二、如何补充基础能力自学编程的主要问题在于,学了一堆的招式,而对于内部原理则不通透。这也是自学编程和科班出现的最大区别。
而计算机的基础知识其实并不多,最重要的就是下面四门:
数据结构与算法,
计算机操作系统,
计算机网络,
计算机组成原理。
这几门课也是校招的重点考查科目,需要熟练掌握一门语言(Python,Java,或是C++),然后用你熟悉的语言来实现基本的算法和数据结构。
无论学习什么,最关键是要找一个风评还不错的课程,就从头到尾学一遍,千万别东学一点,西来一些的。这样的效果肯定不会太好。
这里给大家推荐一些我看过的,比较认可的课程,跟着学即可。
数据结构与算法关于数据结构,我想说的是,它是这四大件中最简单、最基础的一个。离开了数据结构,几乎任何的程序都会失效,所以在讨论数据结构的时候,常常要把算法也连带着说一说。
要单纯地掌握常见的数据结构,就如同拆解一个个精妙的仪器件一样有趣和简单。正因为数据结构这个东西在程序中的作用,和仪器部件特别相像,不同的数据结构有着不同的特性,因此要想学好数据结构,图解是必备武器!
这里强推中国大学上,浙江大学的开设的《数据结构》课程,涵盖了常用的数据结构和算法。