程序员的基础技能
程序员的基础技能:开发平台、数据存储、常见算法、工程规范、开发流程、源码管理、测试方法。
一、需要重点掌握:
1.开发平台
编程语言:Java
平台生态:JDK
常用框架:spring、netty
解决方法
2.常见算法
递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法。
3.数据结构
基础:
数组:Array
链表:LinkedList
队列:Queue
堆栈:Stack
散列:Hash
集合:Set
扩展:
树:Tree
图:Graph
二、需要了解
1.数据存储
流行的数据存储系统,主要有下面三类:
SQL 关系型数据库(MySQL、Oracle)
NoSQL 非关系型数据库(HBase、MongoDB)
Cache 缓存(Redis、Memcached)
需要根据深度依次了解下面几点:
如何用?在什么场景下,用什么数据存储,主要用到它的什么特性?
它们是如何工作的?
如何优化你的使用方式?
它们的量化指标,并能够进行量化分析?
2.测试方法
开发与测试这两种相反视角的切入维度,能真正长期地提高你写代码的效率和水平。
流程的方法论叫做:TDD(测试驱动开发)。
3.工程规范
基础的工程规范是代码规范,包括如下两部分:
代码结构
代码风格
4.开发流程
主要是敏捷开发方法论。
5.源码管理
经历了从 CSV 到 SVN,再到 Git 的发展历程。目前流行的主要包括 SVN 和 Git。
源码管理最基本的诉求有以下三点:
并行:以支持多人的并行开发
协作:以协调多人对同一份代码的编写
版本:以支持不同历史的代码版本切换
版权声明: 本文为 InfoQ 作者【风翱】的原创文章。
原文链接:【http://xie.infoq.cn/article/3f908ccb9e3f16bce4587386f】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论