⑴ 中级程序员职称需要考什么啊
◇中级程序员考试大纲◇
一、考试说明
1. 考试要求:
(1) 掌握数制、数据信息机内表示及其算术运算和逻辑运算的基础知识;
(2) 了解计算机的体系结构和主要部件的基础知识;
(3) 熟练掌握基本算法和数据结构,用C语言编制程序;
(4) 掌握数据结构、程序语言和操作系统的基础知识;
(5) 了解软件工程、数据库、多媒体和网络的基础知识;
(6) 正确阅读和理解计算机领域的简单英文资料。
2. 通过本考试的合格人员能按照软件设计说明书编制程序,具有相当于助理工程师的实际工作能力和业务水平。
3. 本考试设置的科目包括:计算机基础知识,考试时间为150分钟;计算机程序设计,考试时间为150分钟。
二、考试范围
(一)计算机基础知识
1.1软件基础知识
1.1.1数据结构基础
数组、记录、列表、队列、践、堆、树和二叉树的定义、存储和操作
1.1.2程序语言和语言处理程序的基础知识和基本原理
汇编、编译、解释系统的基础知识及基本原理
程序语言的基本成分:数据、运算什么控制和传输
结构化程序设计方法
1.1.3操作系统基础知识及基本原理
操作系统的类型和功能
操作系统的层资结构和进程概念
作业、处理贾、存储、文件和设备等管理的基础知识及基本原理
1.1.4软件工程基础知识
软件生命周期各阶段的任务
结构化分析和设计方法
面向对象基本概念
软件测试方法
软件开发工具与环境基础知识
1.1.5数据库基础知识
数据库模型
数据库系统的结构
SQL使用初步
常用数据库管理系统的知识
1.1.6多媒体基础知识
多媒体基本概念
简单图形的绘制
常见图像文件格式
音频和视频信息的基本概念
1.2硬件基础知识
1.2.1数制及其转换
二进制、十进制和十六进制等常用数制及其相互转换
1.2.2机内代码
原码、补码、反码、移码
定点数与浮点数的机内表示
ASCII码及汉字编码等常用的编码
奇偶校验码、海明码、循环冗余码(CRC)等常用校验方法
1.2.3算术运算和逻辑运算
计算机中的二进制数运算方法
逻辑代数的基本运算和逻辑表达式的化简
1.2.4 计算机的体系结构和主要部件
中央处理器(CPU)、存储器和输入输出设备
总线结构、指领流和数据流
1.2.5 指令系统
常用的寻址方式
指令的格式、分类及功能
指令的执行过程
1.3 网络基础知识
1.3.1 网络的功能、分类及组成
1.3.2 基本的网络协议与标准
1.3.3 常用网络设备与网络通信初步
1.3.4 网络安全性初步
1.3.5 Client-Server结构
1.3.6 Internet和Intranet初步
1.4 计算机专业英语
掌握计算机技术的基本词汇
能正确阅读和理解计算机领域的简单英文资料
(二)计算机程序设计
2.1 按照软件设计说明书,能熟练使用下列程序语言编制程序,C(美国标准)
2.2 理解给定的程序功能,能发现程序中的错误并加以纠正
2.3 具有良好的程序编制风格
2.4 基本算法
2.4.1 查找、更新、排序、合并及字符处理
2.4.2 迭代、插值、数值积分、矩阵计算、方程求解和搜索求解
2.5程序编制方法
2.5.1 分支、循环 、子程序(过程和函数)、递归
2.5.2 输入输出和文件的处理
2.5.3 结构化程序设计方法
-------------------------------------------------
关于2001年计算机软件专业技术资格和水平考试有关问题的通知
各区、县人事局,市属各委、办、局、总公司,各高等院校、人民团体人事(干部)部门:
根据人事部办公厅《关于下半年各资格考试有关问题的通知》(人办发[2001]12号)的精神以及信息产业部有关规定,结合本市具体情况,现将2001年度计算机软件专业技术资格和水平考试的有关问题通知如下:
一、报考条件
1、遵纪守法,工作努力,尽职尽责。
2、参加资格考试还须符合下列条件:
⑴有志从事计算机软件工作的在职人员,不论学历、资历,均可报考初级程序员资格考试。
⑵大学本科毕业的在职人员或担任软件技术员职务两年以上(含两年)的在职人员可以报考程序员资格考试。
⑶研究生毕业的在职人员或担任软件助理工程师职务两年以上(含两年)的在职人员可以报考高级程序员资格考试。
3、参加各级水平考试,不限学历和资历条件。对水平考试合格人员将颁发水平证书,不再颁发资格证书。
二、从2001年开始,计算机软件专业技术水平考试增加网络程序员(初级)、网络设计师(中级)两个级别的考试。
三、考试时间及科目
考试日期 级 别 考试时间 考试科目
2001年10月14日 初级程序员(资格、水平) 9∶00-11∶00 基础知识
14:00-16:00 编程能力
程序员(资格、水平) 9∶00-11∶30 基础知识
14:00-16:30 编程能力
高级程序员(资格、水平) 9∶00-11∶30 基础知识
14:00-16:30 程序设计能力
系统分析员(水平) 9∶00-11∶30 基础理论
13:30-15:00 系统分析设计
15∶20-17∶20 论文
网络程序员(水平) 9∶00-11∶00 网络基础知识
14:00-16:00 网络程序设计
网络设计师(水平) 9∶00-11∶30 综合网络基础
14:00-16:30 网络设计与管理
四、报名办法
1、报名参加计算机专业技术资格考试人员需填写考试申请表,经本人所在单位人事(干部)部门审核同意盖章后,持本人毕业证书(原件)、职称(资格)证书(原件)、本人身份证、本人近期同一底版一寸照片两张(申请表上的一张除外),到指定的计算机专业技术资格考试报名点报名(报名点情况附后)。
2、报考计算机专业技术水平考试人员需填写考试申请表,持本人近期同一底版一寸照片两张(申请表上的一张除外)在三处指定报名点任选一处报名(报名点情况附后)。
3、考试大纲、辅导教材可在报名的同时,在报名点统一征订。考前辅导事宜可与考试指定报名点联系。
五、报名时间:2001年7月9日-7月13日
六、报名地点:
1、资格考试报名地点:
机械局职工大学(海淀区翠微路4号,电话:68254605)
2、水平考试报名地点:
联大应用文理学院(海淀区北土城西路197号,电话:62021694)
首都经贸大学(朝外红庙,电话:65976366)
清华大学继续教育学院(清华园内,电话:62773505)
-------------------------------------------------------
不知道你目前所在的地址,所以贴上的时间仅供参考。
⑵ 中级程序员考什么
今年我报了名,是5月20日考试。
今年更改了名称,取消了中级程序员。是这样的:
初级资格:程序员 (原初级程序员)
中级资格:程序设计师,评测师(原高级程序员)
高级资格:系统分析师
考试内容:
程序员:
1)掌握数据及其转换、数据的机内表示、算术和逻辑运算,以及相关的应用数学基础知识;
(2)理解计算机的组成以及各主要部件的性能指标;
(3)掌握操作系统、程序设计语言的基础知识;
(4)熟练掌握计算机常用办公软件的基本操作方法;
(5)熟练掌握基本数据结构和常用算法;
(6)熟练掌握C程序设计语言,以及C++、java、Visual Basic中的一种程序设计语言;
(7)熟悉数据库、网络和多媒体的基础知识;
(8)掌握软件工程的基础知识,了解软件过程基本知识、软件开发项目管理的常识;
(9)了解常用信息技术标准、安全性,以及有关法律、法规的基本知识;
(10)了解信息化、计算机应用的基础知识;
(11)正确阅读和理解计算机领域的简单英文资料。
程序设计师考试要求:
(1)掌握数据表示、算术和逻辑运算;
(2)掌握相关的应用数学、离散数学的基础知识;
(3)掌握计算机体系结构以及各主要部件的性能和基本工作原理;
(4)掌握操作系统、程序设计语言的基础知识,了解编译程序的基本知识;
(5)熟练掌握常用数据结构和常用算法;
(6)熟悉数据库、网络和多媒体的基础知识;
(7)掌握C程序设计语言,以及C++、Java、Visual Basic、Visual C++其中一种程序设计语言;
(8)熟悉软件工程、软件过程改进和软件开发项目管理的基础知识;
(9)熟练掌握软件设计的方法和技术;
(10)掌握常用信息技术标准、安全性,以及有关法律、法规的基本知识;
(11)了解信息化、计算机应用的基础知识;
(12)正确阅读和理解计算机领域的英文资料。
如果你以后专攻C++的话,把C的基础打好就可以了,不用学的那么精通,但一定要打好基础。
⑶ 中级程序员的标准到底是什么
中级程序员和初级程序员最大的区别在于:工作经验,有没有真正的项目实战经验。一般来说,程序员都会最基本的删减,而对于真正的项目就不会接触太多,所以有的程序员就停留在初级,不了解项目到底该怎么做,只有你做了几个项目经验的时候,才能说自己步入了中级程序员的标准!
⑷ 为什么会有这么多调侃“程序员”这一职业的段子呢
因为网络都是程序员搞出来的,所以程序员是最早接触网络的人群,在自家的后花园里开点小玩笑,挨着你了。
⑸ 程序员怎样才能达到编程的最高境界(送给喜欢写代码的朋友)
我认为,一个程序员的成长可分为如下六个阶段。
Ø 第一阶段
此阶段主要是能熟练地使用某种语言。这就相当于练武中的套路和架式这些表面的东西。
Ø 第二阶段
此阶段能精通基于某种平台的接口(例如我们现在常用的Win 32的API函数)以及所对应语言的自身的库函数。到达这个阶段后,也就相当于可以进行真实散打对练了,可以真正地在实践中做些应用。
Ø 第三阶段
此阶段能深入地了解某个平台系统的底层,已经具有了初级的内功的能力,也就是手中有剑,心中无剑。
Ø 第四阶级
此阶段能直接在平台上进行比较深层次的开发。基本上,能达到这个层次就可以说是进入了高层次。这时进入了高级内功的修炼。比如能进行VxD或操作系统的内核的修改。
Ø 第五阶级
此阶段就已经不再局限于简单的技术上的问题了,而是能从全局上把握和设计一个比较大的系统体系结构,从内核到外层界面。可以说是手中无剑,心中有剑。到了这个阶段以后,能对市面上的任何软件进行剖析,并能按自己的要求进行设计,就算是MS Word这样的大型软件,只要有充足的时间,也一定会设计出来。
Ø 第六阶级
每一个阶段再向上发展时都要按一定的方法。第一、第二个阶段通过自学就可以完成,只要多用心去研究,耐心地去学习。
要想从第二个阶段过渡到第三个阶段,就要有一个好的学习环境。例如有一个高手带领或公司里有一个好的练手环境。经过二、三年的积累就能达到第三个阶段。但是,有些人到达第三个阶段后,常常就很难有境界上的突破了。他们这时会产生一种观念,认为软件无非如此,认为自己已无所不能。其实,这时如果遇到大的或难些的软件,他们往往还是无从下手。
现在我们国家大部分程序员都是在第二、三级之间。他们大多都是通过自学成才的,不过这样的程序员一般在软件公司也能独当一面,完成一些软件的模块。
但是,也还有一大堆处在第一阶段的程序员,他们一般就能玩玩VB,做程序时,去找一堆控件集成一个软件。
现在一种流行的说法是,中国软件人才现在是一个橄榄型的人才结构,有大量的中等水平的程序员,而初级和高级程序员比较少。而我认为,现在中国绝大多数都是初级的程序员,中级程序员很少,高级的就更少了。所以,现在的人才结构是方塔形,这是一种断层的不良结构。而真正成熟的软件人才结构应该是平滑的三角形结构。这样,初级、中级、高级程序员才能充分地各施所长。
⑹ 如何从初级程序员过渡到中高级程序员
在程序员圈,一直流传着这样一个传说,用发量来判断程序员的级别,这明显是种调侃。那么,中级程序员,相对于初级程序员,有哪些不一样的特质呢?
总得来说,比较于初级而言,中级程序员在执行层面属于攻坚力量,他们不仅能独立完成高档难度的开发使命,并且在用户体验(质量提高)和功能优化(优化效率)都能作更全面的考量。
以下,是小编总结的关于中级程序员七大特点,各位可以对号入座。
(一)善于沟通
程序员内向的居多,喜欢交流的很少,但中级程序员往往能够克服自己的内新的恐惧心理,多和同事交流。
甚至有管理者认为,程序员应该80%的时间,花在同事的交流上。不仅是部门内的同事,也还包括跨部门沟通,敲代码的需要经常与产品经理、运营的同事沟通需求。
日本不少跨国公司,甚至有让程序员去体验几个月销售员的传统。公司要求,程序员在敲代码的同时,也要能够理解一线用户的需求。
交流对于初级程序员了解技术的发展,也相当有好处:读读博客、学学新语言和框架、讨论讨论话题、看看同行在做什么。自扫门前雪,很难成为一个优秀的程序员。闭门造车型的程序员终将被时代的潮流所淘汰。
(二)对编程有激情
有些程序员干这一行只是为了挣钱,如果有更好的职业,他们会毫不犹豫的辞掉程序员的工作。
能够顺利晋升为中级程序员的人,往往热爱编程,喜欢钻研代码中的问题,他们感到能指挥电脑来帮助人们和自己解决现实生活中的问题是一种神奇的能力。当遇到问题无法解决时,他们会茶不思、饭不想,无法入睡。
每个人都有心理上的舒适区,但是中级程序员,会不断地突破自己心理上的舒适区。
他们很乐于经常去研究没有接触过的代码,也正因为这样,成长速度快的中级程序员会越来越熟悉不同的代码结构和设计模式。
(三)精通代码调试
几乎所有的程序员写代码都不是一遍就能写好的。精通代码调试 ( debug )很多人在写代码的过程中,经常会有的一个问题就是:为什么我写出来的代码不能运行?为什么运行的结果不是我想要的?
中级程序员非常快的就明白自己代码的问题可能是什么。代码调试是一个很重要的能力,但是偏偏学校里不教,面试的时候考官也不经常提及。那么怎么去调试代码呢?
代码调试是有一套方法论的。最简单的就是在代码里输出日志来判断,复杂一点则需要去接触一些高级的工具,或者直接带有 Debug 功能的编辑器。
(四)主人翁精神
部分初级程序员刚入行,可能还没有进入状态,往往认为自己是打工者,以打工者的身份和心态工作。
中级程序员却会把自己当成企业的主人,他们知道企业的利益和自己休戚相关。
成熟的程序员明白一点,作为一名优秀的企业员工,自己是生产者而非消费者。他们心中一直想得是自己能够为公司,为顾客创造什么价值,而不仅仅只想着待遇。
(五)工具型思维
中级程序员知道如何能更高效的完成任务,如何更能有效的解决问题。其原因是工具型思维,如同荀子所言,“君子生非异也,善假于物也。”
Facebook 前技术总监 Bobby Johnson 说,高效率的程序员都把时间花在制作工具上。很多人也认为工具是很重要的,但是他们并没有花时间去制作、整合自己的工具。但是,Jonson 团队最出色的员工耗费了他们 1/3 的时间在工具制作上,这些工具可以用来发布代码,监控系统,以及能让他们花更少的时间去做更多事情。
中级程序员遇到问题时,不钻牛角尖,善于利用外部工具解决自己的问题,特别是能熟练应用搜索引擎。
(六)刻意练习迭代速度
魔鬼在细节上,如果一个程序员想要提高自己的工作效率,就需要他能够不断地在细节方面,进行微创新,提高效率。
举一个例子,假设一个初级程序员,每次要花 12 秒钟去搜索某个函数是在哪里定义的。如果,他每天做这个动作 60 次,就要花 12 分钟去搜索函数定义。
中级程序员会选择用一个好一点的编辑器,每次找到函数定义只要 2 秒钟,那么他每天将节约 10 分钟,每年节约 40 个小时。如果能够找到 3 个这样的场景去优化一下,那么对于中级程序员来说,每年可以节约一个月的时间。
(七)系统学习
学习是要有方法的,尤其是在职场中,程序员的自我学习要符合两点要求:一是有结果;二是高效。因此,系统性学习,非常重要。
高级程序员系统学习指南如下:
第一步,源码分析。看看大牛是如何写代码的,提升技术审美,提升核心竞争力。
第二步,工程化。工欲善其事必先利其器,不管是小白,还是资深开发,都需要先选择好的工具,提升开发效率和团队协作效率,让自己有更多的时间来思考。
第三步,分布式。从深度到广度的完善自己的知识体系,准备迎接高并发大数据的挑战
第四步,微服务。绕微服务的通用模式,学习spring Cloud的常见用法及原理,让微服务的开发更加方便 快捷,让微服务应用更加稳定 可用。
第五步,性能优化。从JVM底层原理到内存优化 再到各个中间件的性能调优,做最科学和最严谨的性能调优。
第六步,并发编程。深入了解底层原理,不只是做一个开发者。
第七步,积极参加大牛的分享。
(八)总结
可以理解,对于初入职场的程序员来说,他们在内心也知道学习的重要性,但因为没有时间,被老板的需求给填满,没有精力去提升自我。
然而,根据人类的学习曲线来说,任何一门新的技艺,都是一条对数曲线。其分为两个阶段:缓慢期和高速发展期,即初期很慢,后期进展迅速。
如果,能够让程序员在刚进入职场的时候,便摆脱初级程序员的桎梏,直接拥有中级程序员的实力,是不是就能跨越学习曲线的缓慢期呢。
知名IT教育机构传智播客已开通了中级程序员课程,发布了全新的项目,想学习的小伙伴抓紧
⑺ 【程序员段子】c语言看不起c++,c++看不起Java,Java看不起c#,c#看不起美工,
有这个一方面。
不过 更多的是这些语言的产生顺序。
C++的产生是基于C的, java借鉴了很多C++的, C#借鉴的java和C++。
于是在产生之初,比如C++借鉴C而生。 此时的C工程师大多比C++资历老,水平高, 而初始的语言各方面还不成熟,自然被鄙视。
其他链节也是如此。
虽然到现在, java已经反超,应用范围还是成熟度都不弱于任何其他语言了, 但鄙视链条已经形成, 也没人去改它了(除了被鄙视的 哈哈)
至于美工, 这个是编程人员对所有非编程人员的鄙视,美工,运营, 项目管理,测试,甚至产品经理都在此列。
⑻ 【程序员段子】c语言看不起c++,c++看不起Java,Java看不起c#,c#看不起美工,
有这个一方面。
不过
更多的是这些语言的产生顺序。
C++的产生是基于C的,
java借鉴了很多C++的,
C#借鉴的java和C++。
于是在产生之初,比如C++借鉴C而生。
此时的C工程师大多比C++资历老,水平高,
而初始的语言各方面还不成熟,自然被鄙视。
其他链节也是如此。
虽然到现在,
java已经反超,应用范围还是成熟度都不弱于任何其他语言了,
但鄙视链条已经形成,
也没人去改它了(除了被鄙视的
哈哈)
至于美工,
这个是编程人员对所有非编程人员的鄙视,美工,运营,
项目管理,测试,甚至产品经理都在此列。