搜索
您的当前位置:首页正文

技术类面试题(附答案)

来源:哗拓教育


一、单项选择题

1.下列语句哪一个正确?

A. Java程序经编译后会产生machine code B. Java程序经编译后会产生byte code C. Java程序经编译后会产生DLL D. 以上都不正确

答案为B

2、以下的语句构造了几个 JAVA 对象? String S = new String(“aaa”); A. 1 B. 2 C. 3 D. 4

答案为B

3、下列哪些关键字即能够被用于局部变量的修饰,也可以用做类变量的修饰? A. public B. transient C. static D. finally 答案为D

4、下面的哪些叙述为真?

A. equals() 方法判定引用值是否指向同一对象

B. = = 操作符判定两个不同的对象的内容和类型是否一致 C. equal() 方法只有在两个对象的内容一致时返回 ture

D. 类 File 重写方法 equals() 在两个不同的对象的内容和类型一致时返回 ture

答案为A

5、下列说法正确的有?

A.class中的constructor不可省略

B.constructor必须与class同名,但方法不能与class同名

1 / 11

C.constructor在一个对象被new时执行 D.一个class只能定义一个constructor

答案为C

6、下列运算符合法的是?

A.&& B.<> C.if D.:=

答案为A

7、执行如下程序代码

a=0;c=0; do{ --c;

a=a-1;

}while(a>0);

后,C的值是()

A.0 B.1 C.-1

D.死循环

答案为C

8、下列哪种说法是正确的?

A.实例方法可直接调用超类的实例方法 B.实例方法可直接调用超类的类方法

C.实例方法可直接调用其他类的实例方法 D.实例方法可直接调用本类的类方法

答案为D

9、下列不正确的有?

A. call byvalue不会改变实际参数的数值

B. call by reference能改变实际参数的参考位置 C. call byreference不能改变实际参数的参考位置 D. call byreference能改变实际参数的内容

2 / 11

答案为B

10、关于抽象类与接口,下列说法正确的是?

A、接口就是抽象类,二者没有区别。

B、抽象类可以被声明使用,接口不可以被声明使用。 C、抽象类和接口都不能被实例化。 D、以上说法都不对。

答案为C

11.下面哪一项是线程安全的?

A.Vector B.Stack C.HashMap D.HashSet

答案为A

12、下面哪个命令可以实现文件名的更改?

A. cp B. rm C. mv D. ln

答案为C 13、文件exer1的访问权限为rw-r--r--,现要增加所有用户的执行权限和同组用户的写权限,下列命令正确的是?

A. chmod a+x g+w exer1 B .chmod 765 exer1 C .chmod o+x exer1 D. chmod g+w exer1

答案为A

14. 关于Spring的说法错误的是?

A、Spring是一个轻量级JAVA EE的框架集合。 B、Spring包含一个“依赖注入”模式的实现。

3 / 11

C、使用Spring可以实现声明事务。

D、和EJb容器一样,是一个“全有全无”的解决方案。

答案为D

15、 聚合函数不可以用在下列哪个语句中?

A、SELECT子句 B、HAVING 子句 C、WHERE 子句 D、子查询 E、ORDER BY

答案为E

16、哪个实现 IF..THEN…ELSE 逻辑?

A. INITCAP() B. REPLACE() C. DECODE() D. IFELSE()

答案为C

17、哪个命令用来创建一个primary key constraintpk_books 在表 BOOKS, 列 ISBN上?

A. create primary key on books(ISBN);

B. create constraint pk_books primary key on books(ISBN);

C. alter table books add constraint pk_books primary key (ISBN); D. alter table books add primary key (ISBN);

答案为

18、在最坏的情况下,查找成功时二叉排序树的平均查找长度?

A.无法与顺序表的平均查找长度比较 B.大于顺序表的平均查找长度 C.小于顺序表的平均查找长度 D.与顺序表的平均查找

答案为C

19、.弱线性表次啊用链式存储结构,则使用的查找方式?

4 / 11

A.随机查找 B.散列查找 C.二分查找 D.顺序查找

答案为D

20、下列项中哪一项不是创建型模式?

A.抽象工厂模式 B.代理模式 C.原型模式 D.单例模式

答案为B

21、运行下面程序输出结果是?

public static void main(String[] a) throws Exception {

Class clazz = ArrayList.class;

Method method = clazz.getMethod(\"isEmpty\

Object result = method.invoke(clazz.newInstance(), new Object[] {}); System.out.println(result); }

A.运行时出错 B.null C.true D.false

答案为C 22、在关系模型中,实现\"关系中不允许出现相同的元组\"的约束是通过下列哪项来管理的?

A.候选键 B.主键 C.外键 D.超键

答案为B

23、以下数据结构中不属于线性数据结构的是?

A.队列

5 / 11

B.线性表 C.二叉树 D.栈

答案为C 24、在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是?

A.概要设计 B.详细设计 C.可行性分析 D.需求分析 答案为D

25、对设置session失效的时间的描述不正确的是?

A.是在%Tomcat_home%/conf/web.xml文件的session-config标签中配置的。 B. tomcat中session的实效时间默认是30分钟。

C. session的实效时间的配置单位是毫秒,而不是分钟。

D. 对于购物网站来讲,把session的实效时间设置少一点,可以降低服务器的负载, 因为大多数人只是逛逛,购物的人不多。

答案为C

二、填空题

1、已知3*3矩阵如下 : 1 2 3 4 5 6 7 8 9

假设(1 5 9)为该矩阵的正对角线。以下程序是求该矩阵的正对角线的值的和。请完成程序。

public class Test{

public static void main(String[] args) { int i, j, sum = 0; int count = 1;

int a[][] = new int[3][3]; for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) {

a[i][j] =_____; //1 初始化数组 count++; } }

6 / 11

//打印二维数组

for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) {

System.out.print(____+ \" \"); //2 }

System.out.println(\" \"); }

//显示对角线之和 for (i = 0; i < 3; i++) { sum =_____; //3 }

System.out.println(\"对角线之和:\" + sum); } }

答案: 1)count 2)a[i][j]

3)sum + a[i][i]

2、下面是冒泡排序算法的一种JAVA实现,请在空格处填入缺失代码完成该算法。

package sort;

import java.utilaaaparator; /**

* 冒泡排序算法 */

public class BubbleSort> extends Sort { public void sort(E[] array, int from, int end, Comparator c) { for (int k = 1; _____; k++) {

for (int i = _____; _____; i—) { if (_____) {

swap(array, i, i - 1); } } } }

public static void main(String[] args) {

Integer[] intgArr = { 7, 2, 4, 3, 12, 1, 9, 6, 8, 5, 11, 10 }; BubbleSort sort = new BubbleSort(); BubbleSort.testSort(sort, intgArr); BubbleSort.testSort(sort, null); } }

7 / 11

答案:

1)k < end - from + 1 2)end – from 3)i >= k

4)caaapare(array[i], array[i - 1]) < 0

三、改错题

1、

abstract class Name { private String name;

private abstract String doSomething ();

public abstract boolean isStupidName(String name) {} }

答案:

abstract method必须以分号结尾,且不带花括号。 abstract的methods不能以private修饰。 2、

public class Something {

public int addOne(final int x) { return ++x; } }

答案:int x被修饰成final,意味着x不能在addOne method中被修改。 3、

class Something { final int i;

public void doSomething() { System.out.println(\"i = \" + i); } }

答案: final int i是个final的instant variable (实例变量,或叫成员变量)。final的instant variable没有default value,必须在constructor (构造器)结束之前被赋予一个明确的值。可以修改为\"final int i = 0;\"。 4、

interface A{ int x = 0;

8 / 11

}

class B{ int x =1; }

class C extends B implements A { public void pX(){

System.out.println(x); }

public static void main(String[] args) { new C().pX(); } }

答案:在编译时会发生错误(错误描述不同的JVM有不同的信息,意思就是未明确的x调用,两个x都匹配(就象在同时import java.util和java.sql两个包时直接声明Date一样)。对于父类的变量,可以用super.x来明确,而接口的属性默认隐含为 public static final.所以可以通过A.x来明确

四、简答题

1、Java中如何定义和使用接口?

答案:

使用关键字interface来定义一个接口,接口的定义和类的定义很相似,分为接口的声明和接口体。(2分)

一个类通过关键字implements声明自己使用一个或多个接口,如果使用多个接口,则用逗号隔开接口。(2分)

如果一个类使用某个接口,那么这个类必须实现该接口的所有方法(1分)

2、用向量类的对象存储数据与用数组表示数据有什么区别?

答案:

数组元素可以是任何类型的数据,向量中的元素不能是基本数据类型的数据; (2.5分) 数组一旦用new运算符创建后,其大小不可以改变,向量对象的大小可根据元素的增加自动增加;(2.5分)

3、请介绍一下Spring框架中Bean的作用域。 答案:

9 / 11

在spring2.0之前bean只有2种作用域即:singleton(单例)、non-singleton(也称 prototype),Spring2.0以后,增加了session、request、global session三种专用于Web应用程序上下文的Bean。因此,默认情况下Spring2.0现在有五种类型的Bean。

4、编写SQL语句查询出每个各科班分数最高的同学的名字,班级名称,课程名称,分数。 数据表结构如下图所示:

答案:

select class.name,student.name,course,score

from class,student,score,(select max(score) max_score ,course,classid from score,student where score.studentid = student.id group by course,classid) tmp where class.id =student.classid and student.id = score.studentid and score.score = tmp.max_score and score.course =tmp.course and student.calssid = tmp.classid

5、设某二叉树的前序遍历序列为6,9,7,8,1,3,4; 中序遍历序列为9,8,7,1,6,4,3; 请画出此二叉树,并给出其后序遍历序列。

答案:

后序序列为:8,1,7,9,4,3,6 二叉树为:

10 / 11

6978

341 五、综合应用题

1、案例:某营销活动的规则为:手机用户在活动专区上开通任意一种手机业务,例如:飞信业务,即可获得一次抽奖机会。

要求一:用户每个自然月最多可以通过开通手机业务获得3次抽奖机会,但开通业务的数量不限。

要求二:用户在一个自然月内不能通过反复开通同一项手机业务来赚得抽奖机会,例如本月开通飞信业务取得抽奖机会后,当月不能通过再开通次业务取得抽奖机会,但次月是允许的。

说明:手机业务的关闭可以通过其它系统(网上营业厅、短信营业厅等)渠道进行关闭。

请根据上述营销活动的需求方案,绘制出对应的程序实现流程图。

2、扑克牌中有一种洗牌方法叫做完美洗牌法,所谓完美洗牌,就是把一副扑克去掉大小王,正好切在中间,一手拿26张,洗牌的时候左手牌和右手牌必须每次轮流只落一张,洗过一定次数后,牌会恢复为原来的顺序。

请设计一个算法求出通过完美洗牌法恢复为扑克牌初始顺序的最小洗牌次数。

友情提示:部分文档来自网络整理,供您参考!文档可复制、编制,期待您的好评与关注!

11 / 11

因篇幅问题不能全部显示,请点此查看更多更全内容

Top