昨晚在刷知乎的时候,突然跳出了字节发来的录用邮件,期待了很久offer,最大的感受就是这5个月的编程自学没有白费。

高中对编程很感兴趣,但是一边搞主课一边自学编程导致高考没考好,编程也没学出什么苗头。于是选择了一个计算机专业很好的大学读文科,大学一年室友打游戏,打篮球,逃课,旅游的时候我全在自学编程和专业课,就为了顺利转到CS专业。

所以,对于自学编程,特别是编程入门阶段的新手,我想分享一点自己的经验,希望对你们有帮助。

首先,放下你手上那些大部头的书和堆成山的资料。

你只需要为自己准备一本书,一个视频,一个知识点脑图,一个题库足以编程入门。不要觉得“收藏了就等于学会了”,就算收藏了100份超牛逼的资料,你不去学的话也是一堆垃圾。就像高中的我一样,最后一事无成。

然后,选择一门适合自己的编程语言。

现在主流的几种编程语言是:C++,Java,Python,也是大家在入门编程首先会考虑的几种语言。

很多刚入门的同学会很纠结到底要学哪一门编程语言。最主要的原因就是没有明确的就业方向,如果你已经有自己选择可以略过这一步。

但是如果也有在纠结语言这个问题,并且求职意向未知的话,建议你优先选择Java或Python。学习难度不高,而且未来求职的方向比较广。

再用一门视频课打下编程基础

我支持零基础看视频课学习。它的好处是不会把一堆的知识点丢给你让你自己去理解。自学的时候能力有限,如果有老师整理过,也组织过语言,然后再来给你讲明白一个知识点,会好理解很多。

我刚入门的时候大概上过七八个不同的基础课,我认为效果最好的的是《算法基础班》,老师讲得很详细,用了Java&Python双语言讲解,全程都会带着你“码”一遍,有兴趣的话可以先白嫖下前四节试听课,也能让你对编程有初步的认识。

同时,开始刷题!

上视频课的同时就可以直接刷题了,不过很多刚入门的同学一刷题就被劝退,怎么刷怎么不会。这都是因为没有循序渐进的刷题,于是陷入了学啥啥不会的自我怀疑中。

感兴趣的同学可以直接找LintCode上的《新手编程50题》,里面都是很基础的题目,对小白很友好!

跟着题库刷完以后,你就会对基本的数据结构有最基础的了解,再加上视频课的知识点补充,恭喜你入门阶段结束!

最后,还没弄懂的知识看书巩固

不过有些人可能不太习惯看视频快速学习,还是需要书籍的辅助进行后续的巩固以及查漏补缺式的针对性学习。所以这时候那你需要一本知识点非常全面,讲解的也清晰易懂的书,一本就够了。

《数据结构与算法分析:Java语言描述》:很多大学都拿它当作教材,非常系统、全面、严谨,适合掌握了至少一门编程语言的同学。

以下是我根据这本书,列出来的一个数据结构与算法重点学习的知识点脑图。

写到哪就是哪,可能有些啰啰嗦嗦或者写不全的地方,希望大家能够谅解啊,也希望你们都能拿到心仪offer!

更多推荐

自学编程5个月找到了月薪12K的工作,我的方法值得大家借鉴