程序员考试内容纲要
考试科目1:计算机硬件基础知识。
1 计算机科学基础。
11数制及其转换。
二进制、十进制和十六进制等常用数制及其相互转换。
12数据的表示。
数的表示(原码、反码、补码表示,整数和实数的机内表示方法,精度和溢出)。
校验方法和校验码(奇偶校验码、海明校验码)。
13算术运算和逻辑运算。
计算机中二进制数的运算方法。
逻辑代数的基本运算和逻辑表达式的化简。
15常用数据结构。
数组(表态数组、动态数组)、线性表、链表(单向链表、双向链表、循环链表)、队列、栈、树(二叉树、查找树)、图的定义、存储和 *** 作
16 常用算法。
算法与数据结构的关系,算法效率,算法设计,算法描述(流程图、伪代码、决策表)
2 计算机系统基础知识。
21计算机基础知识。
211计算机系统的组成,硬件系统、软件系统及层次结构。
213 中央处理器CPU。
运算器和控制器的组成,常用的寄存器、指令系统、寻址方式、指令执行控
处理机性能。
214 主存和辅存。
存储器系统。
存储介质(半导体、硬盘、光盘、闪存、软盘、磁带等)。
主存储器的组成、性能及基本原理。
Cache的概念、虚拟存储的概念。
辅存设备的类型、特性、性能和容量计算。
215 I/O接口、I/O设备和通信设备。
I/O接口(总线、DMA、通道、SCSI、并行口、RS232C、USB、IEEE1394)。
I/O设备的类型和特性(键盘、鼠标、显示器、打印机、扫描仪、摄像头,以及各种辅存设备)。
I/O设备控制方式(中断控制、DMA)。
通信设备的类型和特性(Modem、集线器、交换机、中继器、路由器、网桥、网关)及其连接方法和连接介质(串行连接、并行连接,传输介质的类型和特性)。
22 软件基础知识。
221 *** 作系统基础知识。
*** 作系统的类型和功能。
*** 作系统的内核(中断控制)和进程概念。
处理机管理、存储管理、设备管理、文件管理、作业管理、汉字处理。
222 程序设计语言和语言处理程序基础知识。
汇编、编译、解释系统的基础知识。
过程(函数)调用。
23 网络基础知识。
网络的功能、分类、组成和拓扑结构。
网络体系结构与协议(OSI/RM,TCP/IP)。
24 数据库基础知识。
数据模型,ER图。
数据 *** 作(关系运算)。
数据库语言(SQL)。
25 多媒体基础知识。
多媒体基础概念,常用多媒体设备性能特征,常用多媒体文件格式类型。
3.软件开发和运行维护基础知识。
32 软件需求分析、需求定义及软件基础知识。
结构化分析概念(数据流图(DFD)、实体关系图(ER))。
面向对象设计、结构化设计基础知识。
模拟设计、代码设计、人机界面设计要点。
33 程序设计基础知识。
结构设计程序设计,程序流程图,NS图,PAD图。
程序设计风格。
面向对象设计基础知识、可视化程序设计基础知识。
34 程序测试基础知识。
黑盒测试、白盒测试、灰盒测试基础知识。
4. 安全性基础知识。
安全性基本概念。
加密与解密基础知识。
5. 标准化基础知识
标准化基本概念
6. 信息化基本知识。
有关的法律、法规要点。
7. 计算机专业英语。
考试科目2:程序设计。
1 内部设计
11 理解外部设计。
13 物理数据设计。
确定数据组织方式、存储介质,设计记录格式和处理方式。
2. 程序设计。
21 模拟划分(原则、方法、标准)。
3. 程序实现。
31 编程。
编程方法和标准。
程序设计语言的使用。
4程序设计语言(C语言为必选,其他语言可以任选一种)。
41 C程序设计语言(ANSI C标准)。
程序结构,语法,数据类型说明,可执行语句,函数调用,标准库函数,指针。
42 C++程序设计语言(ANSI C++标准)。
C++和面向对象程序设计,语法和程序结构,类、成员、构造函数、析构函数、模板、继承、多态。
43 Java程序设计(Java 2)。
语言机制(程序结构和语法,类、成员、构造函数、析构函数、继承、接口)。
44 Visual Basic程序设计(Visual Basic 60)。
用户界面设计。
一般来说,程序员可以从自由职业者市场(如Upwork、Freelancer等)、社交网络(如LinkedIn、Facebook等)等渠道来寻找。此外,也可以到一些软件开发相关的网站,如Stack Overflow、GitHub等,寻找对应的程序员。
范围很广,分上午题和下午题。
上午考选择题:计算机系统结构等硬件基础知识, *** 作系统,数据库,多媒体,网络,程序设计语言,软件工程,数据结构和算法,标准化,安全性基础知识,计算机应用,计算机英语。
下午考程序填空题:程序流程图,常用算法和数据结构,C语言,C++和Java二选一。
题目范围虽广,但是都不是那么难。很多基础知识只要求了解就可以了。很多要靠理解加记忆。
这里推荐我用过的几本参考书,只要认真扎实看了,考试前多积攒人品,嘻嘻,过应该没问题(一般是上下午均有60%对就过了)~~
参考书:程序员考试同步辅导 清华大学出版社 全国计算机专业技术资格考试办公室推荐。
我说的够详细吧,去考吧,能过的,嘻嘻~~
不是我想做广告,看我空间>
我是刚找到了一个java程序员的工作,现在我告诉你一些具体的问题;
他们首先回让你自我介绍1-3分钟,这其中,可能你就要谈到,你对java的了解吧。然后问你曾经做过那些关于java的项目(或者自己编写),他们会问你对bean是否了解,然后会问,你对j2ee了解多少,问这个的目的,对数是想问你,对ejb有多少了解,然后会问你对应用服务器,比如weblogic和websphere了解多少。因为你面试的是java程序员,还可能让你做一份java人证的考试题(1-20道),最后可能会问你关于数据库的知识在最后,可能就是问你的薪资方面的要求了。
就这些了,这是我面试所经历的一切。
1、可以考虑先学习C 大多数时候,我们学习语言的目的,不是为了成为一个语言专家,而是希望成为一个解决问题的专家。做一个有用的程序员,做一个赚钱的程序员。我们的价值,将体现在客户价值上,而不是语言写得好不好看。
C++是C的一个面向对象的解释,C++为C扩充了大规模工程应用,复杂的系统结构的组织和掌控方法,但是,我认为,C++骨子里还是C的。毕竟,解决具体问题,每个函数内部,都是用C的方式写程序,还是面向过程的。因此,想要学习好C++,我的建议,先学习C,先学解决问题的能力,再讨论解决大问题的能力。就是先学习怎么走路,再学习怎么跑步。2、学习C的过程中,一定要理解结构化编程思维。为什么呢,我前面有文章说过,软件语言的发展过程,就是一个数据私有化的过程,大型工程应用,强调高内聚,低耦合,模块化设计,保持代码最大的灵活性和安全性。这是现代工程化开发的核心和灵魂。因此,利用C这门语言入门,借此理解结构化开发思维,可以说是个很方便的路子。因为C的函数,本来就是为重用做准备的。同时,全局变量和cpp内部私有变量的差别,其使用原则,这些都能学到很多结构化开发思维。3、开始学习C++C++不难学的,很多人觉得C++难学,其实是因为它在C之外,又提供了很多的概念,尤其是对象,很难以理解。不过我经过这么多年,把这个问题反而看淡了,我认为面向对象相对面向过程,仅仅是结构化程序设计的一个具体体现,是编译器提供手段,强迫程序员必须遵循数据私有化的一个实例,C++和C的关系,最核心的莫过于此。现在我们回到C再看看,如果我们把一个全局变量,写到一个cpp里面,并且在对应的h文件中不声明,它是不是就只有这个模块可以使用?它是不是就是私有变量,以这个理解,类能明白了吗?4、学习C++的深入技巧C++在类的基础上,经过这么多年的发展,其实提供了很多深入的概念,看起来很复杂,其实我看也很简单。比如模板,我的理解就是“类的类”,大家说是不是?既然模板理解了,STL,ATL这些,静态模板库,动态模板库,还难理解吗?就是一大堆类的类,可以借此实现很多应用中需要的类,不需要程序员再自己写而已。ok,STL都理解了,泛型开发还难吗?所谓泛型开发,其实就是我做一个模板,来定义一套算法规则,但是呢,我希望这个算法规则,能进一步抽象,对核心数据类型不要限死,我把各种数据套进去,都可以用,这样,仅算法这部分,我不需要重写了。你想想是不是这个道理?学到这里,C++和C,其实已经差不多了。再学语言,就是求全责备,过于钻牛角尖了。5、学习应用开发前面说了,学习语言,目的不是让别人认为自己是专家,是为了写程序赚钱。因此,语言学完,要学习应用开发。什么叫应用开发呢,我会一门语言,但是,客户不懂,客户说的很直接,在Windows下给我写个程序,我要什么什么功能。为啥Windows呢?因为我习惯。OK,很多时候,应用开发要尊重客户习惯,一般说来,语言这个东东,还是要结合具体平台的开发,才能开发出有意义的应用程序卖钱。那么,一般说来,客户端是Windows系统,服务器是Linux,这些都是行业习惯,嵌入式不好说,各种平台都有,Palm,S60,Linux,WinCE,等等。要根据自己的目标客户来定。当我们选定目标平台后,有一个问题,选什么语言,很多时候,学生和商用程序员差别就在这里,学生一般没得选,自己会啥就用啥呗,企业里的程序员不会,要先评估需求,看哪个语言更合适,不会的语言,要去学。ok,假定我们选了C和C++,那么,我们需要选择开发平台,Windows下不用说了,VC,这是最好用的,Linux下呢,gcc,其他的也差不多。假如我们开发VC,并且使用C++,这个时候,才需要考虑学习MFC了,因为这是微软的标准类库,至少Windows平台下,它最权威,你看见没有,我们从学习开始,走了多少步,才走到MFC?是不是MFC不是学习C++上来就必须学的?6、学习MFC学习MFC,很多人一上来就开始看其体系架构,看得一头雾水,那个模块关系依赖图,我到现在都看不懂。呵呵,其实不是啦,和学语言一样,我们学MFC的目的,也不是希望成为MFC的专家,而是要利用MFC开发Windows应用程序,为我们赚钱。看见没?MFC是手段,不是目的,目的是开发Windows程序。其实Windows下,有一套很标准的C接口,叫Win32API,这个才是Windows的标准编程核心,因此,学习MFC,真实的目的是理解Windows程序开发,建议可以先学习Win32API,看来我们又回到C了哈,呵呵。刚开始学C有用吧?7、Win32API其实Win32APi不难学的,因为虽然它很大,有很多接口,但不是必须的,我们真正做个简单的Windows应用,其实用不到这么多的。做个简单的Dialog,然后实现个功能,你遇到的接口函数,其实绝大多数,就是以后常用的了。把常用的记熟练,就ok了。关键是,这个时候要通过WinMain方式,去理解Windows的事件机制,这是核心,其实说起来简单得要死。就是以前你的程序,由于没有系统支撑,很多事必须自己做,比如检查鼠标和键盘输入,你需要写个死循环,自己不断去看,而Windows说,这些事你不要做了,我来做比你好。你没事就玩去吧,我把和你相关的消息放到一个队列里,就是你的事件队列,你自己没事去找找看,有没有新消息来,有就做事,没事就玩好了。很简单是不?当然,Windows是多任务 *** 作系统,有时候,我们的逻辑需要并发一些功能,比如说,我在等鼠标键盘消息的时候,需要再看看打印机准备好了没有,这里就需要理解并行计算了,这和语言无关,和 *** 作系统无关,这是另外一个话题,这里不多说了,你可以自己找找线程开发的相关资料看。看见没,为了学习好Windows编程,其实我们不仅仅需要学习语言,还要学习 *** 作系统,并行计算原理,内存原理,可能有时候还需要学习网络通信,等很多知识,所以说,单凭学习语言,是成不了商用程序员的,一个合格的程序员,需要理解的东西,太多了,要广为学习。当我们把Win32API,以及基本的窗口化程序设计理解了,就可以回到MFC继续学习了。是不是有点递归返回的意思?呵呵。8、回到MFC 个人感觉应该回到VS原来学MFC很难的,因为其封装了太多细节,很难理解透彻。不过还好,我们有侯老师的深入浅出MFC,去找本来看看,如何从Win32API的纯C编程,改变为MFC的C++方式,看这个最快,基本上前6章看完,已经会了,这里我就不多说了。9、COMCOM、COM、COM,我最头疼的COM,呵呵。COM就是一种远程过程调用,即你请求的代码是在另外一个进程中运行的,通过某种通信协议来回传递参数和结果。仅此而已。DCOM进了一步,服务者可以在另外一台计算机上。在公司开发中,大家可能各做一块,如果要合作,Windows下建议多使用COM(我个人喜欢socket通信哈)简单说,COM提供了一种机制,可以跨进程通信,甚至跨机器通信。不过,为了传递各种类型的参数,COM可谓是无所不用其极,它发明了智能指针,可以指向任何类型的数据,同时,为了实现智能指针,它使用了大量的C++泛型设计,看见没,C++的基本功就起作用了,还用到了ATL学习COM,要注意一个接口的概念。由于开发者是不同的人,调用程序和服务程序,可能不是同一种语言,OK,不能简单提供一个C或C++的。h文件来解答接口,因此,COM提供了标准接口,使用者在程序内部,以查询方式获得可用接口,进而以接口ID调用。很累人的。学会了COM,就可以多理解一点ActiveX了,那么再学习一点dll(动态链接库)的知识,我们就已经可以写OCX控件了。一般说来,OCX控件是个很好的设计,哪都能用,一个软件的模块,最理想是开发成这个样子,比exe灵活。10、没了。按少林派说法,学了上述这些,其实已经算打过18铜人阵了,已经可以下山助明主,扫奸佞,扭转乾坤,解万民于倒悬了。不过,关键是你通过上面的过程,是不是已经学会了学习的方法,再遇到新的东东,是不是已经不难学了?这大概就是武学中的悟性了,有了这个根基,以后只要慢慢修炼,估计20年后,可与天下英雄一较短长了。
哎 我应聘了N家公司 给你一些题好了
华为的
第一部分:选择题
QUESTION NO: 1
1、public class Test {
public static void changeStr(String str){
str="welcome";
}
public static void main(String[] args) {
String str="1234";
changeStr(str);
Systemoutprintln(str);
}
}
Please write the output result :
QUESTION NO:2
1 public class Test {
2 static boolean foo(char c) {
3 Systemoutprint(c);
4 return true;
5 }
6 public static void main( String[] argv ) {
7 int i =0;
8 for ( foo('A'); foo('B')&&(i<2); foo('C')){
9 i++ ;
10 foo('D');
12 }
13 }
14 }
What is the result
A ABDCBDCB
B ABCDABCD
C Compilation fails
D An exception is thrown at runtime
QUESTION NO: 3
1 class A {
2 protected int method1(int a, int b) { return 0; }
3 }
Which two are valid in a class that extends class A (Choose two)
A public int method1(int a, int b) { return 0; }
B private int method1(int a, int b) { return 0; }
C private int method1(int a, long b) { return 0; }
D public short method1(int a, int b) { return 0; }
E static protected int method1(int a, int b) { return 0; }
QUESTION NO: 4
1 public class Outer{
2 public void someOuterMethod() {
3 // Line 3
4 }
5 public class Inner{}
6 public static void main( String[]argv ) {
7 Outer o = new Outer();
8 // Line 8
9 }
10 }
Which instantiates an instance of Inner
A new Inner(); // At line 3
B new Inner(); // At line 8
C new oInner(); // At line 8
D new OuterInner(); // At line 8//new Outer()new Inner()
QUESTION NO: 5
Which method is used by a servlet to place its session ID in a URL that is written to the servlet’s response output stream
A The encodeURL method of the >
以上就是关于程序员考试都考哪些内容全部的内容,包括:程序员考试都考哪些内容、开发驾考软件,题库上哪找程序员、软考 初级程序员 考哪些的 难吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)