第一篇:程序员考试大纲及培训指南
一、考试说明 1.考试目标
通过本考试的合格人员能根据软件开发项目管理和软件工程的要求按照程序设计规格说明书编制并高度程序,写出相应的程序文档,产生符合标准规范的、实现设计要求的、能正确可靠运行的程序。具有助理工程师(或技术员)的实际工作能力和业务水平。2.考试要求
(1)掌握数制及其转换、数据的机内表示、算术和逻辑运算 基础知识;
(2)了解计算机的组成以及各主要部件性能指标;
(3)掌握操作系统、程序设计语言的基础知识;(4)熟练掌握基本数据结构和常用算法;
(5)熟练掌握C程序设计语言以及C++、Java中的一种程序设计语言;(6)熟悉数据库、网络和多媒体的基础知识;
(7)了解软件工程的基础知识、软件过程基本知识、软件开发项目管理的常识;(8)了解常用信息技术标准、安全性以及有关法律、法规的基础知识;(9)了解信息化及计算机应用的基础知识;(10)正确阅读和理解计算机领域的简单英文资料。3.考试科目设置
(1)计算机与软件工程基础知识,考试时间为150分钟,笔试,选择题;(2)程序设计,考试时间为150分钟,笔试,问答题。
二、考试范围
考试科目1:计算机与软件工程基本知识 1.计算机科学基础、应用数学的1.1数制及其转换
二进制、十进制和十六进制等常用数制及其相互转换 1.2 数据的表示
数的表示
非数值数据的表示 1.3 算术运算和逻辑运算
计算机中二进制数的运算方法
逻辑代数的基本运算 1.4 数学应用
常用数值计算(矩阵、近似求解、插值)
排列组合、应用统计
编码基础 1.5 常用数据结构
数组
线性表及链表
队列、栈
树
图 1.6 常用算法
算法与数据结构的关系
算法设计和算法描述
常用的排序算法
查找算法
常用的数值计算方法
字符串处理算法
递归算法
最小生成树、拓扑排序和单源点最短路径求解算法 2.计算机系统基础知识 2.1 硬件基础知识
2.1.1 计算机的类型和特点
微机(PC机)、工作站、服务器、主机、大型计算机、巨型计算机、并行机
2.1.2 中央处理器CPU
CPU的组成常用的寄存器
指令系统,寻址方式
指令执行控制、中断控制、处理机性能 2.1.3 主存和辅存
存储介质
高速缓存(Cache)、主存
辅存设备
2.1.4 I/O接口、I/O设备和通信设备
I/O接口
I/O设备(类型、特性)
通信设备(类型、特性)
I/O设备、通信设备的连接方法和连接介质类型 2.2 软件基础知识 2.2.1 操作系统基础知识
操作系统的类型和功能
处理机管理
存储管理
设备管理
文件管理
作业管理(作业调度算法)
图形用户界面和操作方法
2.2.2 程序设计语言和语言处理程序的基础知识
语言翻译基础知识(汇编、编译、解释)
程序设计语言的基本成分:数据、运算、控制和传输
程序语言类型和特点 2.3 网络基础知识
网络的功能、分类、组成和拓扑结构
基本的网络协议与标准
常用网络设备与网络通信设备,网络操作系统基础知识
Cient/Server结构、Browser/Server结构
局域网(AN)基础知识
Internet基础知识 2.4 数据库基础知识
数据库管理系统的主要功能和特征
数据库模式(概念模式、外模式、内模式)
数据模型、ER图
数据操作(关系运算)
数据库语言(SQ)
数据库的主要控制功能(并发控制、安全控制)2.5 多媒体基础知识
多媒体基本知识
常用多媒体设备性能特征,常用多媒体文件格式类型 2.6 系统性能指标
响应时间、吞吐量、周转时间
可靠性、可维护性、可扩充性、可移植性、可用性、可重用性、安全性 2.7 计算机应用基础知识
计算机常用办公软件操作方法
计算机信息管理、数据处理、辅助设计、自动控制、科学计算、人工智能等领域的应用
远程通信服务 3.系统开发和运行知识
3.1 软件工程和项目管理基础知识
软件工程基础知识
软件开发生命周期各阶段的目标和任务
软件过程基本知识
软件开发项目管理基本知识
软件开发方法(原型法、面向对象方法)基础知识
软件开发工具与环境基础知识(CASE)
软件质量管理基础知识 3.2 系统分析设计基础知识
数据流图(DFD)、实体联系图(ER图)基本知识
面向对象设计、以过程为中心设计、以数据为中心设计基础知识
结构化分析和设计方法
模块设计、代码设计、人机界面设计基础知识 3.3 程序设计基础知识
结构化程序设计、流程图、NS图、PAD图
程序设计风格 3.4 程序测试基础知识
程序测试的目的、原则、对象、过程与工具
黑盒测试、白盒测试方法
测试设计和管理 3.5 程序设计文档基础知识
算法的描述、程度逻辑的描述、程度规格说明书
模块测试计划、模块测试用例、模块测试报告 3.6 系统运行和维护基础知识
系统运行管理基础知识
系统维护基础知识 4.信息安全基础知识
信息系统安全基础知识
信息系统安全管理
加密与解密基础知识 5.标准化基础知识
标准化基本概念
标准的层次(国际标准、国家标准、行业标准、企业标准)
相关标准(代码标准、文件格式标准、安全标准、软件开发规范和文档标准、互联网相关标准)6.信息化基础知识
信息、信息资源、信息化、信息工程、信息产业、信息技术的含义
全球信息化趋势、国家信息化战略、企业信息化战略和策略常识
有关的法律、法规要点 7.计算机专业英语
具有助理工程师(或技术员)英语阅读水平
掌握本领域的英语基本术语 考试科目2:程序设计 1.内部设计 1.1 理解外部设计
1.2 软件功能划分和确定结构
数据流图(DFD)、结构图 1.3 物理数据设计
确定数据组织方式、存储介质、设计记录格式,处理方式 1.4 详细输入输出设计
界面设计、报表设计等 1.5 内部设计文档
程序接口、程序功能、人机界面、输入输出、测试计划 1.6 内部设计评审 2.程序设计
2.1 模块划分(原则、方法、标准)2.2 编写程序设计文档
模块规格说明书(程序处理逻辑、输入输出数据格式)
测试要求说明书(测试类型和目标、测试用例、测试方法)2.3 程序设计评审 3.程序实现 3.1 编程
编程方法和规范
程序设计语言的选择和使用
人工走查
程序文档化 3.2 程序测试
测试环境和测试工具的选择和使用
测试数据的设计
测试报告的编写
4.程序设计语言(C语言为必选,再在C、C++、Java语言中任选一种)4.1 C程序设计语言(C99标准)4.2 C++程序设计语言(ANSI C++标准)4.3 Java程序设计语言(Java2)
第二篇:程序员考试大纲
程序员考试大纲.txt我是天使,回不去天堂是因为体重的原因。别人装处,我只好装经验丰富。泡妞就像挂QQ,每天哄她2个小时,很快就可以太阳了。程序员级考试大纲
一、考试说明
1.考试要求:
(1)掌握数据及其转换、数据的机内表示、算术和逻辑运算,以及相关的应用数学基础知识;
(2)理解计算机的组成以及各主要部件的性能指标;
(3)掌握操作系统、程序设计语言的基础知识;
(4)熟练掌握计算机常用办公软件的基本操作方法;
(5)熟练掌握基本数据结构和常用算法;
(6)熟练掌握C程序设计语言,以及C++、Java、Visual Basic中的一种程序设计语言;
(7)熟悉数据库、网络和多媒体的基础知识;
(8)掌握软件工程的基础知识,了解软件过程基本知识、软件开发项目管理的常识;
(9)了解常用信息技术标准、安全性,以及有关法律、法规的基本知识;
(10)了解信息化、计算机应用的基础知识;
(11)正确阅读和理解计算机领域的简单英文资料。
2.通过本考试的合格人员能根据软件开发项目管理和软件工程的要求,按照程序设计规格说明书编制并调试程序,写出程序的相应文档,产生符合标准规范的、实现设计要求的、能正确可靠运行的程序;具有助理工程师(或技术员)的实际工作能力和业务水平。
3.本考试设置的科目包括:
(1)计算机硬软件基础知识,考试时间为150分钟,笔试;
(2)程序设计,考试时间为150分钟,笔试。
二、考试范围
考试科目1:计算机硬软件基础知识
1.计算机科学基础
1.1 数制及其转换
二进制、十进制和十六进制等常用数制及其相互转换
1.2 数据的表示
数的表示(原码、反码、补码表示,整数和实数的机内表示方法,精度和溢出)
非数值表示(字符和汉字的机内表示、声音和图像的机内表示)
校验方法和校验码(奇偶校验码、海明校验码)
1.3 算术运算和逻辑运算
计算机中二进制数的运算方法
逻辑代数的基本运算和逻辑表达式的化简
1.4 数学应用
常用数值计算(矩阵、方程的近似求解、插值)
排列组合、应用统计(数据的统计分析)
1.5 常用数据结构
数组(表态数组、动态数组)、线性表、链表(单向链表、双向链表、循环链表)、队列、栈、树(二叉树、查找树)、图的定义、存储和操作
1.6 常用算法
常用的排序算法、查找算法、数值计算、字符串处理、数据压缩算法、递归算法、图的相关算法
算法与数据结构的关系,算法效率,算法设计,算法描述(流程图、伪代码、决策表)
2. 计算机系统基础知识
2.1 硬件基础知识
2.1.1 计算机系统的组成,硬件系统、软件系统及层次结构
2.1.2 计算机类型和特点
微机、工作站、服务器、大型计算机、巨型计算机
2.1.3 中央处理器CPU
算器和控制器的组成,常用的寄存器、指令系统、寻址方式、指令执行控制、处理机性能
2.1.4 主存和辅存
存储器系统
存储介质(半导体、硬盘、光盘、闪存、软盘、磁带等)
主存储器的组成、性能及基本原理
Cache的概念、虚拟存储的概念
辅存设备的类型、特性、性能和容量计算
2.1.5 I/O接口、I/O设备和通信设备
I/O接口(总线、DMA、通道、SCSI、并行口、RS232C、USB、IEEE1394)
I/O设备的类型和特性(键盘、鼠标、显示器、打印机、扫描仪、摄像头,以及各种辅存设备)
I/O设备控制方式(中断控制、DMA)
通信设备的类型和特性(Modem、集线器、交换机、中继器、路由器、网桥、网关)及其连接方法和连接介质(串行连接、并行连接,传输介质的类型和特性)
2.2 软件基础知识
2.2.1 操作系统基础知识
操作系统的类型和功能
操作系统的内核(中断控制)和进程概念
处理机管理、存储管理、设备管理、文件管理、作业管理
汉字处理
图形用户界面及其操作方法
2.2.2 程序设计语言和语言处理程序基础知识
汇编、编译、解释系统的基础知识
程序设计语言的基本成分(数据、运算、控制和传输)
过程(函数)调用
2.3 网络基础知识
网络的功能、分类、组成和拓扑结构
网络体系结构与协议(OSI/RM,TCP/IP)
常用网络设备与网络通信设备,网络操作系统基础知识和使用
Client/Server结构、Browser/Server结构
LAN基础知识
Internet基础知识
2.4 数据库基础知识
数据库管理系统的主要功能和特征
数据库模型(概念模式、外模式、内模式)
数据模型,ER图
数据操作(关系运算)
数据库语言(SQL)
数据库的主要控制功能
2.5 多媒体基础知识
多媒体基础概念,常用多媒体设备性能特征,常用多媒体文件格式类型
简单图形的绘制,图像文件的基本处理方法
音频和视频信息的应用
简单多媒体应用制作方法
2.6 系统性能指标
响应时间、吞吐量、周转时间等概念
可靠性、可维护性、可扩充性、可移植性、可用性、可重用性、安全性等概念
2.7 计算机应用基础知识和常用办公软件的操作方法
信息管理、数据处理、辅助设计、自动控制、科学计算、人工智能等概念
文字处理基础知识和常用操作方法
电子表格处理基础知识和常用操作方法
演示文稿制作方法
电子邮件处理操作方法
网页制作方法
3. 软件开发和运行维护基础知识
3.1 软件工程和项目管理基础知识
软件工程基本概念
软件开发各阶段的目标和任务
软件过程基本知识
软件工程项目管理基本知识
面向对象开发方法基础知识
软件开发工具与环境基础知识(CASE)
软件质量管理基础知识
3.2 软件需求分析、需求定义及软件基础知识
结构化分析概念(数据流图(DFD)、实体关系图(ER))
面向对象设计、结构化设计基础知识
模拟设计、代码设计、人机界面设计要点
3.3 程序设计基础知识
结构设计程序设计,程序流程图,NS图,PAD图
程序设计风格
面向对象设计基础知识、可视化程序设计基础知识
3.4 程序测试基础知识
黑盒测试、白盒测试、灰盒测试基础知识
测试工作流程
3.5 软件开发文档基础知识
3.6 软件运行和维护基础知识
软件运行基础知识
软件维护基础知识
4. 安全性基础知识
安全性基本概念
计算机病毒的防治,计算机犯罪的防范
访问控制
加密与解密基础知识
5. 标准化基础知识
标准化基本概念
国际标准、国家标准、行业标准、企业标准基础知识
代码标准、文件格式标准、安全标准、软件开发规范和文档标准基础知识
标准化机构
6. 信息化基本知识
信息化基本概念
全球信息化趋势,国家信息化战略,企业信息化战略和策略常识
有关的法律、法规要点
过程教育、电子商务、电子政务等常识
企业信息资源管理常识
7. 计算机专业英语
掌握计算机技术的基本词汇
能正确阅读和理解本领域的简单英文资料
考试科目2:程序设计
1.内部设计
1.1 理解外部设计
1.2 功能划分和确定结构
数据流图、结构图
1.3 物理数据设计
确定数据组织方式、存储介质,设计记录格式和处理方式
1.4 详细输入输出设计
界面设计、报表设计
1.5 内部设计文档
对程序接口、程序功能、人机界面、输入输出、测试计划的描述
1.6 内部设计文档
2. 程序设计
2.1 模拟划分(原则、方法、标准)
2.2 编写程序设计文档
模块规格说明书(程序处理逻辑的描述、输入输出数据格式的描述)
测试要求说明书(测试类型和目标、测试用例、测试方法)
2.3 程序设计评审
3. 程序实现
3.1 编程
编程方法和标准
程序设计语言的使用
人工走查
程序文档化
3.2 程序测试
准备测试环境和测试工具
准备测试数据
写出测试报告
4.程序设计语言(C语言为必选,其他语言可以任选一种)
4.1 C程序设计语言(ANSI C标准)
程序结构,语法,数据类型说明,可执行语句,函数调用,标准库函数,指针
4.2 C++程序设计语言(ANSI C++标准)
C++和面向对象程序设计,语法和程序结构,类、成员、构造函数、析构函数、模板、继承、多态
4.3 Java程序设计(Java 2)
Java和面向对象程序设计
语言机制(程序结构和语法,类、成员、构造函数、析构函数、继承、接口)
4.4 Visual Basic程序设计(Visual Basic 6.0)
用户界面设计
程序结构和语法
文件系统对象
访问数据库
第三篇:程序员自我学习自我培训指南
程序员自我学习自我培训指南
你是一个程序员初哥,刚从大学迈进公司却没有人指导,要么公司给你指定了导师,却不好意思大事小情都问他。你想提高自己的编程水平,却不知该如何下手。如果你想提升自己,成为一个合格的天天向上的程序员,这篇文章就是为你准备的。
学什么?
有些人对什么都感兴趣,硬盘上存着几百G的教学视频电子书破解软件,却只是仅仅保存着,没有转化成知识。有些人只知道自己刚进公司的那点东 西,JDK一定要1.4.2,VC++一定要6.0,系统一定要WindowsXP,否则就是大逆不道。前一种是不知道自己想要什么,后一种是固步自封眼 界短浅,都不是一个程序员应该有的学习态度。
常见的程序员有Windows桌面开发,Linux服务器开发,Web前端开发,DB数据库相关,游戏服务器端开发,游戏客户端开发,RIA开发(如flash、silverlight),移动开发(这个现在最火了尤其是Android和iOS),嵌入式开发,行业软件开发等等,基本上我列举的这 些已经涵盖了大部分程序员类型,每个类型都有不同的基础知识以及扩展内容需要学习。另外有一些共通的内容如数据结构、基本算法、操作系统是都应该学习了解 的。
另外一种分法是按照编程语言区分,但是这个比较有局限性,比如C程序员,一般是Linux服务器开发或者嵌入式,单纯懂C语言是没前途的。再比如PHP,就要对Web前端开发和服务器都有所涉及才能称得上称职。
在这里还要多废话一句,程序员相比其他行业是一个需要不停学习的行当,固步自封立刻就落后,经验值的累积速度会随着年龄的增长而降低,这也是为什么 在国内很少看到50岁以上的程序员。至于架构师这个很多程序员期望的职业,我的看法是:如果架构师不写代码只会用PPT,只不过是一个大忽悠罢了。
我这篇文章只是介绍了一个方法,希望能帮助刚入门的朋友答疑解惑。根据这篇文章 如果你想得到一个比较不错的职业发展,长期不间断的练习是绝对必须的。
如果你的情商高于智商,非常擅长与人交往,那么程序员不是合适你的职业,做其它任何行业都会得到比程序员更好的结果。这也许有些偏激,但对于国内现状就是这样。十年以后,如果你还是在做编程,比较一下你的同学朋友就会知道我说的正不正确。
如何学?
我下面介绍的学习都是关于技术,但是首先要说明的是,一个优秀的程序员必定要对英语有一定的掌握,应该有比较强的读写能力,另外最好有一定的听说能力。
英语的学习如同技术学习一样,必须持之以恒。比如每天都听一篇cnn student news,泛听一下nightly news等等。在apple itunes上可以免费订阅大量podcast,只要你坚持听时时学,英语水平一定会提高。而且英文水平的提高
会对你的职业带来非常大的帮助。
专精篇
无论什么行业,如果想成为专家,专精某个或者某几个方面是必要的,比如我就一直标榜:Windows Visual C++程序员。这里面就包含了Windows开发,Visual C++集成开发环境使用,C++程序员几个方面。由于行业不同专业不同,这里就不说明对于你的行业需要专精什么,如果你有疑惑,欢迎留言或者在 http://t.sina.com.cn/sagasw 给我留言。
我们用学习英语的办法来说明如何专精“听读写说”,就以一名C#程序员来举例好了。
1)听看
第一步是听视频或者看视频。这是对某个方面知识快速了解的好办法,因为视频相比书籍文档更精彩一些,而且花费的时间相对比较少,注意力更集中一些。
在上可以看到大量的编程类培训视频,只要你想学的不是非常偏门都可以找到。也可以在优酷上在线观看。如果你对自己的英文水平有自信,可以到youtube.com上观看英文的视频。另外C#是微软公司出品,微软公司最大的特点就是不差钱,他们的免费视频在网上都可以找到。在verycd上搜索一下http:///search/folders?kw=C%23 就可以找到好几页,比如这个 《传智播客.Net培训视频教程》,还有 《C#4.0中文视频教程》都可以下载听听。
在微软WebCast http://msdn.microsoft.com/zh-cn/dd796167 可以看到大量编程方面的培训视频。关于C#有三个“C#面向对象设计模式纵横谈系列课程”“C#2.0 锐利体验系列”“Modern C#系列课程”,可以下载视频和培训的ppt,看完这几个系列视频,对C#就应该有一个基本程度的了解。
如果想学习Java编程语言,搜一下 也可以找到大量视频资源。
我建议是把视频下载,放到手机或者ipod上就可以随时随地的听听看看,方便得很。
2)读
读是专精某个领域知识中最重要的一步,读书、读文档、读代码都算是这部分。
先说说读书。读书首先是选对书,选书也难也不难。如果你身边有高人,可以请教高人。如果感觉没有高人,那么可以参考china-pub的排行榜,然 后结合douban.com上的网友点评来选购,如果还没头绪,给我留言好了。计算机方面的书籍我建议选下面几个出版社的:人民邮电(知名品牌是图灵)、电子工业、机械工业、清华大学出版社、东南大学出版社。不能说他们出版的一定是精品,但是精品基本上都被这几个出版社出了。比如C#方面,如果我选择我会 选这一本作为精读 《C#与.NET3.5高级程序设计》
精读的书目不要多,一次应该限定在两三本左右。读书时应该备有以下工具:一个本子,一支荧光笔,一支签字笔。本子用于记录自己的心得体会,感觉比较 精彩的内容可以标记出来。另外应该定期把笔记总结到网上(比如google docs中)。为什么不直接总结成电子文档呢?个人经验觉得本子是最快捷也最不影响阅读的记录方式。如果你觉得转成电子文档麻烦,那我还有一绝招,就是直 接用数码相机用微距模式拍照,然后保存图片就好了。
如果涉及到代码,也应该把示例代码的运行环境准备好,比如C#就需要安装一下DotNet开发环境(比如Mono或者VisualStudio),学Java就应该安装JDK,学C语言应该安装一个gcc等等。
精读时应该尽量理解每个章节,章节后面如果有习题就应该把习题做完,然后再学后续内容。如果有
相关示例代码,也最好把代码自己录入然后调试运行一 下。前面之所以提到选对书,就是因为如果你书选的有问题,那么精度这一步就很难进行下去,翻译的质量直接影响到你学习质量。精读时的进度也不要太快,免得 自己理解不深。如果有可能,最好中英文比对一下(现在网络上可以搜到很多书的英文版ebook),这样不仅可以学习英文,而且最重要的是一些中文中比较难 理解的,阅读英文部分可能会容易看懂,这个好像有些难理解,但是就我个人翻译的经验,一般来说翻译会把译者的想法带入,所以很可能造成一些歧义。
精读部分还包括读文档,因为很多比较新一些的知识还没有书籍,只有论文或者电子文档,还是建议把文档打印出来阅读。
读代码也是很重要的一点,如果不是天才,那阅读经典代码就跟阅读经典名著一样,对于编程语言的学习是非常必要的。选择一个好的阅读项目跟选书一样要精心,我建议先从比较精短的示例开始阅读,比如微软的C# code example http://msdn.microsoft.com/en-us/vcsharp/aa336738 或者像是上得分比较高的文章代码。阅读的代码一定要选择可实际运行的,这样可以在你感兴趣或者有问题的地方加上断点调试,观察变量、调用栈等等变化。
当掌握比较基本的知识以后,应该转向选择一些比较经典的开源项目。C#或者Java好的开源项目很多,这里就不多说了。
3)写
这里的写不是指前一步中写写书上的示例代码,而是说把前面两步学到的知识应用到实际项目中,这一步是最重要的。
再加强说明一次,把学到的东西应用在自己的实际项目当中,不管项目大小,这一步是自学过程中最重要的。
跑题一下说说,我看到过很多培训,内容很好,讲的也不错,但是最后收效甚微。问题不是讲师的水平不够,而是听众只是听了,没有用起来。光看是看不成高手的。
有些朋友会问了,我真不知道写什么,能给点建议么?我的建议是先从小应用开始,然后在写一个比较实用的程序。
什么是小应用呢?比如我喜欢看网络小说,就可以编一个浏览器一样的程序,打开以后它就直接访问小说网站。或者喜欢炒股的,可以编一个股票信息收集,把网上的股票信息抓取下来。或者有一些自己需要的功能,比如定期抓取屏幕存成图片文件(这个对于测试人员比较有用),或者就是编一个程序它可以播放视频音 频。小应用的意思是自己觉得好玩,功能上也不是很复杂,比较容易实现的。写过一些小程序以后,有感觉了,那就应该把学到的东西用到自己实际项目当中,比如我学Lua,就用Lua加Sqlite数据库编写了以前需要手动实 现的功能,也用Lua实现了对c++代码的解析生成html帮助文档。也许你工作项目未必需要这个知识,但是可以在一些边缘项目中使用,力争多用多写,熟 能生巧,编程其实就是手熟罢了。
如果就是不知道该如何写一个小程序,那么有几种可能,一个是你想的功能太复杂,这个好解决,另找一个题目就是了;另一种可能是你精读的不够,我建议 你把书再仔细读一遍,把书上的例子好好再次写写;如果题目也不复杂,精读也读了,还是不知如何下手,那劝你还是换一个行当好了。三百六十行行行出状元,不 是一定要做程序员这一行的。
4)说
说,就是分享。分享的过程其实也是提高的过程。
一般来说,IT公司都有一个分享学习机制,程序员对自己专长的方向研究一段时间以后,整理成ppt,然后演示给大家看。也有一些兴趣组比如Python本地用户组也有类似线下分享交流的机会。如果有这样的机会,建议大家踊跃作为讲师参加。当你写讲稿或者演示的时候会突然发现某些方面其实还很 薄弱,当听众提问交流的时候也会发现自己某些地方可能了解的不是那么透彻,这其实也是在学习。分享不仅仅锻炼口才,而且会给人你在这个领域比较精深的感 觉,而且从分享过程中你会发现很多以前没注意到的问题。
分享也是推广的过程,比如你看好C#语言,但是公司可能觉得没有这方面人力或者了解不够,你的传道会让大家对这方面知识了解的多一些,相关疑问也可以找你来答疑,这样也是提升人气值的好办法。
广博篇
一个优秀的程序员,不仅仅要有几样拿手的专业领域,还应该博彩众家之长,了解一下软件工程、架构设计等等方面的知识,还要及时跟踪了解国内外技术动态。
首先,应该像英语学习中的泛读一样,通读一些感兴趣的经典的书籍,比如《程序员修炼之道》《设计模式》《代码大全》《深入理解计算机系统》《快速软件开发》《Unix编程艺术》《编程珠玑》等等。这些书不像精读书可以立刻用到实际。但是这些经典书籍中的思想是可以一直影响整个编程生涯。其实这些书才是真正值得精读的。只不过没办法立刻见效,所以把它们作为广博篇中的提高级书目。
选书一定要小心,烂书就跟老鼠屎,会恶心你很长时间并且降低你学习的积极性。如何选一本好书参考前面精读部分。
想了解技术动态,订阅技术牛人的blog是非常重要的,比如我对redis很感兴趣,于是就订阅了redis作者antirez的博客,他有时候会 对一些项目中比较重要的设计做解读。另外比如infoq.com,可以订阅他们的rss来跟踪最新的文章。我建议大家申请一个google账户,使用google reader作为rss阅读器。在google reader中订阅很方便,直接加入博客地址就可以了。
想跟踪最新潮最酷炫最流行最时尚的编程技术,下面几个来源不可错过。
一个来源是reddit的programming讨论区 http:///r/programming/ reddit的编程讨论区非常活跃,基本上流行的博客文章内容都会被人提交到讨论区,而且讨论的质量也很高。另外一个来源是DZone的首页http://feeds.dzone.com/dzone/frontpage DZone新闻有一个很有意思的特点是可以看到顶和踩的数量,一般顶数量比较高的,可以阅读。再有一个是美味书签的programming和development这两个tag基本上涵盖了编程相关的链接(未必是新文章),可以作为参考。最后一个新闻来源是
HackerNews,也就是HN,HN与reddit programming有些类似,可以作为一个补充。
这几个来源更新非常快,基本上每天都可以看到上百条更新。我建议是不用每条都看,标题感兴趣的看一看,或者发现同时在几个源都出现的也可以看看。每天有个二三十分钟看完前面几个新闻来源,对于新技术动态或者各种技术八卦那就是了如指掌了。
如果你发现某个博客文章写得质量非常高,建议你可以订阅这个博客,一般来讲这样的博客质量都是水准以上的。我大部分的技术博客都是这么搜集来的。
另外现在博客上基本都有twitter地址,也可以follow这些技术牛人的twitter,由于推特的局限,相比博客的学习价值要更低一些,但是交流的时效性比较高。
邮件列表讨论也是一种很不错的讨论方式(相比论坛而言),比如python-cn,toplanguage都是很好的中文技术类邮件讨论组。
关于广博篇,本来还想展开一些,写写如何解决问题,但是这些内容在以前的博客中都有涉及。建议大家阅读以下内容:
Windows桌面开发者的必备软件关于编程的一些想法 http://sunxiunan.com/?p=1073 计算机编程新人入行指导 http://sunxiunan.com/?p=961 计算机编程新人入行指导番外篇 http://sunxiunan.com/?p=969 技术笔记一月二十二日 http://sunxiunan.com/?p=928(2009年年初这篇博客最后我写到:c、python、web开发、iphone开发,是我在2009年比较感兴趣的技术,另外,有空学学外语也很必 要,感觉自己这两年有些吃老本,是该充充电了。两年以后我看好的Python和iPhone现在都是火到不行,但我都没有真正学好投入进去,典型的眼高手 低)
第四篇:SAS 高级程序员 考试大纲和考试经验精华(总结)
SAS Certified Advanced Programmer for SAS 9 Credential
一、考试大纲:需掌握如下内容 using advanced DATA step programming statements and efficiency techniques to solve complex problems.(25% 程序优化&提高效率=Optimization and efficiency)writing and interpreting SAS SQL code.(45%)creating and using the SAS MACRO facility.(30%)Required Exam 60-65 multiple-choice and short-answer questions(must achieve score of 65% correct to pass).Use exam IDA00-212;required when registering with Pearson VUE.Exam topics include: Accessing Data Using SQL
Generate detailand summaryreports by working with a single table, joining tables, or using set operators in the SQL procedure.Construct sub-queries and in-line views within(构造子查询和内联视图)an SQL procedure step.Compare solving a problem using the SQL procedure versus using traditional SAS programming techniques.Access Dictionary Tables using the SQL procedure.Macro Processing Create and use user-defined and automatic macro variables within the SAS Macro Language.Automate programs by defining and calling macros using the SAS Macro Language.Understand the use of macro functions.Use various system options that are available for macro debugging(用于宏调试)and displaying values of user-defined and automatic macro variables in the SAS log.Create data-driven programs using SAS Macro Language.Advanced Programming Techniques Demonstrate the use of advanced data look-up techniques such as array processing, hash objects(散列对象), formats, and combining/merging data.Reduce computing resource requirements by controlling the space required to store SAS data sets using compression techniques, length statements, or eliminating variables and observations.Reduce programming time by developing reusable SAS programs which incorporate data step views, DATA steps that write SAS programs, and the FCMP procedure.Perform effective benchmarking by using the appropriate SAS System options and interpreting the resulting resource utilization statistics.Identify appropriate applications for using indexes(识别索引)and create them using the DATA step, the DATASETS procedure, or the SQL procedure.Compare techniques to eliminate duplicate data(消除重复数据)using the DATA step, the SORT procedure, and the SQL procedure.二、考试经验总结和已考内容 1.复习要点和考试范围
高级的skills很有用,SQL,MACRO及一些programming utility(程序控制工具即,optimization(优化)& efficiency(效率))的技巧在实际应用中很有价值。
Advanced前三部分多看几遍,不断地编程,google很多定义(Adv总共是四部分,SQL &MACRO是重点)。
(1)MACRO:涵盖比较宽,掌握如何RESOLVE(解析)MACRO programming。(理解macro,考35%)
(2)SQL:Proc SQL内容基本都涵盖,比较基础,必须搞清每一个操作。(理解SQL,考45%)
(3)其他ADVANCED 提高EFFICIENCY 的TECHNIQUES 居多。另外,ADVANCED中Proc dataset也有少量考题(考25%)
个人体会:高级没有捷径,多看、多练、多用。要以看书为主,若能把Pro guide advance & SAS OnlineTutor 9.1 Advanced Programming看一遍,再把考题融会贯通,可以考高分。好好复习e-learning的advanced的library可以涵盖90%的内容。
2.重点题库
强烈推荐50道模拟题和Item 1 of 63 Mark item for review(没有答案),其已囊括75%的题目。一共有63个问题,与新旧130题相比,题型变化较大,一些细节上的东西较多。我复习一个月,把Pre guide Advance 看了一遍,所有的能找到的考题基本上记住答案(包括130 及新130题,50题,Pass4 sure)。
(1)where和if的变量操作空间:where还是if是在input buffer(输入缓存器)或者PDV(Logical Program Data Vector, 程序数据向量是PC内存的一个临时逻辑区,包含有整个程序的翻译和执行阶段)之间操作,作用域及在optimization & efficiency的不同(4道题);
(2)SQL 过程查看,字典lib, 并弄清Dictionary.table里面变量的名称和对应关系;(3)SQL query with sub-query and grouping(SQL查询和sub-查询);(4)SQLset operator(运算符join in等)主要是Proc SQL和data set比较,比如full joint, left joint集合运算结果及其与merge比较,这个会考的非常细致;(5)merging data, SAS Data Step和等同的SQL query(有5道题有关);
(6)MACRO变量创建和使用,很熟悉LOCAL和GLOBAL的MACRO VARIABLE及和data之间的交换。多考最后MACRO给出的是什么值;并掌握系统automatic macro variables(比如&sysdate9)也考了2~3道题;
(7)MACRO:multiple ampersand解析(多个算符),对ampersand &要熟悉如:indirect(间接)情况;(8)Mask(隐藏)特殊字符;
(9)SQL中view,index,sort建立和使用efficiency techniques。Index(索引)优化,使用的condition及create的不同方式;sorted by 在 data a(sorted by= var)里的作用;还有某些情况CPU, I/O, DISK SPACE如何降低使用;(10)Optimization and efficiency部分大约9道题。
1)buffer的掌握:buffer number:①在data a(bufsize=2222 bufno=6)里buffsize size是 bytes还是 kilobytes,在output还是 input里?bufno是number of buffer在output里?② data one(bufno=6);set two(bufno=6);其中bufno作用? ③ BUFSIZE=、BUFNO=、BUFSIZE*BUFNO。They are in the Optimization and efficiency part,其中bufno的作用?
2)compress=yes和数据变量以及字符变量联系起来复习,以及如何压缩的?
reuse=yes在 compress里什么作用?
3)hash object好处(可快速得到key对应的内存地址直接取数,不用扫描整个表,效率更高),和Key values(关键码值)有关的知识一起复习,以及执行完后保存与否?array的相关知识?
4)SELECT in data step和IF-THEN/ELSE在efficiency 上的不同?
5)Advance中data step和proc dataset应用(以为PROC DATASETS会考多点,1~2道题有关)
(11)SASFILE 的作用?
第五篇:2014年事业单位招考指南:考试大纲
辽宁事业单位微信:lnsydw
一、考试科目和试卷结构
(一)《基本素质测验》
主要测查考生的基本素质、对基本知识的了解和掌握程度及综合运用的能力。
《基本素质测验》均为客观性试题,考试题型包含单选题、多选题。考试时限90分钟,满分100分。
(二)《综合应用能力》
主要测查考生的阅读理解能力、综合分析能力、提出和解决问题能力及文字表达能力,对基本公文写作知识的熟悉程度。
《综合应用能力》均为主观性试题,考试题型包含案例分析题、文书写作题和材料作文题。考试时限120分钟,满分100分。
二、作答要求
(一)《基本素质测验》
应试者务必携带的考试文具包括黑色字迹的钢笔、签字笔或圆珠笔、2B铅笔和橡皮。
应试者必须用黑色字迹的钢笔、签字笔或圆珠笔在答题卡指定位置上填写本人姓名和准考证号,用2B铅笔在指定位置上填涂准考证号、科目代码和在答题卡指定位置上作答。作答在试题本上或其他位置的一律无效。
(二)《综合应用能力》
应试者务必携带的考试文具包括黑色字迹的钢笔、签字笔或圆珠笔、2B铅笔和橡皮。
应试者必须用黑色字迹的钢笔、签字笔或圆珠笔在答题卡指定位置上填写本人姓名和准考证号,用2B铅笔在指定位置上填涂准考证号,用黑色字迹的钢笔、签字笔或圆珠笔在答题卡指定位置上作答,在非指定位置作答或用铅笔作答的一律无效。
三、考试内容
(一)《基本素质测验》
数理能力部分:本部分均为单项选择题,每小题给出的4个选项中,只有一个选项符合题意,不选、多选或错选,均不得分。考查内容包括数字推理、数学应用、资料分析。
辽宁事业单位微信:lnsydw
数字推理:每道试题提供一组数字,其中缺少一项,要求应试者仔细观察给出数字的排列规律,找出最符合题意的答案。
例题:17 , 19 , ________, 29 , 31 , 37
A、21 B、23
C、25 D、27
解答:正确答案应选B。
数学应用:每道试题给出表述数字关系的一段材料,要求应试者迅速、准确地找出最符合题意的答案。
例题:有一个数列有无穷多个数字组成,它的前几个数字为:1,1/2,1/4,1/8,1/16,如果把它的所有项都相加,你认为结果会________。
A、是31/16 B、小于2,或者等于2
C、大于2 D、不能计算
解答:正确答案应选B。
资料分析:给出一段资料,要求应试者通过资料所提供的信息进行分析、比较、计算,找出最符合题意的答案。
例题:根据下面文字资料,回答①~②题:
截至2000年年中,中国电脑拥有量排世界第8位,美国1.641亿台,居第一位,占世界电脑总拥有量的28.32%,平均每两个美国人有一台电脑;中国电脑拥有量为1590万台,平均每万人有88台电脑;而美国平均每万人拥有近5000台电脑。据调查数据显示,1995年底中美网民绝对数量相差592万人,2000年中相差1.27亿人。据相关计算,1985年中国的信息化指数为37.88,2000年为145.3,而美国1965年为242.9,1977年为1006.9。
①美国电脑保有量是中国的约________倍。
A、23 B、55
C、9 D、10
②以下说法正确的是________。
辽宁事业单位微信:lnsydw
A、中美之间的数字鸿沟正越来越大
B、中国的信息化程度仅仅处于美国70年代初的水平
C、中美信息化程度差距在50年左右
D、以上说法都不正确
解答:正确答案应分别选D、A。
言语理解与表达能力部分:本部分均为单项选择题,每小题给出的4个选项中,只有一个选项符合题意,不选、多选或错选,均不得分。考查内容包括选词填空、语句表达和阅读理解。
选词填空:给出一个句子或一段话,要求应试者从所给的词语中选出能够使句子的意思表达得最准确的词语。
例题:大多顾客对这种抗衰老生物制剂的________作用表示满意。
A、奇绝 B、奇特
C、奇怪 D、奇巧
解答:正确答案应选B。
语句表达:给出几个句子,要求应试者找出最符合题意的语句。
例题:我们并不认为他的申诉不是不无道理的。我们究竟认为他的建议有没有道理?
A、有道理 B、没有道理
C、既有道理又没有道理 D、是否有道理并没有多大关系
解答:正确答案应选A。
阅读理解:给出一个语段或一篇短文,要求应试者通过仔细阅读分析,找出与题意最相符合的选项。
例题:理论是灰色的,而生命之树常青。理论来源于丰富而生动的社会生活,来源于人民群众的伟大实践。所以,新的理论实践者,必须________。
辽宁事业单位微信:lnsydw
A、使生命之树常青 B、投入生活实践
C、改变理论的颜色 D、铭记自己是人民群众的一份子
解答:正确答案应选B。
判断推理能力部分:本部分均为单项选择题,每小题给出的4个选项中,只有一个选项符合题意,不选、多选或错选,均不得分。考查内容包括程序推理、图形推理、分析推理。
程序推理:考查考生对事件排列先后和逻辑顺序以及事物构造程序的整体把握能力。每道题给出5个事件,每个事件是以简短语句表述的,接着给出表示事件的4种假定发生顺序的数字序列,要求选择其中最合乎逻辑的一种排列顺序。
例题:(1)提出假设;(2)发现问题;(3)考察验证;(4)制定方案;(5)得出结论
A、1—2—3—4—5 B、1—2—4—3—5
C、2—1—3—4—5 D、2—1—4—3—5
解答:正确答案应选D。
图形推理:每题给出一组图形,要求应试者仔细观察给出的图形,根据题意找出其中规律,找出最符合变化规律的答案。
例题:下题给出两套图形,左套中的三个图形在构成上,或变化上,具有某种特点或遵循某种规则。要求从下面四个选项中,选择一个取代右套中的“?”,使右套图形也具有与左套图形相同或相似的构成特点或变化规则。
显示图片请点击
解答:正确答案应选C。
分析推理:在每道题中给出一段陈述,假设这段陈述是正确的、不容置疑的。要求应试者根据这段陈述,选择一个正确答案。
例题:公安,顾名思义,是公共安全之意。于是,公安人员的职责是维护社会的公共安全。要维护社会的公共安全,公安人员要勇于同违法犯罪行为作斗争,要惩恶扬善,而最重要的是加强预防工作。
公安人员的下列________项活动最能体现以上这段话的意图。
辽宁事业单位微信:lnsydw
A、及时对违法人员绳之以法
B、通过各种途径加强对公共安全宣传,使人们树立公共安全意识
C、对违法人员进行教育改造
D、制定更完备的法律,规范人们的行为
解答:正确答案应选B。
常识应用能力部分:本部分考试题型包括单项选择题和多项选择题。主要考查应试者的知识面及必须具备的基本常识,考查内容包括时事政治、法律概论、公共行政和行政实务等。
时事政治:马克思主义哲学、邓小平理论、科学发展观与构建社会主义和谐社会、社会主义市场经济体系与“十一五”规划、十七大报告的基本内容等政治理论知识,上海基本市情与世博会相关知识。近一年来的重大时事、重大会议、政治事件的主要内容等。
法律概论:法律一般原理、宪法、行政法、民法、经济法和诉讼法的基本内容。
公共行政:公共行政概述、公共政策、行政伦理、行政监督、行政方法和行政效能的基础内容。
行政实务:行政调研和信息工作、行政公文的基础知识、行政公文的处理和行政礼仪的主要内容。
本部分内容可参考时事政治材料和《公共基础知识指南》。
(二)《综合应用能力》
案例分析题
提供较为典型的案例材料,要求分析案例中所给出的事实,回答案例思考所提出的问题,内容包括时事政治、法律基础、公共行政等。
文书写作题
根据给定材料按常用公文格式的要求拟写公文,或对题目给出公文进行改错,使之符合常用公文格式。
材料作文题
辽宁事业单位微信:lnsydw
根据给出的材料和答题要求,写一篇文章。要求应试者充分利用给定的材料,切中主要问题,全面阐明、论证自己的见解,对材料中涉及的问题提出切实可行的对策方案。作文的答题要求联系实际、观点鲜明、措施合理、条理清楚、语言简练流畅。s