导语
曾经有一个专科计算机的学生,在大学期间基本都是打游戏,荒废了三年,快到毕业的时候问我,像他这种的计算机计算机专业出来还能找到工作吗?
好在这个孩子还有上进心,由于对编程感兴趣,想从零开始学习,然后学成之后找到一个心怡的工作。
选择一个什么语言
现在适合程序员做的领域那么多,比如你选择C语言,那这个本身就应该大学期间打好基础,除非你自己自制力非常好,如果真想做c,应该从实际角度进行出发。
c的应用领域很广,比如网页制作,app前端,嵌入式等。分清晰这个领域的内容后再考虑自己适合不适合做,别一闷头上来就学这门语言。
比如喜欢web开发,我就专心学js,想要学习后端开发,我就java,php,学习人工智能领域我就python,做中间件我就选择go语言,以及ios开发等等。
制定学习计划
比如我选择一门编程语言之后,我要知道这门语言可以用什么编译工具运行,学习其变量和类型,其方法构成,其逻辑语句等,然后进阶学习运行机制。学完之后在学习点算法和数据结构。进阶这个语言的高阶,比如高并发,框架,网络编程等。
及时学习技术
找工作,根据面试反馈,看看自己哪方面还欠缺,自己还有哪些不足,找资料,多学多练。记住要整理文档,并且要看懂别人写的文档,许多开源项目都有自己的文档,记住要学习其精髓。
学习算法和数据结构
大部分公司基本上都看重你的算法能力和数据结构的能力,根据实际问题,决定算法结构,以数据结构为基础去设计算法。并且学习数据结构花费的时间也是最长的。
有了数据结构只是成功的一半,数据结构是静态的,只是组织苏数据的一种方式,你不去使用它,它是无法发挥作用的,这个时候纪就要用算法来驾驭它。
比如你从家到学校,又很多公交车次可以乘坐,相应的就有很多方案。每一种方案都可以使我到达目的地,那么你可能挑选最快最省钱的,也就是最优方案。算法也是如此,所以我们总结了一些优秀算法的准则,思想,比如说贪心算法,动态规划等思想。
挑战程序设计竞赛2算法和数据结构京东¥67.7购买已下架算法为何依赖于数据结构呢?
这个问题问得好,为回答这个问题,举一个通俗的例子。你在学校捡到了一张饭卡,上面有姓名,学院,班级。然后你要去将饭卡还给失主。接下来,你会找到其学院,然后找到班级,然后在班级中通过询问同学找到失主。(姓名,学院,班级)在这里我们认为是数据结构,因其把这些数据组织到一张卡上了。接下来,想象另一种情形,假如说饭卡上只有姓名,而学院,班级在另一张信息卡上。那么你可能找遍全校也找不到失主。这就是算法依赖数据结构的合理解释。