❶ 程序员考试的基本技能啊(顺便推荐本书来看啊)
程序员考试内容纲要
考试科目1:计算机硬件基础知识
1. 计算机科学基础
1.1数制及其转换
二进制、十进制和十六进制等常用数制及其相互转换
1.2数据的表示
数的表示(原码、反码、补码表示,整数和实数的机内表示方法,精度和溢出)
校验方法和校验码(奇偶校验码、海明校验码)
1.3算术运算和逻辑运算
计算机中二进制数的运算方法
逻辑代数的基本运算和逻辑表达式的化简
1.5常用数据结构
数组(表态数组、动态数组)、线性表、链表(单向链表、双向链表、循环链表)、队列、栈、树(二叉树、查找树)、图的定义、存储和操作
1.6 常用算法
算法与数据结构的关系,算法效率,算法设计,算法描述(流程图、伪代码、决策表)
2. 计算机系统基础知识
2.1计算机基础知识
2.1.1计算机系统的组成,硬件系统、软件系统及层次结构
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)
2.4 数据库基础知识
数据模型,ER图
数据操作(关系运算)
数据库语言(SQL)
2.5 多媒体基础知识
多媒体基础概念,常用多媒体设备性能特征,常用多媒体文件格式类型
3.软件开发和运行维护基础知识
3.2 软件需求分析、需求定义及软件基础知识
结构化分析概念(数据流图(DFD)、实体关系图(ER))
面向对象设计、结构化设计基础知识
模拟设计、代码设计、人机界面设计要点
3.3 程序设计基础知识
结构设计程序设计,程序流程图,NS图,PAD图
程序设计风格
面向对象设计基础知识、可视化程序设计基础知识
3.4 程序测试基础知识
黑盒测试、白盒测试、灰盒测试基础知识
4. 安全性基础知识
安全性基本概念
加密与解密基础知识
5. 标准化基础知识
标准化基本概念
6. 信息化基本知识
有关的法律、法规要点
7. 计算机专业英语
考试科目2:程序设计
1. 内部设计
1.1 理解外部设计
1.3 物理数据设计
确定数据组织方式、存储介质,设计记录格式和处理方式
2. 程序设计
2.1 模拟划分(原则、方法、标准)
3. 程序实现
3.1 编程
编程方法和标准
程序设计语言的使用
4.程序设计语言(C语言为必选,其他语言可以任选一种)
4.1 C程序设计语言(ANSI C标准)
程序结构,语法,数据类型说明,可执行语句,函数调用,标准库函数,指针
4.2 C++程序设计语言(ANSI C++标准)
C++和面向对象程序设计,语法和程序结构,类、成员、构造函数、析构函数、模板、继承、多态
4.3 java程序设计(Java 2)
语言机制(程序结构和语法,类、成员、构造函数、析构函数、继承、接口)
4.4 Visual Basic程序设计(Visual Basic 6.0)
用户界面设计
程序结构和语法
你再去看看这个网:http://www.examda.com/soft/moniti/pro
❷ 程序员所需要的技能
告诉你一个很好的方法,直接去招聘网站(比如智联,51Job...),搜搜程序员的职位,看看里面的要求,这个是最准确的,至于证书嘛,个人看来基本没什么用,因为你进的是软件公司,人家要你是来做事的,一面试就知道你水有多深了,那证书能证明什么啊。
❸ 程序员要具备什么技能
一名合格的程序员需要掌握哪些技能呢?
熟练掌握开发工具
做为一名程序员至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其中C/C++和JAVA是重点推荐的开发工具,C/C++以其高效率和高度的灵活性成为开发工具中的利器,很多系统级的软件还是用C/C编写。而JAVA的跨平台和与WEB很好的结合是JAVA的优势所在,而JAVA即其相关的技术集JAVA One很可能会成为未来的主流开发工具之一。其次,能掌握一种简便的可视化开发工具,如VB,PowerBuilder,Delphi,C Builder,则更好,这些开发工具减小了开发难度,并能够强化程序员对象模型的概念。另外,需要掌握基本的脚本语言,如shell,perl等,至少能读懂这些脚本代码。
熟知数据库
为什么数据库是如此重要?作为程序员,他们自然有自己的理由:很多应用程序都是以数据库的数据为中心,而数据库的产品也有不少,其中关系型数据库仍是主流形式,所以程序员至少熟练掌握一两种数据库,对关系型数据库的关键元素要非常清楚,要熟练掌握SQL的基本语法。虽然很多数据库产品提供了可视化的数据库管理工具,但SQL是基础,是通用的数据库操作方法。如果没有机会接触商业数据库系统,可以使用免费的数据库产品是一个不错的选择,如mySQL, Postgres等。
对操作系统有一定的了解
当前主流的操作系统是Windows,Linux/Unix,熟练地使用这些操作系统是必须的,但只有这些还远远不够。要想成为一个真正的编程高手,需要深入了解操作系统,了解它的内存管理机制、进程/线程调度、信号、内核对象、系统调用、协议栈实现等。Linux作为开发源码的操作系统,是一个很好的学习平台,Linux几乎具备了所有现代操作系统的特征。虽然Windows系统的内核实现机制的资料较少,但通过互联网还是能获取不少资料。只有对操作系统有一定的了解后,你会发现自己上了一个新的台阶。
懂得网络协议TCP/IP
在互联网如此普及的今天,如果您还没有对互联网的支撑协议TCP/IP协议栈有很好的掌握,就需要迅速补上这一课,网络技术已改变了软件运行的模式,从最早的客户/服务器结构,到今天的WEB Services,再到未来的网格计算,这一切都离不开以TCP/IP协议栈为基础的网络协议支持,所以,深入掌握TCP/IP协议是非常必要的。至少,你需要了解ISO七层协议模型,IP/UDP/TCP/HTTP等常用协议的原理和三次握手机制。
明白DCOM/CORBA/XML/WEB Services存在的意义
随着技术的发展,软件与网络的无缝结合是必然趋势,软件系统的位置无关性是未来计算模式的重要特征之一,DCOM/CORBA是当前两大主流的分布计算的中间平台,DCOM是微软COM(组件对象模型)的扩展,而CORBA是OMG支持的规范。程序员需要做的不仅仅是利用商业的开发平台来开发软件,而是要理解这些技术的初衷,即为什么需要这项技术,如果你能理解了这一点,再回头看这些技术的具体实现,就如庖丁解牛,迎刃而解。XML/WebServices重要性不言而喻,XML以其结构化的表示方法和超强的表达能力被喻为互联网上的“世界语”,是分布计算的基石之一。
不要将软件工程与CMM分开
现代大型软件系统的开发中,工程化的开发控制取代个人英雄主义,成为软件系统成功的保证,一个编程高手并不一定是一个优秀的程序员,一个优秀的程序员是将出色的编程能力和开发技巧同严格的软件工程思想有机结合,编程只是软件生命周期中的其中一环,优秀的程序员应该掌握软件开发各个阶段的基本技能,如市场分析,可行性分析,需求分析,结构设计,详细设计,软件测试等。一句话可以概括我的看法:“创意无限,流程保证”。
拥有强烈的好奇心
什么才是一个程序员的终极武器呢,那就是强烈的好奇心和学习精神。没有比强烈的好奇心和学习精神更好的武器了,它是程序员们永攀高峰的源泉和动力所在。
❹ 程序员的必备技能
1.学无止境;
2.掌握多种语言;
3.理性面对不同的操作系统或技术;
4.别把自己框在单一的开发环境中;
5.使用版本管理工具管理你的代码;
6.是一个优秀的团队成员;
7.把你的工作变成文档;
8.注意备份和安全;
9.设计要足够灵活;
10.不要搬起石头砸自己的脚。
❺ Java程序员简历 IT技能怎么写
我记得chinahr上面是3列
技能名称 掌握程度 使用时间
C# 掌握 12个月
java 熟练 24个月
❻ 程序员需要掌握哪些IT技能
C,C++,C#,java等等,一般掌握几种就可以了。柠檬学院大数据,双11做活动啦。注册就能听课了。
❼ 程序员的职业技能除了敲代码还有哪些技能
无论什么样的行业,在工作的过程当中都必须要必备一些技能,只有这样才可以让自己的工作更加的顺利,同时也会让一定的用户程序研制一个工作更不例外。我们都知道作为一个程序员,主要的职业技能就是敲代码,那么除了会敲代码认识代码以外还有哪些技能呢?
还有最后一个就是应该懂得合作,作为一个程序员,和别人合作的机会相对来说比较多。而且大家还要学习如何和不同的人不同的人性一起工作,这也是非常关键的,有很多东西都可以促进良好的合作,所以大家必须要掌握,而且要清楚,孤掌难鸣。要知道一个人根本就没有办法做好所有的事情,所以一定要重视和他人合作。
❽ 程序员需要具备的基本技能,你都知道吗
下面是程序员所应该具备的基本职业技能:
基本技能 技能描述
阅读代码 这个技能需要程序员能够具备读懂已经存在的代码的能力,这样的能力可以让程序员分析程序的行为,了解程序,这样才能和开发团队一起工作,继承维护或是改进现有的程序。
编写程序 编写程序并不包括程序设计。不要以为编程是一件很简单的事情,很多程序员都认为编程只需要懂得程序语言的语法,并把设计实现就可以了。但是这离编写程序还远远不够,使用什么样的编码风格成为编写程序员最需要具备的基本技能。能否使用非常良好的编程风格直接决写了程序员的级别。
软件设计 这一能力直接决定了需要吏用什么样的代码技术达到怎么样的功能,而系统架构设计直接决定了软件的质量、性能和可维护性。并不是所有的程序在这一方面都非常优秀,但每个程序员都需要或多或少的明白和掌握这一基本技能。
熟悉软件工程 每个程序员都应该明白软件工程是什么东西,都应该知道,需求分析 设计,编码测试,Release和维护这几个阶段。当然,几乎所有的人都知道这些东西,但并不是每个人都很清楚这些东西。现在很多高级程序员都会混淆“需求规格说明书FS”和“概要设计HLD”。另外,程序员还需要知道一些软件开发的方法论,比如:敏捷开发或瀑布模型。
使用程序库或框架 一个程序员需要学会使用已有的代码,无论是标论的程序库,或是第三方的,还是自己公司内部的,都需要学会做。比如:C++中,需要学会使用STL,MFC,ATL,BOOST,ACE,CPPUNIT等等。使用这些东西,可以让你的工作事半功倍。
程序调试 程序调试是分析BUG和解决问题最直接的能力。没有人能够保证程序写出来不用调试就可以运行正常 也没有人可以保证程序永远不会出BUG。所以,熟练使用调试器是一个程序员需要具备的基本技能
使用IDE 学会使用IDE工具也会让你的工作事半功倍。比如,VC++,Emacs Eclipse等等,并要知道这些IDE的长处和短处。
使用版本控制 一定要学会使用版本控制工具,什么叫mainline/trunk,什么叫tag,什么叫branch,怎么做patch,怎么merge代码,怎么reverse,怎么利用版本控制工具维护不同版本的软件。这是程序员需要明的的软件配置管理中最重要的一块。
单元测试 单元测试是每个程序都需要做的。很多单元测试也是需要编码的。一定要学会在xUnit框架下进行单元测试。比如JUnit, NUnit, CppUnit等等。
重构代码 每个程序员都需要有最基本的能力去重构目前已有的代码,使代码达到最优但却不能影响任何的已有的功能。有一本书叫《软件的重构》 每个程序员都应该读一下
自动化编译 程序员需要使用一个脚本,其能自动化编程所有的工程和代码,这样整个开发团队可以不停地集成代码 自动化测试,自动化部署,以及使用一些工具进行静态代码分析或是自动化测试。
当然,还有很多的基本技术也是非常重要的,比如,与人的沟通能力,语言的表达能力,写作能力,团队协作能力,适应变化的能力,时间管理能力,多任务处理能力,自我学习能力,故障处理能力,等等,等等,这里只是列举了和技术相关的能力,这些是程序最最最基本的能力,只要是程序员就必需要有的能力。
❾ 程序员的必备技能有哪些
数组、字符串与哈希表
任何受过专业训练的程序员,对“数据结构”这门课程中涉及到的各种数据结构都不会陌生,但是在实际的编程工作中,大部分的数据结构都不会用到,而且也永远都不会用到。虽然如此,深入地理解基本数据结构的概念和实现细节,仍然是每个程序员的任务。这不仅仅是因为,掌握这些知识将有利于更加正确和灵活地应用它们,而且也是因为,对于语言背后的实现细节的求知欲是一个优秀程序员的素质。
正则表达式
在程序员日常工作中,数据处理占据了相当的比重。而所有的数据之中文本又占据了相当的比重。文本能够被人理解、具有良好的透明性,利于系统开发、测试和维护等就必需要有一定规律遵循一种规则,当你掌握一门正则表达式语言,就能够培养你编程的直觉本能,达到较高水平,也能够在实践中提供更高的开发和执行效率。
调试
软件调试是软件工程的一个重要部分,其过程出现在软件工程的各个阶段,从最初的可行性分析、原型验证、到开发和测试阶段、再到发布后的维护与支持,都有软件调试过程参与。学习和灵活运用软件调试技术,不仅可以提高程序员工作效率,而且有利于对代码的感知力和控制力,加深对软件和系统的理解。此外,调试技术是解决各种软件难题的一种有效武器,它直击要害、锐不可挡,相对其它间接方法具有明显的优势。软件有大美,调试见真功!
两门语言
任何一位职业化的软件技术人员都会将编程语言当成自己的利器。它们代表了开发人员对计算机本身的理解与对软件开发工作的执着。同时,建立在编程语言之上的基础也标志着程序员的职业化道路发展到了一个新的阶段,而单一语言又有一定的局限性,软件开发的本质就是处理信息以及数据。一种专门用来处理数据的脚本语言常常是走向更加职业化的必备武器之一。所以精通两种语言,对于任何一个开发人员来说,并非必须,但是对于一个专业化程度较高的开发人员来说,又常常是必要的。
一个开发环境
随着技术的进步,IDE已经越来越强大,远远超出我们心目中的最初形象,越来越多的内容被涵盖到IDE中,从需求分析、业务建摸大批软件发布,IDE已经逐渐覆盖了软件开发的整个生命周期。
SQL语言
说起SQL,绝大多数程序员对其作用都了然于胸--用来访问数据库嘛。确实,数据是信息系统的核心,没有数据的计算机应用没有任何意义。信息系统中,大量数据本质上就以实体--关系的模式存在,而RDBMS支持SQL这么简单但表达能力丰富的访问接口,同时还提供了内建的事务ACID特性保证和故障恢复能力--因此,RDBMS理所当然地成为了大部分信息系统的标准数据存储介质。于是,无论使用何种语言开发信息系统,从C、C++,Delphi到Java,从Perl、Python到Ruby,使用SQL访问RDBMS都是我们必须修炼的武功秘籍。
编写软件的思想
说起程序员的武器自然少不了技术书籍,它们就像是拳谱、剑经、虽然不能马上转化为巨大的伤害输出,但假以时日勤以研读,有朝一日成为傍身绝学也是说不定。不过虽然各类技术书籍汗牛充栋,除去入门时浅显易用的参考和复杂深奥的学术专着,能够让所有程序员常看常新的心法秘籍还是不多。