Java开发工程师笔试题目
- 格式:docx
- 大小:10.47 KB
- 文档页数:6
广州博纳java笔试题一、背景介绍广州博纳信息科技有限公司是一家专业提供软件开发与技术服务的企业。
其中,Java作为一门主要的编程语言,广泛应用于企业级Web应用程序、移动应用程序、嵌入式系统等领域。
因此,在招聘Java开发工程师时,需要对应聘者进行一系列的测试和筛选。
二、笔试题目1.请描述Java中静态变量和静态方法的特点,以及使用它们的场景。
2.在Java中,如何判断两个对象是否相等?请说明equals和==的区别。
3.Java中的多态性是什么意思?请用Java语言实现一个简单的多态实例。
4.Java中的线程有哪几种状态?每个状态的含义是什么?5.Java中的异常有哪些类型?请列举几种并说明其使用场景。
6.请简述Java中常见的集合类,并说明它们的用途与区别。
三、题目解析1.静态变量和静态方法是与类相关联的,而不是与实例相关联。
静态变量在整个程序中只有一份,可以被所有实例对象共享。
静态方法则不能访问实例变量和实例方法,只能访问静态变量和静态方法。
使用它们的场景包括:在创建对象之前进行一些必要的数据初始化、建立全局变量和方法等。
2.在Java中,equals方法是用来比较两个对象在逻辑上是否相等,而==操作符是用来比较两个对象在内存中的地址是否相等。
使用equals 比较两个对象时,需要在类中重写equals方法。
如果类中没有重写equals方法,则比较的是两个对象在内存中的地址是否相等。
3.多态性是指一个类的实例对象能够在不同的场合下表现出不同的行为特征。
在Java中,通过继承和接口实现多态性。
以下是一个简单的多态实例:定义一个Animal类,并定义一个eat方法。
再定义两个继承自Animal类的子类,分别是Cat类和Dog类。
每个子类都重写了eat 方法,在eat方法中输出不同的语句。
在主函数中定义一个Animal类的对象,并将其分别赋值给Cat和Dog对象,调用eat方法时就会输出不同的语句。
java工程师笔试题及答案一、选择题1. 在Java中,下列哪个关键字用于定义一个接口?A. classB. interfaceC. abstractD. final答案:B2. Java中,下列哪个方法用于获取数组的元素个数?A. length()B. size()C. count()D. getLength()答案:A3. 下列哪个选项是Java中的垃圾回收机制?A. JVMB. GCC. JVMPD. GCP答案:B4. 在Java中,下列哪个关键字用于定义一个抽象类?A. abstractB. finalC. interfaceD. static答案:A5. Java中,下列哪个关键字用于定义一个私有方法?A. privateB. publicC. protectedD. default答案:A二、填空题1. 在Java中,使用关键字________来定义一个类。
答案:class2. Java中的异常处理是通过________和________关键字实现的。
答案:try,catch3. Java中,________关键字用于定义一个方法。
答案:void4. 在Java中,使用________关键字可以抛出一个异常。
答案:throw5. Java中,________关键字用于定义一个包。
答案:package三、简答题1. 请简述Java中接口和抽象类的区别。
答案:接口和抽象类都是Java中实现多态性的方式。
接口是一种完全抽象的结构,不能包含任何实现,而抽象类可以包含部分实现。
接口中的所有方法默认为public,而抽象类可以包含private、protected等访问修饰符。
一个类可以实现多个接口,但只能继承一个抽象类。
2. 请简述Java中垃圾回收机制的作用。
答案:Java中的垃圾回收机制(GC)主要作用是自动回收不再使用的对象,释放内存资源,避免内存泄漏。
GC会定期检查对象的引用情况,如果对象没有被任何引用指向,GC会将其回收。
java工程师笔试题考试时间:40分钟,满分100分基本信息:[矩阵文本题] *一、选择题(单项选择,共15题,每题3分,共45分)1.Java中提供了名为()的包装类来包装原始字符串类型 [单选题] * A.IntegerB.CharC.DoubleD.String(正确答案)2.ng包的()方法比较两个对象是否相等,相等返回true。
[单选题] * A.toString()B.equals()(正确答案)C.compare()D.以上所有选项都不正确3.使用()方法可以获得Calendar类的实例。
[单选题] *A.get()B.equals()C.getTime()D.getInstance()(正确答案)4.下面的集合中,()不可以存储重复元素。
[单选题] *A.SetB.CollectionC.Map(正确答案)D.List5.关于Map和List,下面说法正确的是()。
[单选题] *A.Map继承ListB.List中可以保存Map或ListC.Map和List只能保存从数据库中取出的数据D.Map的value可以是List或Map(正确答案)6.给定如下Java代码,编译运行的结果是()。
import java.util.*;public class Test {public static void main(String[] args) {LinkedList list=new LinkedList();list.add(“A”);list.add(2,”B”);String s=(String)list.get(1);System.out.println(s);}}[单选题] *A.编译时发生错误B.运行时引发异常(正确答案)C.正确运行,输出:AD.正确运行,输出:B7.下列说法正确的有()。
[单选题] *A. class中的constructor不可省略B. constructor必须与class同名,但方法不能与class同名C. constructor在一个对象被new时执行(正确答案) D.一个class只能定义一个constructor8.下面程序的运行结果:()。
Java软件开发工程师笔试题(答案)Java工程师笔试题1,填空(此大题10项,每空1分,共20分)1。
Java语言的三个特性是继承性、封装性和多态性2.在Java中,char 使用_ _ _ _ Unicode _ _ _ _ _ _编码方案,因此中文字符和英文字符都占用__2__字节的内存空间3。
当方法由_ _定义时,形参指的是参数行,当方法由_ _调用时,实际参数是传入的变量或值。
4。
JSP内置对象,应用程序对象代表应用程序上下文,它允许JSP 页面与包含在同一应用程序中的任何网络组件共享信息,而会话对象是特定于每个客户的5。
如果你想把一个对象写到一个流中,这个类必须实现Seralizable 接口6。
在程序中实现多线程有两种方法:继承线程类和实现_ _ Runable _ interface7。
在多线程中,线程的相对优先级可以通过调用相应的setPriority()方法来修改8。
面向对象编程的五个设计原则是单一责任、开放和封闭、里氏尺度替换、依赖倒置、接口分离。
通过Ajax,客户端获取的数据主要有两种类型:文本类型和xml 10。
Socket通常也叫socket,用来描述__ ip和_ _ interface2,多项选择题(这个大题20项,每项2分,共40分)1。
在JA V A中,如果父类中的一些方法不包含任何逻辑并且需要被子类重写,那么父类的这些方法应该使用()关键字来声明:a)final b)static c)abstract d)void2。
在JA V A中,已经定义了两个接口b和c。
要定义实现这两个接口的类,下面的语句是正确的()a)接口aextend b,c b)接口a implements b,c c)类a mplements b,c d)类a mplements b,实现c3。
可以在JA V A接口()中定义A)静态方法b)常量c)构造函数d)抽象方法4。
假设A有构造函数A (int a),那么在A类的其他构造函数中调用的构造函数和语句格式应该是()a)a(x)b)this . a(x)c)this(x)d)super(x)5。
软件开发工程师(JAVA)笔试题请在90分钟以内做答答案请写在答题纸上一、选择题1、下面哪项是不合法的标识符:()A. $personsB. TwoUsersC. *pointD. _endlineE. final2、下列运算符合法的是()A.&& B.<> C.if D.:=3、下面描述中哪两项相等:()[选择两项]A.<%= YoshiBean.size%>B.<%= YoshiBean.getSize()%>C.<%= YoshiBean.getProperty(“size”)%>D.<jsp:getProperty id=”YoshiBean” param=”size”/>E.<jsp:getProperty name=”YoshiBean” param=”size”/>F.<jsp:getProperty id=”YoshiBean” property=”size”/>G.<jsp:getProperty name=”YoshiBean” property=”size”/>4、设float x = 1,y = 2,z = 3,则表达式 y+=z--/++x的值是:()A. 3.5B. 3C. 4D. 55、下面的哪些叙述为真:()A.equals()方法判定引用值是否指向同一对象B.==操作符判定两个不同的对象的内容和类型是否一致C.equal()方法只有在两个对象的内容一致时返回trueD.类File重写方法equals()在两个不同的对象的内容和类型一致时返回true6、如果一个对象仅仅声明实现了cloneable接口,但是不声明clone方法,外部能够调用其clone方法吗?()A. 能B. 不能C. 不确定7、下列说法错误的有()A.能被java.exe成功运行的java class文件必须有main()方法B. J2SDK就是Java APIC. Appletviewer.exe可利用jar选项运行.jar文件D.能被Appletviewer成功运行的java class文件必须有main()方法8、下列正确的有()A. call by value不会改变实际参数的数值B. call by reference能改变实际参数的参考地址C. call by reference不能改变实际参数的参考地址D. call by reference能改变实际参数的内容9、下列说法错误的有()A.数组是一种对象B.数组属于一种原生类C. int number=[]={31,23,33,43,35,63}D.数组的大小可以任意改变10、不能用来修饰interface的有()A.private B.public C.protected D.static 11、关于Float,下列说法正确的是A.Float是一个类B.Float在ng包中C.Float a=1.0是正确的赋值方法D.Float a= new Float(1.0)是正确的赋值方法12、下列哪种说法是正确的()A.实例方法可直接调用超类的实例方法B.实例方法可直接调用超类的类方法C.实例方法可直接调用其他类的实例方法D.实例方法可直接调用本类的类方法13、下列说法错误的有()A.在类方法中可用this来调用本类的类方法B.在类方法中调用本类的类方法时可直接调用C.在类方法中只能调用本类中的类方法D.在类方法中绝对不能调用实例方法14、下面说法哪些是正确的?A.Applet可以访问本地文件B.对static方法的调用不需要类实例C.socket类在ng中D.127.0.0.1地址代表本机15、类Test1、Test2定义如下:1.public class Test1 {2.public float aMethod(float a, float b) throws3.IOException { }4.}5.public class Test2 extends Test1 {6. //Line67.}将以下()方法插入行6是不合法的。
正式应聘的JAVA笔试题和答案一:选择题1:List, Set, Map是否继承自Collection接口A:都是,B 都不是 C:List, Set 是 D:Set, Map 是正确答案 C2:下面描述哪个是正确的A:构造器Constructor可被overrideB:可以继承String类C:try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code不会被执行D:两个对象值相同(x.equals(y) == true),那么也有相同的hash code正确答案 D3 abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized A:都能 B:都不能 C:可以为static D:可以为native正确答案 A4:下面的程序中,temp的最终值是什么?long temo=(int)3.9;temp%=2;A: 0 B :1 C :2 D : 3正确答案 B5、请在以下选项中选出非基本数据类型的选项 ( )A: int B:byte C: boolean D:String正确答案 D6、阅读下面代码段, 给出以下代码的输出结果public class Test{public static void main(String args[]){String str1 = "abc";String str = "abc;String str2 = new String("abc");System.out.println(str1 == str2);System.out.println(str1.equals(str2));System.out.println(str == str1);}}A:true,true,true B:true,false,true C:true,true,false D:false,true,true正确答案 D7、阅读下面代码段, 给出以下代码的输出结果:int i=1;switch (i) {case 0:System.out.println("zero");break;case 1:System.out.println("one");case 2:System.out.println("two");default:System.out.println("default");}A: B::D:default 正确答案 C8、阅读下面代码段, 给出以下代码的输出结果public class MyClass{static int i;public static void main(String argv[]){System.out.println(i);}}A: Error Variable i may not have been initialized B:null C:D:0 正确答案 D9、阅读下面代码段, 给出以下代码的输出结果:class A{static{System.out.print( “A1”);}public A(){System.out.print( “A2”);}}class B extends A{static{System.out.print( “B1”);}public B(){System.out.print( “B2”);}}public class Hello{public static void main(String[] args){A ab = new B();ab = new B();}}A:A1B1A2B2B1B2 B:A1B1A2B2A2B2 C:A1B1A2B2B1B2 D:A1A2B1B2A2B2正确答案 B10、阅读下面代码段, 给出以下代码的输出结果public class TestData {public String getValue () {String value = "";try{value = "test1";return value;}catch(Exception e){e.printStackTrace();}finally{value = "test2";}return value;}public static void main(String args[]){ TestData test = new TestData();String a = test.getValue();System.out.println(a);}}A.test1B.test2C.nullD.””正确答案 A二、改错题,如果有错误,请指出并修正。
中软Java笔试题目中软Java笔试题目Java笔试题目(一)一、判断题(30分)1.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free,。
2.对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。
3.有的类定义时可以不定义构造函数,所以构造函数不是必需的。
4.类及其属性、方法可以同时有一个以上的修饰符来修饰。
5.Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点6.抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。
7.Final类中的属性和方法都必须被final修饰符修饰。
8.最终类不能派生子类,最终方法不能被覆盖。
9.子类要调用父类的方法,必须使用super关键字。
10.一个Java类可以有多个父类。
11.如果p是父类Parent的对象,而c是子类Child的对象,则语句c = p是正确的。
12.在java集合中,Vector和HashMap是线程安全的。
13.当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个程序不一定终止运行。
14.接口是特殊的类,所以接口也可以继承,子接口将继承父接口的所有常量和抽象方法。
15.用“+”可以实现字符串的拼接,用- 可以从一个字符串中去除一个字符子串。
二、选择题(30分)1、关于垃圾收集的哪些叙述是正确的( ):A.程序开发者必须自己创建一个线程进行内存释放的工作B.垃圾收集允许程序开发者明确指定并立即释放该内存C.垃圾收集将检查并释放不再使用的内存D.垃圾收集能够在期望的时间释放被java对象使用的内存2、下面的哪些赋值语句是不正确的( ):A.float f=11.1;B.double d=5.3E12;C.double d=3.14159;D.double d=3.14D;3、下面关于变量及其范围的陈述哪些是不正确的( ):A.实例变量是类的成员变量B.实例变量用关键字static声明C.在方法中定义的'局部变量在该方法被执行时创建D.局部变量在使用前必须被初始化4、下列关于修饰符混用的说法,错误的是( ):A.abstract不能与final并列修饰同一个类B.abstract类中不可以有private的成员C.abstract方法必须在abstract类中D.static方法中能处理非static的属性5、容器Panel和Applet缺省使用的布局编辑策略是( ):A、BorderLayoutB、FlowLayoutC、GridLayoutD、CardLayout6、以下标识符中哪项是不合法的( ):A、 BigMeaninglessNameB、$intC、1 stD、$17、main方法是Java Application程序执行的入口点,关于main 方法的方法头以下哪项是合法的( ):A、 public static void main()B、 public static void main(String[ ] args)C、 public static int main(String[ ] arg)D、 public void main(String arg[ ])8、执行完以下代码int [ ] x = new int[25];后,以下哪项说明是正确的( ):A、 x[24]为0B、 x[24]未定义C、 x[25]为0D、 x[0]为空9、以下代码段执行后的输出结果为( ):int x=3; int y=10;System.out.println(y%x);A、0B、1C、2D、310、以下哪个表达式是不合法的( ):A、String x=”Hello”; int y=9; x+=y;B、String x=”Hello”; int y=9; if(x= =y) { }C、String x=”Hello”; int y=9; x=x+y;D、String x=null; int y=(x!=null)&&(x.length()>0) ? x.length : 011、编译运行以下程序后,关于输出结果的说明正确的是 ( ):public class Conditional{public static void main(String args[ ]){int x=4;System.out.println(“value is “+ ((x>4) ? 99.9 :9));}}A、输出结果为:value is 99.99B、输出结果为:value is 9C、输出结果为:value is 9.0D、编译错误12、以下声明合法的是( ):A、 default String s;B、 public final static native int w( )C、 abstract double d;D、 abstract final double hyperbolicCosine( )13、关于以下application的说明,正确的是( ):1. class StaticStuff2. {3. static int x=10;4. static { x+=5;}5. public static void main(String args[ ])6. {7. System.out.println(“x=” + x);8. }9. static { x/=3;}10. }A、 4行与9行不能通过编译,因为缺少方法名和返回类型B、 9行不能通过编译,因为只能有一个静态初始化器C、编译通过,执行结果为:x=5D、编译通过,执行结果为:x=314、关于以下程序代码的说明正确的是( ):1.class HasStatic{2. private static int x=100;3. public static void main(String args[ ]){。
Java软件开发工程师笔试题及答案考试时间:120分钟姓名:___________ 成绩:___________一、选择题(共40题,每题2分)1.下列表达式正确的( )A、byte b = 128;B、boolean flag = null;C、float f = 0.9239;D、long a = 2147483648L;2.下列运算符合法的是( )A、&&B、<>C、ifD、:=、3.如下哪个不是java的关键字( )A、constB、NULLC、ifD、this4.提供Java存取数据库能力的包是( )A、java.sqlB、java.awtC、ngD、java.swing5.下列哪一种叙述是正确的( )A、abstract修饰符可修饰字段、方法和类B、抽象方法的body部分必须用一对大括号{ }包住C、声明抽象方法,大括号可有可无D、声明抽象方法不可写出大括号6.关于源文件,下列说法错误的是( )A、一个源文件里可以有多个class声明B、一个源文件里只能有一个class用public修饰C、源文件的名称只要和源文件里任意一个类名相同即可D、在开发的时候,如果两个类不存在嵌套关系,最好是一个源文件只有一个类7.已知表达式int m [ ] = {0,1,2,3,4,5,6};下面哪个表达式的值与数组下标量总数相等( )A、m.length()B、m.lengthC、m.length()+1D、m.length-18.下列程序的输出结果是()String str = null;System.out.println(a+2);A、2B、”2”C、”null2”D、” null+2”9.下列程序的输出结果是()int a = 012;int b = a < < 1;System.out.println(b);A、20B、24C、falseD、2110.下列程序的输出结果是()int a = 0x12;int b = a < < 1;System.out.println(b);A、36B、24C、falseD、2111.下列程序的输出结果是()int a = 23;int b = 5;System.out.println(a % b);A、4B、3C、4.6D、012.下列程序的输出结果是()double a = 23.0;double b = 5.0;System.out.println(a % b);A、4B、3C、4.0D、3.013.下列程序的输出结果是()int i = 2;i = i ++;int j = i ++;System.out.println(i+”, ”+j);A、2, 1B、2, 2C、2, 3D、3, 214.关于线程设计,下列描述正确的是()A、线程对象必须实现Runnable接口;B、启动一个线程直接调用线程对象的run()方法;C、Java提供对多线程同步提供语言级的支持;D、一个线程可以包含多个进程;15.欲构造ArrayList类得一个实例,此类继承了List接口,下列哪个方法是正确的()A、ArrayList myList = new Object();B、List myList = new ArrayList();C、ArraylList myList = new List();D、List myList = new List();16.下哪一个类型不能作为switch语句表达式的类型()A、intB、charC、StringD、short17.下面哪行代码有编译问题()public class Test{public void Test(){ //①}public Test(String str){ //②System.out.println(str);}public static void main(String[] args){Test t1 = new Test(); //③Test t2 = new Test(“hello”); //④}}A、①B、②C、③D、④18.关于Map和List,下面说法正确的是()A、Map继承ListB、List中可以保存Map或ListC、Map和List只能保存从数据库中取出的数据D、Map的value可以是List或Map19.下列描述正确的是()A、数组是一种对象B、数组属于一种原生类C、int number=[]={31,23,33,43,35,63}D、数组的大小可以任意改变20.关于package,下列说法不正确的是()A、package的作用是可以对类进行分类管理B、package提供了包一级的封装C、package语句不必是类的第一条非注释代码D、package声明的包可以有子包,但两个子包的名称不能相同21.关于权限修饰符,下列说法错误的是()A、权限修饰符可以用来修饰类和类的成员B、public权限最大,可以跨包访问C、protected权限允许在同一个包访问D、类不能用private修饰22.下列哪种说法是正确的()A、实例方法可直接调用超类的实例方法B、实例方法可直接调用超类的类方法C、实例方法可直接调用其他类的实例方法D、实例方法可直接调用本类的类方法23.阅读下面的程序public class X extends Thread implements Runnable{public void run(){System.out.println("this is run()");}public static void main(String args[]){Thread t=new Thread(new X());t.start();}}正确的判断是()A、第一行会产生编译错误B、第六行会产生编译错误C、第六行会产生运行错误D、程序会运行和启动24.阅读下面的程序public class A{private int value;public A(int value){setValue(value);}public setValue(int value){this.value = value;}}public class Test{public static void main(String[] args){int i = 1;A a = new A(1);modify (i);modify (a);}public static void modify(int i){i = 10;}public static void modify (A a){a.setValue(10);}}关于main方法的执行,正确的判断是()A、i的值改变了,a的成员变量的值改变了B、i的值改变了,a的成员变量的值没有改变C、i的值没有改变,a的成员变量的值改变了D、i的值没有改变,a的成员变量的值没有改变25.关于eqauls方法,下列说法错误的是()A、用==判断两个对象相等B、用对象的eqauls方法判断两个对象相等C、根类Object的eqauls方法的实现机制是判断参数指向的对象和自身是否为同一个对象D、如果我们要判断对象相等,通常需要覆盖eqauls方法26.下面哪行代码有编译问题()public class Test{public static void main(String[] args){int[] a = {}; //①String[] str = {}; //②a = new int[]{}; //③str = {”1”,”2”}; //④}}A、①B、②C、③D、④27.下面哪种定义一个二维数组的方式是错误的()A、int[][] a = new int[5][];B、int[][] a = new int[][5];C、int[][] a = {};D、int[][] a = {{}};28.String s=new String(“hello”);String t =new String(“hello”);char c [ ] ={‘h’,’e’,’l’,’l’,’o’};下列哪些表达式返回true()(多选)A、s.equals(t);B、t.equals(c);C、s= =tD、t.equals (new String(“hello”));29.阅读下面代码:String str1 = “abc”;String str2 = new String(“abc”);boolean b1 = str1 == str2;boolean b2 = str1.eqauls(str2);判断正确的是()A、b1的值为true,b2的值为trueB、b1的值为false,b2的值为trueC、b1的值为true,b2的值为falseD、b1的值为false,b2的值为false30.对于下列代码:public class Parent {public int addValue (int a ,int b ){int s;s = a + b;return s;}}class Child extends Parent {}下述哪个方法可以加入类Child()A、int addValue(int a ,int b){//do something…}B、public void addValue(){//do something…}C、public int addV alue(){//do something…}D、public int addValue( int a, int b )throws MyException {//do some thing…}31.关于异常(Exception),下列说法错误的是()A、异常的基类为Exception,所有异常都必须直接或者间接继承它B、异常可以用try{ . . .}catch(Exception e){ . . .}来捕获并进行处理C、如果某异常继承RuntimeException,则该异常可以不被声明D、异常可以随便处理,而不是抛给外层的程序进行处理32.下列关于栈的叙述正确的是()A、栈是非线性结构B、栈是一种树状结构C、栈具有先进先出的特征D、栈具有后进先出的特征33.有关线程的哪个叙述是错误的()A、一旦一个线程被创建,它就立即开始运行。
2024年招聘Java开发工程师笔试题及解答(答案在后面)一、单项选择题(本大题有10小题,每小题2分,共20分)1、以下哪个不是Java中的基本数据类型?A、intB、floatC、StringD、boolean2、在Java中,以下哪个关键字用于声明一个类?A、classB、structC、enumD、interface3、关于Java中的String类,以下描述正确的是:A. String类是final类,无法继承。
B. String类是可变的,可以对其进行修改。
C. String类是可变的,每次对String对象的操作都会创建新的对象。
D. String类是不可变的,每次对String对象的操作都会创建新的对象。
4、关于Java中的垃圾回收机制,以下描述不正确的是:A. 垃圾回收器可以自动回收不再使用的对象占用的内存空间。
B. 垃圾回收机制是Java自动管理内存的一种方式,程序员无需手动释放内存。
C. 垃圾回收器会定期检查并回收那些不再有引用的对象。
D. 堆内存中的所有对象在不再有引用后,会自动关联到垃圾回收机制中,即成为垃圾,等待垃圾回收器来回收。
5、以下哪个Java版本正式支持模块化系统“Java Platform Module System”(JPMS)?A、Java 8B、Java 9C、Java 10D、Java 116、在Java中,以下哪个关键字用来声明一个线程?A、threadB、runC、ThreadD、start7、以下哪个关键字是Java中用于实现多线程的同步机制?A. synchronizedB. transientC. volatileD. static8、以下哪个选项不是Java中的访问修饰符?A. privateB. publicC. protectedD. friendly9、在Java中,以下哪个选项不是访问修饰符?A. publicB. privateC. protectedD. friend 10、下列关于Java异常处理的说法中,哪一个是正确的?A. Java程序必须捕获并处理所有抛出的异常。
J a v a开发工程师笔试试题(请不要在试题上留任何痕迹,所有答案均写在答题纸上)一.编程题(共26分)1.任意写出一种排序算法。
(6分)public void sort(int [] array){//代码区}2.求1+2+3+..n(不能使用乘除法、for 、while 、if 、else 、switch 、case 等关键字以及条件判断语句)(8分)public int sum(int n){//代码区return 0;}3.完成下面方法,输入一个整数,输出如下指定样式图案。
(12分)输入:3,输出:1*2*37*8*94*5*6输入:4输出:1*2*3*49*10*11*1213*14*15*165*6*7*8public void drawNumPic(int n){//代码区}二.选择题(定项选择每题3分,不定项选择每题4分,共63分)1.在基本JAVA类型中,如果不明确指定,整数型的默认是__类型,带小数的默认是__类型?( B )A.int floatB.int doubleC.long floatD.long double2.只有实现了__接口的类,其对象才能序列化( A )A.SerializableB.CloneableparableD.Writeable3.代码System. out. println(10 % 3 * 2);将打印出?( B )A. 1B.2C.4D.64.以下程序运行的结果为( A )public class Example extends Thread{@Overridepublic 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 mainB.main runC.mainD.runE.不能确定5.下面有关java实例变量,局部变量,类变量和final变量的说法,错误的是?( B )A.实例变量指的是类中定义的变量,即类成员变量,如果没有初始化,会有默认值B.局部变量指的是在方法中定义的变量,如果没有初始化,会有默认值C.类变量指的是用static修饰的属性D.final变量指的是用final 修饰的变量6.在如下所示的类Test中,共有(D)个构造方法。
交行java开发笔试题近年来,随着互联网的快速发展,各行各业对于技术人才的需求也越来越大。
作为一名Java开发工程师,我有幸参加了交通银行的Java开发笔试。
下面我将分享一下这次笔试的题目和我的思考。
笔试题目一:请编写一个Java程序,实现一个简单的计算器功能,能够进行加、减、乘、除四则运算。
这是一道经典的面试题,要求我们能够熟练运用Java的基本语法和面向对象的思想。
我首先创建了一个Calculator类,其中包含了四个方法:add、subtract、multiply和divide,分别用于实现加法、减法、乘法和除法运算。
在每个方法中,我使用了if-else语句来判断用户输入的运算符,并根据不同的运算符执行相应的运算操作。
最后,我在主函数中调用这些方法,实现了一个简单的计算器功能。
笔试题目二:请编写一个Java程序,实现一个简单的学生信息管理系统,能够实现学生信息的录入、查询、修改和删除功能。
这道题目考察了我们对于Java集合类的运用能力。
我首先创建了一个Student类,其中包含了学生的姓名、年龄和学号等属性。
然后,我创建了一个ArrayList集合,用于存储学生对象。
在主函数中,我使用了一个while循环,不断接收用户的输入,根据用户的选择执行相应的操作。
例如,当用户选择录入学生信息时,我通过Scanner类接收用户输入的学生信息,并创建一个新的学生对象,将其添加到ArrayList集合中。
当用户选择查询学生信息时,我通过遍历ArrayList集合,找到对应的学生对象,并将其信息打印出来。
当用户选择修改学生信息时,我通过遍历ArrayList集合,找到对应的学生对象,并根据用户的输入修改相应的属性。
当用户选择删除学生信息时,我通过遍历ArrayList集合,找到对应的学生对象,并将其从集合中移除。
通过这样的方式,我成功地实现了一个简单的学生信息管理系统。
通过这次笔试,我深刻体会到了Java开发的重要性和挑战性。
一、选择题1.Java中提供了名为()的包装类来包装原始字符串类型。
A.IntegerB.CharC.DoubleD.String2.ng包的()方法比较两个对象是否相等,相等返回true。
A.toString()B.equals()C.compare()D.以上所有选项都不正确3.下面的集合中,()不可以存储重复元素。
A.SetB.CollectionC.MapD.List4. Java接口的修饰符可以为()A privateB protectedC finalD abstract5. 下面哪些是Thread类的方法()A start()B run()C exit()D getPriority()6. 下面关于ng.Exception类的说法正确的是()A 继承自ThrowableB SerialableC集成自ErrorD以上都不正确7.下面程序的运行结果:()public static void main(String[] args) {// TODO Auto-generated method stubThread t = new Thread() {public void run() {pong();}};t.run();System.out.print("ping");}static void pong() {System.out.print("pong");}A pingpongB pongpingC pingpong和pongping都有可能D 都不输出8. 下面哪个流类属于面向字符的输入流( )A BufferedWriterB FileInputStreamC ObjectInputStreamD InputStreamReader9. ArrayList list = new ArrayList(20);中的list扩充几次()A 0B 1C 2D 3二、问答题1. String与StringBuffer的区别?2.谈谈final、finally、finalize的区别?3.创建一个对象的方法有哪些?4.编写一个程序,产生ArrayIndexOutOfBoundsException异常,并捕获该异常,在控制台输出异常信息。
Java工程师笔试题一、填空题(本大题10小题,每空1分,共20分)。
1.Java语言的三大特性即是: 继承、封装、多态。
2.在Java中,char 型采用____unicode_______编码方案,这样,无论是中文字符还是英文字符,都是占用__2___个字节的内存空间。
3. 形式参数指的是方法被__定义____ 时的参数行,实际参数是方法被__调用___ 时所传递进去的变量或值。
4.JSP户专用的。
6.程序中实现多线程的方法有两种:继承Thread类和实现___Runable _ 接口。
8.面向对象编程的五大设计原则,分别是单一职责、开放封闭、里氏替换、依赖倒置、接口分离9.通过Ajax,客户端获取的数据主要有两种类型:文本型和xml10.Socket通常也称为套接字,用于描述__ ip 和_ _接口二、选择题(本大题20 小题,每小题2分.共40分)。
1.在JA V A中,如果父类中某些方法不包含任何逻辑,并且需要由子类重写.应该使用( )关键字来声明父类的这些方法:A) final B) static C) abstract D) void2.在JA V A中,已定义两个接口B和C,要定义一个实现这两个接口的类,以下语句正确的是()。
A) interface A extend B,C B) interface A implements B,CC) class A implements B,C D) class A implements B, implements C3.在JA V A接口中可以定义( )。
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 的值是( )。
java笔试题大全带答案一、选择题1.下列哪个选项是JAVA语言中的基本数据类型?A. IntegerB. BooleanC. StringD. Double答案:B. Boolean2.以下关于JAVA程序的描述中,错误的是:A. JAVA源程序文件的扩展名为.javaB. JAVA虚拟机是JAVA程序的运行环境C. JAVA程序由一个或多个类组成D. JAVA程序的入口函数是main函数答案:C. JAVA程序由一个或多个类组成(应为:JAVA程序由一个类组成)3.以下哪种循环结构可以根据循环条件决定是否执行循环体?A. for循环B. do-while循环C. while循环D. switch循环答案:C. while循环4.以下关于JAVA的面向对象特性的描述中,正确的是:A. 封装是指将数据和操作数据的方法绑定在一起,形成一个类B. 多态是指同一个方法可以根据对象的不同,展现出不同的行为C. 继承是指一个类可以派生出多个子类D. 抽象是指一个类具有实例化对象的能力答案:B. 多态是指同一个方法可以根据对象的不同,展现出不同的行为二、填空题1.下列代码的输出结果是______。
```javaint a = 5;int b = 2;System.out.println(a / b);```答案:22.以下关于JAVA异常处理的语句中,正确的是______。
A. tryB. exceptC. catchD. throw答案:C. catch3.以下哪个关键字声明的方法可以被子类重写?A. finalB. staticC. abstractD. private答案:C. abstract4.以下哪个关键字可以在子类中调用父类的同名方法?A. thisB. superC. extendsD. implements答案:B. super三、编程题请编写一个JAVA程序,实现以下功能:1. 定义一个名为Rectangle的类,包含如下属性和方法:- 属性:宽度(width)、高度(height)- 方法:计算矩形面积(getArea)、计算矩形周长(getPerimeter)2. 在main函数中创建一个Rectangle对象,并计算其面积和周长并打印输出。
招聘Java开发工程师笔试题与参考答案(某大型央企)(答案在后面)一、单项选择题(本大题有10小题,每小题2分,共20分)1、在Java中,以下哪个关键字用于声明一个类的静态变量?A、publicB、privateC、staticD、final2、在Java中,以下哪个关键字用于声明一个方法为抽象方法?A、abstractB、nativeC、synchronizedD、transient3、在Java中,下列哪个关键字用于声明一个抽象类?A、finalB、staticC、abstractD、native4、以下哪个方法可以用来检查一个字符串是否以指定的后缀结束?A、String.endsWith(String suffix)B、String.startsWith(String prefix)C、String.indexOf(String str)D、stIndexOf(String str)5、以下哪个Java关键字是用来定义类的?A. newB. classC. objectD. this6、在Java中,以下哪个方法可以在子类中被重写(Override)?A. 静态方法B. 私有方法C. 构造方法D. 抽象方法7、以下哪个不是Java中的基本数据类型?A、intB、StringC、floatD、boolean8、关于Java中的异常处理,以下说法正确的是:A、try块中可以没有catch或finally块B、finally块中可以抛出新的异常C、try块中可以抛出异常,但finally块中不能抛出异常D、try块中抛出的异常必须在catch块中处理,或者在finally块中处理9、在Java中,以下哪个类是用于处理日期和时间的?A. CalendarB. DateC. TimeD. DateTime 10、以下哪个关键字用于声明一个无参构造函数?A. newB. thisC. constructorD. super二、多项选择题(本大题有10小题,每小题4分,共40分)1、以下哪些是Java中的基本数据类型?A、intB、StringC、floatD、booleanE、char2、以下哪些操作是Java中的异常处理机制?A、try-catchB、finallyD、throwsE、instanceof3、以下哪些是Java中用于异常处理的机制?()A. try-catchB. finallyC. throwsD. throwE. extends4、下列关于Java集合框架的说法,正确的是?()A. List接口是集合框架中的一部分,它允许存储重复的元素。
2024年招聘Java开发工程师笔试题及解答(某大型央企)(答案在后面)一、单项选择题(本大题有10小题,每小题2分,共20分)1、在Java中,以下哪个选项不是合法的数据类型?A. intB. floatC. charD. String2、以下哪个方法可以实现字符串的拼接?A. +B. +=C. StringBuilder.append()D. String.concat()3、以下哪个不是Java中定义的四种访问控制符?A、publicB、protectedC、privateD、internal4、在Java中,以下哪个类不是Java的根类?A、ObjectB、StringC、ThreadD、Math5、以下哪个不是Java中的基本数据类型?A. intB. floatC. StringD. boolean6、在Java中,以下哪个关键字用于定义一个不可变的字符串常量?A. finalB. staticC. constD. readonly7、在Java中,以下哪个关键字用于定义一个抽象类?A. classB. abstractC. interfaceD. final8、以下哪个Java集合类不允许有重复的元素?A. ArrayListB. LinkedListC. HashSetD. HashMap9、在Java中,以下哪个关键字用于声明一个类的成员变量为私有?A. publicB. protectedC. privateD. default 10、以下哪个方法可以在Java中用来创建一个对象?A. new()B. instantiate()C. create()D. object()二、多项选择题(本大题有10小题,每小题4分,共40分)1、以下哪些是Java中的基本数据类型?()A. intB. StringC. floatD. booleanE. List2、以下关于Java集合框架的说法正确的是?()A. HashMap和ArrayList都是线程安全的B. HashSet和LinkedList都是线程不安全的C. HashMap使用哈希表实现,ArrayList使用数组实现D. HashSet使用哈希表实现,LinkedList使用双向链表实现E. ArrayList可以动态扩容,LinkedList不能3、以下哪些技术是Java开发中常用的Web开发技术?()A、ServletB、JSPC、Spring MVCD、MyBatisE、HTML4、以下哪些是Java中用于异常处理的关键字?()A、tryB、catchC、finallyD、throwE、extends5、以下哪些技术栈是Java开发工程师在大型央企项目开发中常见的?()A. Spring FrameworkB. HibernateC. Spring BootD. MyBatisE. Apache CamelF. Java EE6、以下哪些是Java内存模型中定义的基本线程共享数据?()A. 基本数据类型B. 对象引用C. 常量D. 方法区数据E. 线程栈数据7、关于Java内存模型,以下说法正确的是:A. 线程之间共享主内存B. 每个线程都有自己的工作内存C. 主内存中的数据变化必须经过volatile关键字、synchronized关键字或final 关键字保证可见性D. volatile关键字可以保证原子性8、以下关于Java异常处理的说法,正确的是:A. try块中可以声明多个catch块,每个catch块可以捕获不同的异常类型B. finally块中的代码一定会被执行,无论try块中是否有异常发生C. 如果try块中发生异常,并且有一个相应的catch块处理该异常,那么程序将不会执行finally块D. 异常处理机制可以提高代码的健壮性和可维护性9、以下哪些技术或框架是Java开发工程师在项目开发中常用的?()A. Spring FrameworkB. HibernateC. Struts 2D. JavaServer Faces (JSF)E. ServletsF. jQueryG. MavenH. Docker 10、以下关于Java内存管理的说法,正确的是:()A. JVM中的堆内存是用于存储对象实例的内存区域。
中级Java软件开发工程师笔试题(附答案)问题:中级Java软件开发工程师笔试题(附答案)回答:Part I,总计70分-一、单选题(共12题,每题2分,共24分)1.下面关于Java的表述有错误的是_______________A.Java中没有sizeof操作符,所有数据类型的长度都是确定的,与平台无关。
B .在Java中,局部变量不会被自动初始化,需要显式的赋初值。
C. Java中的instanceof运算符,可以判断一个对象是否属于某个类的实例。
D .一个Java文件里可以有多个public类,但Java文件名必须和包含main方法的那个public类名精确一致。
2.下面关于Java中static关键字的表述错误的是_________________A .被static修饰的类成员变量在编译时由内存分配一块空间,直到程序停止运行才会被释放。
B .被static修饰的类方法只能访问其自身类未被static修饰的实例方法,而不能访问其他类的。
C.被static修饰的类方法不能使用this关键字。
D .在没有创建该类的对象时,该类中用static修饰的类方法就可以被调用3.下面关于Java中abstract关键字的表述有错误的是_________________A.用abstract修饰不在类内实现的方法,称为抽象方法;抽象方法必须在子类派生时被重载。
B.用abstract修饰的类为抽象类;抽象类可以同时被static或final关键字修饰。
C.抽象类中不一定包含抽象方法,但包含抽象方法的类一定要声明为抽象类。
D .如果一个类被定义为抽象类,则该类不能进行实例化。
4.下面关于Java中垃圾回收(gc)的表述有错误的是 ___________________A .在String strl = Hello String str2 = str1;str1 = null; 中,对象Hello不会被垃圾回收。
招聘Java开发工程师笔试题及解答(某大型国企)一、单项选择题(本大题有10小题,每小题2分,共20分)1、下列哪个不是Java语言的关键字?A. sizeofB. abstractC. superD. interface答案:A. sizeof解析:在Java中,并没有sizeof关键字,而是使用特定的方法如数组的length 属性或者特定类的方法来获取对象或者数据的大小。
其他选项均为Java中的关键字,分别用于声明抽象类或方法、访问父类对象以及声明接口。
2、关于Java异常处理机制,下面哪一个描述是正确的?A. try语句块中只能包含catch语句块不能包含finally语句块。
B. catch语句块可以单独使用,不需要与try语句块配合。
C. finally语句块总是会被执行,无论是否发生异常。
D. 如果try语句块中有return语句,则finally语句块中的return语句不会被执行。
答案:C. finally语句块总是会被执行,无论是否发生异常。
解析:Java异常处理机制中,finally块是用来确保无论是否抛出异常都会被执行的部分,它通常用来释放资源。
即使try语句块中有return语句,finally中的代码也会先于return执行,但它不会覆盖return的结果。
其他选项中,A选项错误在于try 语句块可以与finally一起使用;B选项错误在于catch必须与try一起使用;D选项描述不准确,因为finally块中的代码会在return之前执行,但它不会改变return 的值,除非在finally中修改了返回值。
3、以下哪个关键字在Java中用于声明类?A. classB. objectC. newD. instance答案:A解析:在Java中,关键字class用于声明一个类。
object、new和instance都不是用于声明类的关键字。
object是Java中所有类的根类,new是用于创建对象实例的运算符,而instance通常用来检查一个对象是否为某个类的实例。
Java开发工程师笔试题目
1.下面程序的输出结果是:
public class Foo {
public static void main(String[] args) {
Integer f1 = 100, f2 = 100, f3 = 150, f4 = 150;
System.out.println(f1 == f2);
System.out.println(f3 == f4);
}
} [单选题] *
A.false true
B.true true
C.true false(正确答案)
D.false false
2.集合在遍历时,删除符合条件的元素,下面哪些说法是正确的: [单选题] *
A.在 foreach 循环里进行元素的 remove操作。
B.使用Iterator方式,如果有并发,需要对Iterator对象加锁。
(正确答案)
C.Iterator进行元素的删除操作,是线程安全的。
D.Java无法实现在遍历时,进行删除元素操作。
3.下面说法哪些是正确的:() *
A.LinkedList继承自List
B.AbstractSet继承自Set
C.HashSet继承自AbstractSet(正确答案)
D.WeakMap继承自HashMap
4.Java中实现多线程的方法有:() *
A.继承Thread类(正确答案)
B.实现Runnable接口(正确答案)
C.使用Future实现有返回结果的多线程(正确答案)
D.实现Callable接口(正确答案)
5.关于线程池管理线程的好处,下列哪些说法是正确的:() *
A.能够减少在创建和销毁线程上所花的时间以及系统资源的开销(正确答案)
B.使用线程池一定能避免OOM问题
C.线程资源必须通过线程池提供,不允许在应用中自行显式创建线程(正确答案)
D.线程池能够根据资源等待情况,自动调整线程优先级并解决死锁问题
6.关于线程安全,下列哪些说法是正确的:() *
A.SimpleDateFormat 是线程不安全的类。
(正确答案)
B.SimpleDateFormat 是线程安全的类。
C.一般不要定义SimpleDateFormat的static变量,如果定义为static,必须保证线程安全。
(正确答案)
D.推荐使用Apache封装好的DateUtils和DateFormatUtils工具类,来处理时间日期转换问题。
(正确答案)
7.关于索引效率,下列哪些说法是正确的:() *
A.使用索引的效率一定高于全表扫描的效率。
B.关于explain的结果,type=index的索引效率好于type=ref。
C.sql查询条件where a like‘%傲林%’,不会走索引。
(正确答案)
D.sql查询条件where a like‘傲林%’,a列创建了索引,一般会使用索引进行检索。
(正确答案)
8.如何处理单元测试产生的数据,下列哪些说法是正确的:() *
A.测试数据入库时加特殊前缀标识。
(正确答案)
B.测试数据使用独立的测试库。
(正确答案)
C.自动回滚单元测试产生的脏数据。
(正确答案)
D.无须区别,统一在业务代码中进行判断和识别。
9.Spring Boot 有哪些优点:() *
A.减少开发,测试时间(正确答案)
B.避免大量的Maven导入和各种版本冲突(正确答案)
C.使用XML有助于开发
D.通过提供默认值快速开始开发(正确答案)
10.Spring Boot核心注解是:() *
A.SpringBootApplication(正确答案)
B.SpringBootApplication(exclude = {DataSourceAuthConfiguration.class})(正确答案)
C.EnableConfiguration
ponentScan(正确答案)
11.Spring Boot 配置加载顺序:()
1.jar包里的properties(yaml)文件
2.系统环境变量
3.命令行参数
4.jar包外的properties(yaml)文件 [单选题] *
A.3421
B.2134
C.4223
D.3241(正确答案)
12.Spring Cloud中的配置中心的作用:() *
A.集中管理不同环境的配置文件,动态化配置更新(正确答案)
B.当配置发生变化时,服务需要重新启动加载最新的配置文件
C.服务会定时拉取配置中心的配置文件(正确答案)
D.配置集中管理管理,方便运维(正确答案)
13.下面关于Spring Cloud的注册中心说法正确的有:() *
A.注册中心就是服务发现的核心(正确答案)
B.注册中心可以不具有高可用性
C.注册中心需要保存服务实例的地址和端口(正确答案)
D.注册中心要有实时更新的功能(正确答案)
14.Zookeeper对于Kafka的作用是什么:() *
A.Zookeeper主要用于在集群中不同节点之间进行通信(正确答案)
B.Zookeeper用于保存Kafka的消息,方便kafka恢复消息
C.Zookeeper用于保存kafka的提交offset(正确答案)
D.Kafka的消息保存到Zookeeper,默认保存72小时
15.如何获取MySQL的版本:() [单选题] *
A.select version from system
B.select version()(正确答案)
C.select version, system from mysql
D.select ver from mysql
16.MySQL中按照数据操作的锁粒度来分有哪几种锁:() *
A.表级锁(正确答案)
B.行级锁(正确答案)
C.共享锁
D.页级锁(正确答案)
17.Redis的数据结构有哪些:() *
A.String(正确答案)
B.Hash(正确答案)
C.List(正确答案)
D.Map
E.Set(正确答案)
F.以上全都是
18.Redis的持久化策略有哪些:() *
A.FIFO
B.RDB(正确答案)
C.LRU
D.AOF(正确答案)
19.下列关于HashMap描述正确的是:() *
A.HashMap的数据结构是数组+链表+红黑树(正确答案)
B.HashMap的负载因子是0.8
C.HashMap扩容后数组大小为当前的2^n倍(正确答案)
D.HashMap数组中每个元素是一个单向链表(正确答案)
20.JVM垃圾回收算法:() *
A.标记清除法(正确答案)
B.复制算法(正确答案)
C.标记整理算法(正确答案)
D.以上都不是。