虽然现在很多科技公司已经取消了主力程序员的面试题,但是不少公司并没有取消初级程序员的笔试题,因为笔试题能够考察出一个初级程序员的知识结构,对于项目经验比较少甚至是没有项目经验的初级程序员来说,笔试是公司考察一个初级程序员能力的基本依据。所以,很多笔试成绩是初级程序员进入下一个环节的重要基础。
对于初级程序员来说,笔试都考察什么知识呢?其实大部分笔试的考试内容都是非常基础的内容,比如Java初级程序员的笔试题往往就是考察对Java基础概念的理解是否清晰,是否掌握基本的语法,能否建立起面向对象的编程思维等等,看一个简单的题目:
这个程序在语法上有没有问题呢?这个题目考察的是Java程序员对“接口可以多扩展”这个概念的掌握,这个程序是没有语法问题的。再看一个例子:
这个例子输出的结果是多少呢?输出的结果是322,这个例子考察的是对集合概念的理解,尤其是对Set应用的理解。再看一个例子:
这个例子的运行结果是什么呢?答案是程序在运行中会抛出异常,这个例子考察的是对TreeSet概念的掌握。再看一个例子:
这个例子考察的是对内部类的理解,包括静态内部类,要想完成这个例子需要了解三方面知识,第一是内部类,第二是static内部类,第三是多态,这个程序是无法编译通过的,原因在于创建static内部类对象的过程不能采用基于外部类对象创建的方式。
通过以上四个例子我们会发现,其实这些题目并不复杂,但是却非常考验初级程序员对基础概念的掌握情况,如果对基础概念掌握的比较清晰就很容易能够完成,如果掌握的不够全面,那么这些看似简单的题目也无法完成。所以说,在参加笔试之前,一定要把这些基本的概念搞清楚。
最后给大家留一道题,看看你能不能回答出正确的答案(开启和不开启断言两种情况分别描述):
大家在评论区写出你的答案和理由吧。
我使用Java语言多年,我在头条上也写了关于学习Java的系列文章,想学习Java的朋友可以关注我,相信一定会有所收获。
如果有Java开发方面的问题,也可以咨询我。
谢谢!
请问四条log语句分别输出什么?【答案】分别输出 101,undefined, 201,1
o是Object构造出的对象,o的__proto __指向Object的prototype,这样o可以使用Object.prototype里面的方法。原型链:当js查找对象的属性时,先查找对象自身是否具有该属性,如果没有,就会去__proto __指向的prototype对象上查找,直到找到或者__proto __为null
【参考答案】输出3,3,3。因为foo()函数执行时生成了三个闭包,这三个闭包绑定了同一个变量i,第三个闭包生成时,i的值为3。因此执行这三个闭包时都会输出3。
修改为输出0,1,2的原则是让三个闭包绑定不同的变量,所以在生成闭包时就要区分出来,一种修改方法如下:
程序员考试内容纲要考试科目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)。
用户界面设计。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)