Java开发程序员该如何应对公司的笔试题?

Java开发程序员该如何应对公司的笔试题?,第1张

虽然现在很多科技公司已经取消了主力程序员的面试题,但是不少公司并没有取消初级程序员的笔试题,因为笔试题能够考察出一个初级程序员的知识结构,对于项目经验比较少甚至是没有项目经验的初级程序员来说,笔试是公司考察一个初级程序员能力的基本依据。所以,很多笔试成绩是初级程序员进入下一个环节的重要基础。

对于初级程序员来说,笔试都考察什么知识呢?其实大部分笔试的考试内容都是非常基础的内容,比如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)。

用户界面设计。

 


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7686498.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-08
下一篇 2023-04-08

发表评论

登录后才能评论

评论列表(0条)

保存