北京赛鼎科技有限公司1/5JAVA工程师面试题(以下题目为单选或多选)1、Java是一个支持并发、基于类和面向对象的计算机编程语言,其优点包括:A代码开发模块化,更易维护和修改B代码复用C增强代码的可靠性和灵活性D增加代码的可理解性E根据数据格式自动判断数据类型,开发效率高2、以下描述错误的是:AJava中static方法不能被覆盖,因为方法覆盖是基于运行时动态绑定的,而static方法是编译时静态绑定的,但static环境中可以当前类中非static变量。BJava支持多继承,每个类可继承多个类,但是只能实现一个接口。C对象被引用传递,意味着传递的并不是实际的对象,而是对象的引用。因此,外部对引用对象所做的改变会反映到所有的对象上。D进程是执行着的应用程序,而线程是进程内部的一个执行序列。一个进程可以有多个线程。线程又叫做轻量级进程。3、给出以下代码,请问该程序的运行结果是什么?publicclassA{abstractintmethod();voidanotherMethod(){}classBextendsA{intmethod(){return2;}}请选择所有正确答案:A代码编译失败,如果将第6行的extends改为implements,可使代码编译通过。B代码编译失败,因为类A不是抽象类,所以其中的method()方法不能是抽象方法。C代码编译失败,如果将类A声明为抽象的(abstract),可使代码编译通过。D代码编译失败,因为类A缺少一个明确的构造器。E代码编译失败,因为类B没有实现anotherMethod()方法。北京赛鼎科技有限公司2/54、请问,以下哪些修饰符用于修饰变量,可使该变量属于类而不属于类实例:AstaticBfinalCabstractDnativeEvolatileFtransient5、以下哪些描述是正确的:A引用型数据不能进行类型转换。B引用型数据在赋值语句中可以进行类型转换,但在向其方法传入参数时不能进行类型转换。C引用型数据在向其方法传入参数时可以进行类型转换,但在赋值语句中不能进行类型转换。D引用型数据在赋值语句中和在向其方法传入参数时均可以进行类型转换。6、请问以下哪些是有关封装优点的正确描述?A只需一个public方法。B从任何方法中没有异常抛出。C可以不需要改变接口来改变接口,以达到外部使用代码无需变动。D可以不需要改变现实来改变接口,以达到外部使用代码无需变动。7、下列说法正确的有()A.class中的constructor不可省略B.constructor必须与class同名,但方法不能与class同名C.constructor在一个对象被new时执行D.一个class只能定义一个constructor8、下列哪种说法是正确的()A.实例方法可直接调用超类的实例方法B.实例方法可直接调用超类的类方法C.实例方法可直接调用其他类的实例方法D.实例方法可直接调用本类的类方法北京赛鼎科技有限公司3/59、链表具有的特点是:A、不必事先估计存储空间B、可随机访问任一元素C、插入删除不需要移动元素D、所需空间与线性表长度成正比10、以下关于面向对象概念的描述中,不正确的是:A.在现实生活中,对象是指客观世界的实体B.程序中的对象就是现实生活中的对象C.在程序中,对象是通过一种抽象数据类型来描述的,这种抽象数据类型称为类(class)D.在程序中,对象是一组变量和相关方法的集合11、下列哪些语句关于内存回收的说明是正确的。A程序员必须创建一个线程来释放内存B内存回收程序负责释放无用内存C内存回收程序允许程序员直接释放内存D内存回收程序可以在指定的时间释放内存对象12、下列哪一种叙述是正确的:Aabstract修饰符可修饰字段、方法和类B抽象方法的body部分必须用一对大括号{}包住C声明抽象方法,大括号可有可无D声明抽象方法不可写出大括号13、JDBC中,用于表示数据库连接的对象是:AStatementBConnectionCDriverManagerDPreparedStatement14、在异常处理中,如释放资源、关闭文件、关闭数据库等由哪个子句完成?Atry子句Bcatch子句Cfinally子句Dthrow子句北京赛鼎科技有限公司4/515、以下说法正确的是A一个子类可以有多个父类,一个父类也可以有多个子类B一个子类可以有多个父类,但一个父类只可以有一个子类C一个子类可以有一个父类,但一个父类可以有多个子类D上述说法都不对16、以下哪个关键字可以用来为对象加互斥锁?AtransientBstaticCserializeDsynchronized17、以下关于构造函数的描述错误的是:A构造函数的返回类型只能是void型。B构造函数是类的一种特殊函数,它的方法名必须与类名相同。CJava语言规定构造方法不可以重载D一般在创建新对象时,系统会自动调用构造函数。18、欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的?AArrayListmyList=newObject();BListmyList=newArrayList();CArrayListmyList=newList();DListmyList=newList();19、下列哪种异常是检查型异常,需要在编写程序时声明:ANullPointerExceptionBClassCastExceptionCFileNotFoundExceptionDIndexOutOfBoundsException20、list是一个ArrayList的对象,哪个选项的代码填写到//tododelete处,可以在Iterator遍历的过程中正确并安全的删除一个list中保存的对象?Iteratorit=list.iterator();intindex=0;while(it.hasNext()){Objectobj=it.next();if(needDelete(obj)){//needDelete返回boolean,决定是否要删除//tododelete}index++;}北京赛鼎科技有限公司5/5Alist.remove(obj);Blist.remove(index);Clist.remove(it.next());Dit.remove();(以下为sql题目)学生成绩表(stuscore):姓名:name课程:subject分数:score学号:stuid张三数学891张三语文801张三英语701李四数学902李四语文702李四英语8021、计算每个人的总成绩并排名(要求显示字段:学号,姓名,总成绩)2、列出各门课程的平均成绩(要求显示字段:课程,平均成绩)3、列出各门课程成绩最好的学生(要求显示字段:学号,姓名,科目,成绩)4、删除李四80分以下的成绩