之前的原创文章,不小心被我删了,这里再重发一次。
有个小伙伴找到我说他从业已经十年,最近准备跳槽,也做了些准备,没想到在面字节时被虐的那么惨。
科班出身就有优势?并不见得吧。
我们需要先知道科班和自学究竟差在哪,才能知道自学的同学究竟需要补足哪部分。
文章很长,五千多字。时间不足的同学,可以先收藏再慢慢看。
目录:
自学编程和计算机科班究竟差别在哪里?
如何补足基础能力?
在大学时代,我一度有个想法,读一个垃圾大学还不如上技校!!!而且差点退学,去读技校……幸亏我爸骂了我一顿……
因为到了大三,除了背会了些基本概念,学校什么都没教会。教点java、C++也都是基本语法。
选修的网页设计课,报的人趋之若鹜,守着时间点抢名额。到最后,也就是做一个简单的html页面,连jquery都没教会。
这样的大学真的有用吗???
随着年龄的增长以及经验的增加,慢慢能理解这种教育的高深之处。
大学不是技校!这就导致,你不自学就学不到实战本领,而实战本领却是公司招人的评价标准,这也是培训班能长期活着的根本原因。
武侠小说中练武讲究内外兼修。徒有招式的功夫,没有任何杀伤力。
而只有内功的例子,就像无崖子传授虚竹70年内力,却没有传授虚竹招式。导致虚竹空有一身内力,却不知如何运用。
有了内功以后的练武,就像张无忌练乾坤大挪移,人家练了几十年不成,而他只轻而易举成练到第七层。
如果说基础知识是内功心法,而具体编程技能就是招式秘籍。只记得代码怎么写,不懂原理,甚难成为高手。而只懂基础知识,不懂编程,就像虚竹空有内力而不知如何运用。
唯有内外兼修,才能成为绝世高手。
如果说,科班和自学编程差在哪里,最大的差距就在内功心法上。
现在绝大部分的培训班、培训课程都是IDE的使用、语法的记忆,使大家能够很快上手,几个月能掌握编程技巧,达到就业水平。
但是,认知科学的研究成果表明,知识的消化与吸收,职业技能的学习与精通,本质上是在大脑神经元之间建立连接,重塑大脑结构的过程,这个过程的时间可以缩短,但不能无限地缩短。另外,不同的人,拥有不同的背景和基础,在学习与掌握相同的知识与职业技能时,所花的时间是不一样的。
而培训机构才不管这些,他的目的就是挣钱,以最快的速度挣钱,能在三天内把所有内容塞给你绝不用四天,只要最终能糊弄住面试官,让学员找到一份工作就可以了。
所以,必然会出现下面的现象:
对于原来有一些基础的,学习能力较强的同学,在学习之前已经有较扎实的基础,所以在培训期间能够自己构建成技术体系,知识吸收相对较好:
而另一些学员,则会出现消化不良的情况:
自学编程的主要问题在于,学了一堆的招式,而对于内部原理则不通透。这也是自学编程和科班出现的最大区别。
而计算机的基础知识其实并不多,最重要的就是下面四门:
数据结构与算法,
计算机操作系统,
计算机网络,
计算机组成原理。
这几门课也是校招的重点考查科目,需要熟练掌握一门语言(Python,Java,或是C++),然后用你熟悉的语言来实现基本的算法和数据结构。
无论学习什么,最关键是要找一个风评还不错的课程,就从头到尾学一遍,千万别东学一点,西来一些的。这样的效果肯定不会太好。
这里给大家推荐一些我看过的,比较认可的课程,跟着学即可。
关于数据结构,我想说的是,它是这四大件中最简单、最基础的一个。离开了数据结构,几乎任何的程序都会失效,所以在讨论数据结构的时候,常常要把算法也连带着说一说。
要单纯地掌握常见的数据结构,就如同拆解一个个精妙的仪器件一样有趣和简单。正因为数据结构这个东西在程序中的作用,和仪器部件特别相像,不同的数据结构有着不同的特性,因此要想学好数据结构,图解是必备武器!
这里强推中国大学上,浙江大学的开设的《数据结构》课程,涵盖了常用的数据结构和算法。
https://www.icourse163.org/course/ZJU-93001
辅以教材参考书,强推《大话数据结构》,光看封面你就知道这本书的风格了
没错,这就是大名鼎鼎的《大话设计模式》的作者出的,绝对顶。
算法课常常和数据结构课放在一起,在有些高校中,会存在“数据结构与算法”和“算法设计与分析”这样的两门课。
但很多同学搞不明白,数据结构与算法有什么区别,甚至有些同学以为数据结构中就包含了算法。
其实,是字面意思就能知道个大概,数据结构主要讲解数据的组织形式,换句话说,我就是我们要怎样把这些数据存储起来,所以有列表、堆、栈、树、图,这是数据结构的重点。
而算法,则正注意的是思想,比如列表里的元素怎么排序、怎么在当前的存储结构中找到最大的数和最小的数?等等,说白了就是解决现实中问题的思想。所以才会有分治思想、贪心思想、动态规划这三大算法。
学习算法的套路很简单,多看、多写、多上机,既然是思想的集合,看得多了,自然无师自通。
至于刷题,很多同学都知道要刷LeetCode。
LeetCode题库:(2123题)
https://leetcode-cn.com/problemset/all/
总共两千多道题,而且有些题,非常难,就算每天10题,也至少刷半年。这显然不适合绝大部分同学。
所以,我们要找到最核心、最重要的题集,即可
比如,如果时间紧张,可以先刷《程序员面试宝典》里的题目,总共109题。
https://leetcode-cn.com/problemset/lcci/
刷完以后,有时候,可以再刷《剑指offer》的题目,共75题。
https://leetcode-cn.com/problemset/lcof/
因为这两本书,都是面向面试的高频题汇总,自然有很多题目是重合的。这也正能说明这两本书的重要性。
当然,我也有一本谷歌师兄总结的高频面试算法习题集,包含了常见的数据结构和算法汇总,无论是排版还是内容,都是非常棒。
大家可以点击下面卡片,回复后台回复「116」获取
马上618了,咱们再搞一次团购活动。周五晚上开启,价格99(当前159)。最后一次,下次涨价。
我建了个星球,愿景是帮一小部分人在技术提升、副业挣钱方面快速地实现人生超越!围绕着这个愿望我们开展了定期专家分享、副业剖析、技术训练营、每日文章推荐等固定主题。
很多小伙伴说对我们的编程日记知识星球不了解,无法完整了解具体内容,特意为大家开启了编程日记星球免费体验群,进群即可体验2天我的星球分享内容;带你完整了解我们都在编程日记里学到了什么。
往期推荐 做程序员,我后悔了
端午节,我干了件大事
躺平的韭菜,不好割
你好,我是启舰,出过书,创过业、CSDN博客专家、电子工业出版社优秀作家、大厂技术主管、前阿里人。
曾几何时,我也是2500一个月都找不到工作的青涩少年,也是帮别人发传单、做门童,满地找兼职的学生仔。
也曾经处在比大家更差的阶段,只是靠坚持和毅力,把一手烂牌打得看似精彩,相信我,你会更棒。点击蓝字,查看我的编程之路