作为一名半路出家的程序员,要学的还很多

code小生,一个专注 Android 领域的技术分享平台

作者:进击的Hello_World
链接:https://www.jianshu.com/p/95d431a5850e
声明:本文是 进击的Hello_World 原创授权,转载等请联系作者获得授权。

1 前言

程序员,近年来十分火爆的职业,凭着巨大的市场缺口和高额的薪水吸引着大量毕业生加入程序员的队伍。这其中就包括各类专业的学生,像我这种自动化专业的也在其内。这些不是计算机科班出身的可以看作是半路出家了。那么半路出家程序员和计算机专业出身学生有什么区别呢?

先来看一张计算机专业的大学课程表:
数据结构与算法、计算机组成原理、汇编语言程序设计、Java语言程序设计、C/C++程序设计、操作系统、计算机系统结构、数据库系统原理、网络编程与计算技术、软件工程、计算机网络、软件开发方法等。

惭愧的说,就上过一门c语言程序设计。毕业找工作也是靠自学编程,然后牛客网(巨牛刷题网站)刷题,看某些面试宝典,做一些小项目才搞定一份工作。像面试某个知名公司时候,当场手写链表逆序程序,以及IP地址的划分规则,感觉是当场就被秒了。
既然认识到差距,总是要弥补的。结合自己的学习过程总结了以下几方面。

2 数据结构与算法

数据结构与算法更像是高深武功的心法,编程语言就像是武器,只有掌握了更深厚的心法才能将编程语言运用纯熟。

数据结构与算法的知识点用几张脑图来说明吧。

线性表串树图

排序算法
查找算法
深入学习二叉树

3 计算机网络

计算机网络是一门重要的课程,毕竟现在是互联网的世界。但是,如果不是专门做网络开发的程序员,掌握下图中的计算机网络的知识点就差不多够用了。

计算机网络

4 设计模式

设计模式可以使代码更加优美,每个程序员都应该掌握几中熟练的设计模式。奉上一张简单的设计模式脑图,对着图学吧。

设计模式.PNG

5 结语

就先学习以上这些内容吧。虽然不是科班出身,但是半路出家的程序员培养了自学能力。毕竟技术更新越来越快,强大的学习能力才是王道。争取脚踩基础知识,手摸技术前沿,作一名进击的程序员。

技术精进

开除了没情商的“技术大神”后,整个团队都好起来了

如何打造个人技术影响力

瓶颈:没有技术深度的苦恼

Android 技术总监应该干的那些事