怎样找到适用于自己的学习方法,咋通过刻意训练而得到

好像题主是大学生啊,还是一个挺好的大学。尽管我在原答案里面写了:大学要怎么读,这个我真心没办法提供建议。但是看了题主的状态,看起来是铁了心了要干编程了,那我就尽量给点建议吧。1. 学好编程的基础课。2. 选一门主流的技术,Java/c++/javascript/python等,反复的造轮子,练习,争取能够写上5万行以上的代码,达到“熟练”。这里写的代码,多多益善,李开复给的建议可是10W行呢。3. ACM,LeeCode,一些大公司的编程竞赛关注一下。可惜我大学里只做到了前两步啊,如果做了第三步,估计现在就不会那么菜了。=========================原答案的分隔线=========================谢邀 , 第一次被人妖。好神奇,竟然有人妖我。 @KingWang按道理来讲,这种问题应该邀请一些长者来回答,为啥会有人邀请我。不过既然被妖了,那么就尽自己所能回答一下吧。问题 1,如何开始一门新的语言学习?(引申一下,如何GET某项技能?)编程相关问题,那我就用编程来回答。回答这个问题的时候先假定你已经对该领域已经了解了该技能的相关领域,比如你要学python,那必须要先假定你已经会编程了,否则这个就变成第二个问题了。我的建议是1. 找一本主流的教程,浏览一下。就是看看目录,看看每一章节的提要即可,大致有一个感受。2. 造一个轮子。需要啥技能就去那本书里面,或者google,baidu找一下就行了。3. 造一个复杂的轮子。但是看了题主对问题1的描述,我认为在编程方面,你应该还没有进入该领域,你应该先看问题2.下面我来回答一下问题2.2,如何进入某个领域?这个问题好大,好难,尽量回答一下吧。我是先打好了问题1和问题3的答案才来打这个问题的答案的。我个人觉得对于普通人学习,有两个比较稳妥的,高成功率的途径。1. 读该领域的大学。大学要怎么读,这个我真心没办法提供建议。2. 找一个该领域的师傅。如果你有幸找到了这样的一个师傅,一般公司里面会给校招到的新员工安排一个资深的工程师来做师傅的,如果你的公司里没有师傅,那确实有些坑,但是你所在项目组的leader,你可以认为他就是你的师傅,尽管公司没有专门安排。那师傅对你最大的作用是啥呢,我个人认为仅仅是问他问题,让他给你解决难题或者提供知识,这么做真的是太浪费“师傅”这个资源了。最好的从师傅那里学东西的手段是给他打下手,他主导一个任务,你就积极的参与这个任务,在任务中做一些简单的事情,并且观察他是如何工作的。很幸运的是我在第一份工作中,我有一个很好的师傅,我无法去定义什么样的师傅是好的,但是我可以描述一下我的那位师傅给我们提供了什么样的帮助。1. 他先搭好了一个功能的框架,让小弟们去给框架添加细节。(添加细节的过程中学习了他写得高深的框架,以此长见识)2. 他做一些技术决定的时候带上我们讨论(在讨论组我们学习如何考虑问题,如何分析技术方案的优劣)3. 等我们有点经验的时候,对于一些小范围的技术决定,让我们做,然后他会进行点评。4. 对于一些小的决定,他会明知该决定不太好,但是仍然给我们犯错的机会。由于这个决定比较小,所以不会太影响整个项目。让我们有机会头撞南墙之后,再通过错误来反思这个决定。5. 给我们推荐一些书籍。那我是怎么进入编程领域的呢?你可以参考我的一个答案:当你学会了什么之后感觉自己的编程算是入门了? - chapman zhang 的回答3,如何快速找到学习的途径,制定学习路线?这里我只回答编程相关的,其他领域我不在行,非编程领域不用太较真。这个问题的答案很简单:有输出,有输出,有输出。惯例,重要事情说三遍。什么是输出呢?就是用你所学的东西做一些东西出来,这个东西可以是各种样子,包括写博客,造轮子,给别人分享等等。为了方便理解,我先描述一下跟输出相对的:输入。输入就是你通过各种途径了解到的信息,比如读书,听课,上等。好多人的学习就止于此了,认为看了信息,然后有点印象,好一点,记住了,就是学习了。这个在下是不敢苟同的。首先,这样的知识极度容易遗忘,其次,这些知识并没有转化为技能。这就是输入式学习的缺陷。相信这里你应该已经理解了输入和输出,所以我的学习方法也就简单了,输入(看书)-\u0026gt;输出(写博客,造轮子)其实这就是我在问题1讲的东西。所以你问题里描述的,大牛都跟你说:just do it,是极为有道理的。至于到底do什么,你确实需要一个师傅或者学长来给你提供建议。========================下面我来评价一下题主的问题描述=============对于入门来说,我觉得学习最刚开始的时候不能局限于某个部分,而应该是整个编程思想。如果局限于某个细节的东西,就往往容易陷入里面,不能自拔。这个我是不敢苟同的。看题主的描述,应该编程学的不久,并且也没有做过比较复杂的东西。编程思想这种东西,应该只有对多种技术都达到了“熟练”,至少一种技术达到了“精通”才会有的东西。初学者,哪来的编程思想。初学一门语言,就是要研究一些细节。否则初学连细节问题都解决不了,难道要解决啥大问题?积累了足够多的细节问题解决经验,以后才有能力解决大问题。就应该侧重于该语言的独有特性,比如在js中,一切皆为对象,这一个特点就让我很是吃惊,以前接触C/C++的时候没有这种特点。学习的时候,关键是要了解一门语言的不同之处。在对多门语言达到“熟练”水平之前,你怎么去学习某一种语言的不同之处?这个我很好奇。充其量只能看看语法的区别吧。
■网友


推荐阅读