Java工程师笔试选择题
啊南 2010阅读 2020.04.03
【导语】: 想要成为Java工程师,在面试的时候是需要完成一份试题的。整份试题分为选择、填空、判断和主观题,下面给大家整理了一份Java工程师笔试选择题题目,大家在面试前可以看一下。
1、请指出以下代码段使用了何种算法(D)
#-*-coding:utf-8-*-
def func1(max_list):
return max(max_list)
def func2(init_list):
if len(init_list)<=2:
printf func1(init_list)
else:
init_list=[init_list[i:i+2]for i in range(0,len(init_list),2)]
max_init_list = []
for_list in init_list:
max_init_list.append(func1(_list))
func2(max_init_list)
if name ==” main “;
test_list = [13,4,11,5,67,7,9,43,24,2]
func2(test_list)
A. 动态规划 B. 回溯算法 C. 贪心算法 D. 分治法
2、小明到集市上套瓷娃娃,有n个瓷娃娃排成,编号为0到n-1,每个瓷娃娃有积分,存在score数组中。套中一个瓷娃娃i可以得到的分数为score[left]*score[i]*score[right],left和right分别表示瓷娃娃i相邻的两个瓷娃娃。当瓷娃娃i被套中撤走后,其左右两个瓷娃娃即为相邻。若要求出套中所有瓷娃娃所能得到的最高积分,则应该使用何种算法?(D )
A. 分治法 B. 回溯法 C. 动态规划 D. 贪心算法
3、以下描述错误的是(C )
A. 堆排序最好情况和最坏情况下时间复杂度不同 B. PageRank算法总是会收敛 C. 快速排序在被排序的数据完全无序时最容易发挥其长处 D. KMP算法的时间复杂度是O(n)
4、一个待散列线性表为K=(27,18,66,57,36,79,94,41),散列函数为H(K)=K MOD 13,与27发生冲突的元素有(A )个
A. 2 B. 4 C. 1 D. 3
5、给你2G的数据和2G的内存,以下哪种算法可能导致内存溢出(A )
A. 归并排序 B. 冒泡排序 C. 选择排序 D. 堆排序
6、Jack为邮件分类训练了一个c树模型,但是在训练集和测试集上效果都异常地糟糕。其中实现没有任何问题,那么有什么会导致这种情况?( C )
A. 需要提高学习率 B. 其他三项都是 C. 决策树层数较浅 D. 过拟合
7、办公室某计算机配置的首选DNS为61.134.1.4,备用DNS为202.100.2.1;网络管理员测试备用DNS服务器解析www.baidu.com,下列方式正确的是( A )
A. nslookup回车
lserver202.100.2.1回车
www.baodu.ocm
B. nslookup回车
www.baodu.ocm
C. nslookup www.baodu.ocm回车
D. nslookup回车
dnsserver 202.100.2.1回车
www.baodu.ocm
8、使用||x||_p来表示一个向量x和p的范数。给定α是一个标量,下列哪项是正确的(B )
A. ||x||_p=0表示x是一个零向量 B. 其他三项都对 C. ||αx ||_p=|α| ||x||_p D. ||x||_p+||y||_p>=||x+y||_p
9、一个有131个元素的顺序表,插入一个新元素并保持原来的顺序不变,平均要移动( )个元素。删除一个元素平均需要移动(D)个元素
A. 67 66 B. 65 64 C. 9 8 D. 65.5 65
10、下列程序的运行结果是(B )
#include<stdio.h>
void f(int *p)
{p[0]=*(p+2);}
main()
{int a[10]={1,2,3,4,5,6,7,8,9,0},i;
for(i=3;i>=0;i--)
f(a+i);
for(i=0;i<10;i++) printf(“%d”,a[i]);
printf(“\n”);}
A. 3 3 3 4 5 6 7 8 9 0 B. 5 6 5 6 5 6 7 8 9 0 C. 5 5 5 5 5 6 7 8 9 0 D. 4 4 4 4 5 6 7 8 9 0
1. 在基本JAVA类型中,如果不明确指定,整数型的默认是__类型,带小数的默认是__类型?( B )
A. int float B. int double C. long float D. long double
2. 只有实现了__接口的类,其对象才能序列化 ( A )
A. Serializable B. Cloneable C. Comparable D. Writeable
3. 代码System. out. println(10 % 3 * 2);将打印出?( B )
A. 1 B.2 C.4 D.6
4.以下程序运行的结果为( A )
public class Example extends Thread{
@Override
public void run(){
try{ Thread.sleep(1000); }catch (InterruptedException e){
e.printStackTrace(); }
System.out.print("run");
}
public static void main(String[] args){
Example example=new Example(); example.run();
System.out.print("main");
}
}
A. run main B. main run C. main D. run E. 不能确定
5.下面有关java实例变量,局部变量,类变量和final变量的说法,错误的是?( B )
A. 实例变量指的是类中定义的变量,即类成员变量,如果没有初始化,会有默认值 B. 局部变量指的是在方法中定义的变量,如果没有初始化,会有默认值 C. 类变量指的是用static修饰的属性 D. final变量指的是用final 修饰的变量
6. 在如下所示的类Test中,共有(D)个构造方法。
public class Test{ private int x; public Test(){ x = 35; }
public void Test(double f){
this.x = (int)f; }
public Test(double f){ this.x = (int)f; }
public Test(String s) {} }
A. 0 B.1 C.2 D.3
7. 下列选项中关于Java中super关键字的说法正确的是(A)
A. super关键字是在子类对象内部指代其父类对象的引用 B. super关键字不仅可以指代子类的直接父类,还可以指代父类的父类
C. 子类通过super关键字只能调用父类的方法,而不能调用父类的属性 D. 子类通过super关键字只能调用父类的属性,而不能调用父类的方法
8. Java数据库连接库JDBC用到哪种设计模式?( B )
A. 单例模式 B. 桥接模式 C. 抽象工厂 D. 装饰模式 E. 责任链模式
9. (不定项选择)以下关于JAVA语言异常处理描述正确的有?(CD)
A. throw关键字可以在方法上声明该方法要抛出的异常。 B. throws用于抛出异常对象。
C. try是用于检测被包住的语句块是否出现异常,如果有异常,则抛出异常,并执行catch语句。 D. finally语句块是不管有没有出现异常都要执行的内容。E. 在try块中不可以抛出异常
10. (不定项选择)Java多线程有几种实现方法?( AB )
A. 继承Thread类 B. 实现Runnable接口 C. 实现Thread接口 D. 以上都不正确
11. (不定项选择)下面有关java threadlocal说法正确的有?(ABCD)
A. ThreadLocal存放的值是线程封闭,线程间互斥的,主要用于线程内共享一些数据,避免通过参数来传递
B. 线程的角度看,每个线程都保持一个对其线程局部变量副本的隐式引用,只要线程是活动的并且ThreadLocal 实例是可访问的;在线程消失之后,其线程局部实例的所有副本都会被垃圾回收
C. 在Thread类中有一个Map,用于存储每一个线程的变量的副本
D. 对于多线程资源共享的问题,同步机制采用了“以时间换空间”的方式,而ThreadLocal采用了“以空间换时间”的方式
12. 放在HTML里的哪一部分JavaScripts会在页面加载的时候被执行?(D)
A. 文件头部位置 B. 文件尾 C. 标签部分 D. 标签部分
13. 要在10秒后调用checkState,下列哪个是正确的(B)
A. window.setTimeout(checkState, 10); B. window.setTimeout(checkState, 10000); C. window.setTimeout(checkState(), 10); D. window.setTimeout(checkState(), 10000);
14. 下面关于CSS布局的描述,不正确的是?(D)
A. 块级元素实际占用的宽度与它的 width 属性有关; B. 块级元素实际占用的宽度与它的 border 属性有关; C. 块级元素实际占用的宽度与它的 padding 属性有关; D. 块级元素实际占用的宽度与它的 background 属性有关。
15. 下面有关javascript常见事件的触发情况,描述错误的是?(C)
A. onmousedown:某个鼠标按键被按下 B. onkeypress:某个键盘的键被按下或按住 C. onblur:元素获得焦点 D. onchange:用户改变域的内容
1.在JAVA中,如果父类中某些方法不包含任何逻辑,并且需要由子类重写.应该使用( )关键字来声明父类的这些方法:
A) final B) static C) abstract D) void
2.在JAVA中,已定义两个接口B和C,要定义一个实现这两个接口的类,以下语句正确的是( )。
A) interface A extend B,C B) interface A implements B,C C) class A implements B,C D) class A implements B, implements C
3.在JAVA接口中可以定义( )。
A) 静态方法 B) 常量 C) 构造方法 D) 抽象方法
4.假设A有构造方法A (int a),则在类A的其他构造方法中调用该构造方法和语句格式应为( )。
A) A(X) B) this.A(x) C) this(x) D) super(x)
5.设 x = 1 ,y = 2 , z = 3, 则表达式 y+=z--/++x 的值是( )。
A) 3 B) 3.5 C) 4 D) 5
6.下列关于继承的说法哪个正确?( )。
A)子类只继承父类public方法和属性: B)子类继承父类的非私有属性和方法: C)子类继承父类的方法,而不继承父类的属性: D) 子类将继承的所有的属性和方法.
7.在java中.在使用JDBC时。对于多次调用同一条SQL语句的情况, 使用( )通常会提高效。
A) Statement B) CallableStatement C) PreparedStatement D) PrarmeterStatement
8.下列不能控制一个Servlet的生命周期方的法是:
A) service B) destroy C) doPost D) init
9.能够给一个byte型变量赋值的范围是( )。
A) 0~65535 B) (-128)~127 C)(-32, 768)~32, 767 D) (-256)~255
10.java语言中int类型数据占用多少位?( )。
A) 32 B) 64 C) 16 D) 20
11. ServletContext对象是如何创建的?( )。
A) 由 Servlet容器创建,对于每个HTTP请求.Servlet容器都会创建一个ServletContext对象 B)由JavaWeb 应用本身为自己创建一个ServletContext对象 C)由Servlet容器创建,对于每个JaveWeb应用,在启动时,Servlet容器都会创建一个ServletContext对象
12.在JSP中不能在不同用户之间共享数据的方法是( )。
A) 通过cookie B) 利用文件系统 C) 利用数据库 D) 通过ServletContext对象
13.以下哪个不是Collection的子接口?( )。
A) List B) Set C) Map D) SortedSet
14. 下面正确的创建 Socket 的语句是( )。
A) Socket a = new Soeket(80): B) Socket b = new Socket("130. 3. 4. 5", 80): C) ServerSocket c = new Socket(80) D) ServerSocket d = new Socket ("130. 3. 4, 5", 80)
15.下面的说法正确的是( )。
A)带有页作用域的对象在一个web应用程序的每个JSP中都存在. B)指令指定与一个特定的JSP 请求不相关的全局信息。C)当JSP容器遇到开始定制标签和结束定制标签时,分别调用doInitBody方法和doAfterBody方法。D) 动作只在翻译时处理一次。
16.为了区分重载多态中同名的不同方法,要求:( )。
A)参数名不同 B) 采用不同的形式参数列表 C)返回值类型不同 D) 选项A, B, C都对
17.下面是有关子类调用父类构造函数的描述正确的是:( )。
A)子类定义了自己的构造函数.就不会调用父类的构造函数 B)子类必须通过Super关键字调用父类有参数的构造函数 C)如果子类的构造没有通过super调用父类构造函数,那么子类会 先调用子类自己的构造函数,再调用父类不含参数的构造函数。D)创建子类的对象时,先调用子类自己的构造函数,然后调用父 类的构造函数
18.在Java中,负责对字节代码解释执行的是( )。
A) 垃圾回收器 B) 虚拟机 C) 编译器 D) 多线程机制
19.一个java程序运行从上到下的环境次序是( )。
A) 操作系统、Java程序、jre/jvm、硬件 B) jre/jvm、Java程序、硬件、操作系统 C) java程序、jre/jvm、操作系统、硬件 D) java程序、操作系统、jre/jvm、硬件
20.对于从Employee表中选择记录的以下代码片段,识别其遗漏的代码行。( )
Connection con = null:
Class. forName("sun.jdbc.odbc.JdbcOdbcDriver"):
con=DriverManager.getConnection("jdbc:odbc:ss" , "sa" , "");
ResultSet rs=stat.executeQuery("select * from Employee");
A) Statement stat=createStatement(); B) Statement stat=con.createStatement (); C) PreparedStatement stat=con.createStatement(): D) PreparedStatement stat=createPreparedStatement();
答案:1.C 2.C 3.BD 4.C 5.A 6.B 7.C 8.C 9.B 10.A 11.C 12.A 13.C 14.C 15.D 16.B 17.B 18.B 19.C 20.B