JAVA笔试经验(共9篇)由网友“周末没有玩具”投稿提供,以下是小编为大家整理后的JAVA笔试经验,希望对您有所帮助。
篇1:JAVA笔试经验
·short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
对于short s1 = 1; s1 = s1 + 1; 由于s1+1运算时会自动提升表达式的类型,所以结果是int型,再赋值给short类型s1时,编译器将报告需要强制转换类型的错误,
对于short s1 = 1; s1 += 1;由于 += 是java语言规定的运算符,java编译器会对它进行特殊处理,因此可以正确编译。
·用最有效率的方法算出2乘以8等於几?
2 << 3,
因为将一个数左移n位,就相当于乘以了2的n次方,那么,一个数乘以8只要将其左移3位即可,而位运算cpu直接支持的,效率最高,所以,2乘以8等於几的最效率的方法是2 << 3。
·请设计一个一百亿的计算器
首先要明白这道题目的考查点是什么,一是大家首先要对计算机原理的底层细节要清楚、要知道加减法的位运算原理和知道计算机中的算术运算会发生越界的情况,二是要具备一定的面向对象的设计思想。
首先,计算机中用固定数量的几个字节来存储的数值,所以计算机中能够表示的数值是有一定的范围的,为了便于讲解和理解,我们先以byte 类型的整数为例,它用1个字节进行存储,表示的最大数值范围为-128到+127。-1在内存中对应的二进制数据为11111111,如果两个-1相加,不考虑Java运算时的类型提升,运算后会产生进位,二进制结果为1,11111110,由于进位后超过了byte类型的存储空间,所以进位部分被舍弃,即最终的结果为11111110,也就是-2,这正好利用溢位的方式实现了负数的运算。-128在内存中对应的二进制数据为10000000,如果两个-128相加,不考虑Java运算时的类型提升,运算后会产生进位,二进制结果为1,00000000,由于进位后超过了byte类型的存储空间,所以进位部分被舍弃,即最终的结果为00000000,也就是0,这样的结果显然不是我们期望的,这说明计算机中的算术运算是会发生越界情况的,两个数值的运算结果不能超过计算机中的该类型的数值范围。由于Java中涉及表达式运算时的类型自动提升,我们无法用byte类型来做演示这种问题和现象的实验,大家可以用下面一个使用整数做实验的例子程序体验一下:
int a = Integer.MAX_VALUE;
int b = Integer.MAX_VALUE;
int sum = a + b;
System.out.println(“a=”+a+”,b=”+b+”,sum=”+sum);
先不考虑long类型,由于int的正数范围为2的31次方,表示的最大数值约等于2*1000*1000*1000,也就是20亿的大小,所以,要实现一个一百亿的计算器,我们得自己设计一个类可以用于表示很大的整数,并且提供了与另外一个整数进行加减乘除的功能,大概功能如下:
这个类内部有两个成员变量,一个表示符号,另一个用字节数组表示数值的二进制数
()有一个构造方法,把一个包含有多位数值的字符串转换到内部的符号和字节数组中
()提供加减乘除的功能
public class BigInteger
{
int sign;
byte[] val;
public Biginteger(String val)
{
sign = ;
val = ;
}
public BigInteger add(BigInteger other)
{
}
public BigInteger subtract(BigInteger other)
{
}
public BigInteger multiply(BigInteger other)
{
}
public BigInteger divide(BigInteger other)
{
}
}
备注:要想写出这个类的完整代码,是非常复杂的,如果有兴趣的话,可以参看jdk中自带的java.math.BigInteger类的源码。面试的人也知道谁都不可能在短时间内写出这个类的完整代码的,他要的是你是否有这方面的概念和意识,他最重要的还是考查你的能力,所以,你不要因为自己无法写出完整的最终结果就放弃答这道题,你要做的就是你比别人写得多,证明你比别人强,你有这方面的思想意识就可以了,毕竟别人可能连题目的意思都看不懂,什么都没写,你要敢于答这道题,即使只答了一部分,那也与那些什么都不懂的人区别出来,拉开了距离,算是矮子中的高个,机会当然就属于你了。另外,答案中的框架代码也很重要,体现了一些面向对象设计的功底,特别是其中的方法命名很专业,用的英文单词很精准,这也是能力、经验、专业性、英语水平等多个方面的体现,会给人留下很好的印象,在编程能力和其他方面条件差不多的情况下,英语好除了可以使你获得更多机会外,薪水可以高出一千元。
·使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
使用final关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的。例如,对于如下语句:
final StringBuffer a=new StringBuffer(“immutable”);
执行如下语句将报告编译期错误:
a=new StringBuffer(“”);
但是,执行如下语句则可以通过编译:
a.append(“ broken!”);
有人在定义方法的参数时,可能想采用如下形式来阻止方法内部修改传进来的参数对象:
public void method(final StringBuffer param)
{
}
实际上,这是办不到的,在该方法内部仍然可以增加如下代码来修改参数对象:
param.append(“a”);
·“==”和equals方法究竟有什么区别?
(单独把一个东西说清楚,然后再说清楚另一个,这样,它们的区别自然就出来了,混在一起说,则很难说清楚)
==操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符,
如果一个变量指向的数据是对象类型的,那么,这时候涉及了两块内存,对象本身占用一块内存(堆内存),变量也占用一块内存,例如Objet obj = new Object();变量obj是一个内存,new Object()是另一个内存,此时,变量obj所对应的内存中存储的数值就是对象占用的那块内存的首地址。对于指向对象类型的变量,如果要比较两个变量是否指向同一个对象,即要看这两个变量所对应的内存中的数值是否相等,这时候就需要用==操作符进行比较。
equals方法是用于比较两个独立对象的内容是否相同,就好比去比较两个人的长相是否相同,它比较的两个对象是独立的。例如,对于下面的代码:
String a=new String(“foo”);
String b=new String(“foo”);
两条new语句创建了两个对象,然后用a,b这两个变量分别指向了其中一个对象,这是两个不同的对象,它们的首地址是不同的,即a和b中存储的数值是不相同的,所以,表达式a==b将返回false,而这两个对象中的内容是相同的,所以,表达式a.equals(b)将返回true。
在实际开发中,我们经常要比较传递进行来的字符串内容是否等,例如,String input = …;input.equals(“quit”),许多人稍不注意就使用==进行比较了,这是错误的,随便从网上找几个项目实战的教学视频看看,里面就有大量这样的错误。记住,字符串的比较基本上都是使用equals方法。
如果一个类没有自己定义equals方法,那么它将继承Object类的equals方法,Object类的.equals方法的实现代码如下:
boolean equals(Object o){
return this==o;
}
这说明,如果一个类没有自己定义equals方法,它默认的equals方法(从Object 类继承的)就是使用==操作符,也是在比较两个变量指向的对象是否是同一对象,这时候使用equals和使用==会得到同样的结果,如果比较的是两个独立的对象则总返回false。如果你编写的类希望能够比较该类创建的两个实例对象的内容是否相同,那么你必须覆盖equals方法,由你自己写代码来决定在什么情况即可认为两个对象的内容是相同的。
·静态变量和实例变量的区别?
在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。
在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了。总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用。
例如,对于下面的程序,无论创建多少个实例对象,永远都只分配了一个staticVar变量,并且每创建一个实例对象,这个staticVar就会加1;但是,每创建一个实例对象,就会分配一个instanceVar,即可能分配多个instanceVar,并且每个instanceVar的值都只自加了1次。
public class VariantTest
{
public static int staticVar = 0;
public int instanceVar = 0;
public VariantTest()
{
staticVar++;
instanceVar++;
System.out.println(“staticVar=” + staticVar + ”,instanceVar=” + instanceVar);
}
}
备注:这个解答除了说清楚两者的区别外,最后还用一个具体的应用例子来说明两者的差异,体现了自己有很好的解说问题和设计案例的能力,思维敏捷,超过一般程序员,有写作能力!
·是否可以从一个static方法内部发出对非static方法的调用?
不可以。因为非static方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而static方法调用时不需要创建对象,可以直接调用。也就是说,当一个static方法被调用时,可能还没有创建任何实例对象,如果从一个static方法中发出对非static方法的调用,那个非static方法是关联到哪个对象上的呢?这个逻辑无法成立,所以,一个static方法内部发出对非static方法的调用。
·Integer与int的区别
int是java提供的8种原始数据类型之一。Java为每个原始类型提供了封装类,Integer是java为int提供的封装类。int的默认值为0,而Integer的默认值为null,即Integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况,例如,要想表达出没有参加考试和考试成绩为0的区别,则只能使用Integer。在JSP开发中,Integer的默认为null,所以用el表达式在文本框中显示时,值为空白字符串,而int默认的默认值为0,所以用el表达式在文本框中显示时,结果为0,所以,int不适合作为web层的表单数据的类型。
在Hibernate中,如果将OID定义为Integer类型,那么Hibernate就可以根据其值是否为null而判断一个对象是否是临时的,如果将OID定义为了int类型,还需要在hbm映射文件中设置其unsaved-value属性为0。
另外,Integer提供了多个与整数相关的操作方法,例如,将一个字符串转换成整数,Integer中还定义了表示整数的最大值和最小值的常量。
·下面的代码有什么不妥之处?
1. if(username.equals(“zxx”){}
2. int x = 1;
return x==1?true:false;
篇2:java程序员认证笔试经验
一、获取认证的时间和费用
Java的培训可以说是所花时间最少的课程,相应的考前准备时间也会远远少于那些动辄十天二十天的课程,在竞争如此激烈的IT界,时间因素是广大界内人士不得不考虑的问题。费用方面,对于Java认证来说,一般的上班族都还可以承受,特别Java程序员认证可以说是性能价格比很好的认证了(在校大学生一般也能承受)。
二、在国内的普及程度或曰认知度
国内目前的IT国际认证,位于前三甲的应该是微软的MCSE、CISCO的CCNA、Sun的SCJP。但是这三种认证在技术领域上是没有冲突的,Java是有关企业级开发的技术,MCSE是企业内部局域网组网和管理技术,而CCNA主要是基于CISCO公司产品的广域网技术。所以对于欲进入IT界或是IT界内想继续深造的人士来说,在希望取得某种国际认证时,也要仔细分析现在工作需要什么技术,或者将来希望从事哪方面工作,切忌盲目获取自认为最热门的认证。不过,这里提到的三种认证,即使拿到了,也并不能代表就是该领域的专家,可以说这只是一个基础,仅仅是找工作的敲门砖而已,余下的还需要自己到工作中去不断的发现,补充和完善。换句话说,这些认证的含金量,或者说企业对他们的认可度是远远比不上那些培训时间较长,费用较贵的认证类型的,例如Oracle的OCP认证,微软的MCSD认证等等。 Java认证的目的
美国Sun公司提供的关于Java的SCJP/SCJD认证是全球各大企业都认同的行业认证之一,其特点是培训和考试费用高、考试难度较大。那么,为何要进行Java的认证考试呢?其目的主要为:
Java认证是全球各大企业都认可的行业认证,获取该认证表明您有很高水平的Java编程能力,这样就可以拥有更多的找到好的满意的工作的机会,当然,这也同样为您的提升增加了一个很重要的砝码。
Java语言本身很简单,很容易学和使用,但也有很多的一些习惯用法与其它语言不同。获得JSCP认证将使您在Java编程中更具有专业性,同时也能极大地增强您的自信心。
使用Java语言可以编写简短、精确、清晰的一流的程序,但是其认证却是比较困难的考试,不过这却让SCJP考试具有更高的价值。
目前有很多要出国或者移民的人参加该项培训和认证,因为在美国或加拿大,Java编程的需求是非常大的。
三、SUNJAVA认证的内容和认知度
Java技术主要是讲授程序设计方面的知识,它的程序员认证(SCJP)课程可以作为企业级程序设计的入门课程来看待。其实该课程并不是从最基础的程序设计基本概念讲起,但与现在业界使用的其它开发语言比较,java还是比较流行的。而且Java技术是现在大多数企业在从事电子商务开发,企业信息化建设,Web应用开发时的首选技术。考取该认证的以在校大学生,希望移民加拿大的,及IT界中非开发人员希望转行做开发的为多。对于希望凭借自己快速学习的技能找工作的人来说,宁愿自己多花点功夫拿一个流行技术的认证,也不愿为了省事而去学一些没有任何技术资格认证的编程语言,所以它的吸引力还是很大的。 微软公司的MCSD课程也讲授企业级开发技术,但是它的起点比较高,一般学习该课程的同学都是使用了很长时间微软公司的产品,并且在企业级开发技术方面有一定基础的人。与获取Java程序员认证比较,不管是从学习的时间还是从学习费用考虑,MCSD都高于Java,而且要想获取该认证需要花的时间和精力也远远高于Java认证(不仅是Java程序员认证,也包括Java开发员认证SCJD)。
Oracle公司的数据库开发员(DEV)认证也是开发方面的技术资格认证,当然它偏重于数据库方面的企业级开发技能的训练。但是在Oracle的开发技能中Java技术所处的地位也是很重要的,因为从Oracle8i起是完全内嵌Java支持的,懂得Java技术的开发员做这方面的开发工作时会更加得心应手。从这个意义上来说,Java程序员认证也是一个基础(Oracle公司有自己的Java程序员认证课程,不过费用高于Sun公司的)。
Lotus公司的CLP开发员认证也涉及到开发的技术资格证书,该证书代表其所有者的技能能够对Lotus的Notes系统进行二次开发。不过学习该技术的人也最好具有Java基础,因为这其中也有很多编程工作依靠Java语言来完成。当然,该认证的应用范围是比较窄的,不过由于Lotus公司在国内的市场占有率情况不错,所以该认证还是具备一定的竞争力。
另外,微软、Oracle、Lotus也都有自己的网络或数据库管理方面的课程。而Cisco公司的认证则主要涉及广域网的组网技术。他们与Sun公司的Java分别属于不同的技术方向。
从以上叙述可以看出,Java技术作为很多专门技术的基础性技术而存在,这是Java认证得以受到大量人青睐的先决条件。
篇3:去哪儿网Java开发笔试经验
去哪儿网Java开发笔试经验
1. 数学逻辑(组合数学 排列)等知识
2. 数据结构、算法概念(先序,后续,中序排序,时间复杂度计算)
3. linux内核方法(如何创建线程)等
4. apache access.log统计脚本怎么写?
5. javase基础问题,Core Java、线程、Java集合,冰法concurrent,nio等
6. 数据库索引、表空间、SQL性能等,
7. 实际写算法
a.有系统自动生成的四位数和用户手动输入的四位数,
要求这两个数字逐位比较。如果两个四位数的`每一位数字和位置都相同就是一个A,如果数字相同位置不同,就是一个B。例如系统自动产生一个1024,用户输入一个4031.0都在百位上所以就是一个A,有4和1两个相同数字,但是位置不同就是两个B,比对结果返回的就是1A2B。如果既无A有无B,那么就算是错误一次。错误达到六次提示游戏重来。获取系统数字的函数是getRandomNum.获取用户输入数字的函数是getUserNum()
b. 我们有很多瓶无色的溶液,其中有一瓶是毒药,其它都是蒸馏水,实验的小白鼠喝了以后会在5分钟后死亡,而喝到蒸馏水的小白鼠则一切正常,现在有5只小白鼠,请问一下,我们用这五只小白鼠,5分钟的时间,能够检测多少瓶液体的成分
等等
篇4:JAVA笔试题目
JAVA笔试题目
1、EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?
SessionBean: Stateless Session Bean 的生命周期是由容器决定的,当客户机发出请求要建立一个Bean的实例时,EJB容器不一定要创建一个新的Bean的实例供客户机调用,而是随便找一个现有的实例提供给客户机,当客户机第一次调用一个Stateful Session Bean 时,容器必须立即在服务器中创建一个新的Bean实例,并关联到客户机上,以后此客户机调用Stateful Session Bean 的.方法时容器会把调用分派到与此客户机相关联的Bean实例。
EntityBean:Entity Beans能存活相对较长的时间,并且状态是持续的。只要数据库中的数据存在,Entity beans就一直存活。而不是按照应用程序或者服务进程来说的。即使EJB容器崩溃了,Entity beans也是存活的。Entity Beans生命周期能够被容器或者 Beans自己管理。
EJB通过以下技术管理实务:对象管理组织(OMG)的对象实务服务(OTS),Sun Microsystems的Transaction Service(JTS)、Java Transaction API(JTA),开发组(X/Open)的XA接口。
2、应用服务器有那些?
BEA WebLogic Server,IBM WebSphere Application Server,Oracle9i Application Server,jBoss,Tomcat
3、给我一个你最常见到的runtime exception。
ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException, ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException
4、接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?
接口可以继承接口,
抽象类可以实现(implements)接口,抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数。
5、List, Set, Map是否继承自Collection接口?
List,Set是,Map不是
6、说出数据连接池的工作机制是什么?
J2EE 服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。客户端程序需要连接时,池驱动程序会返回一个未使用的池连接并将其表记为忙。如果当前没有空闲连接,池驱动程序就新建一定数量的连接,新建连接的数量由配置参数决定。当使用的池连接调用完成后,池驱动程序将此连接表记为空闲,其他调用就可以使用这个连接。
7、abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?
都不能
8、数组有没有length()这个方法? String有没有length()这个方法?
数组没有length()这个方法,有length的属性。String有有length()这个方法。
9、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
Set里的元素是不能重复的,那么用iterator()方法来区分重复与否。equals()是判读两个Set是否相等。
equals()和==方法决定引用值是否指向同一对象equals()在类中被覆盖,为的是当两个分离的对象的内容和类型相配的话,返回真值。
10、构造器Constructor是否可被override?
构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading。
11、是否可以继承String类?
String类是final类故不可以继承。
12、swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
switch(expr1)中,expr1是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是int、 short、 char 或者 byte。long,string 都不能作用于swtich。
13、try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
会执行,在return前执行。
14、编程题: 用最有效率的方法算出2乘以8等於几?
2 << 3 (有C背景的程序员特别喜欢问这种问题)
15、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?
不对,有相同的hash code。
16、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
是值传递。Java 编程语言只有值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的。
篇5:JAVA笔试回顾
,
问了我许多问题中,大概有一半以上是回答不出来或者回答不好的,才发现,平时用三大框架(Struts2+Hibernate+Spring)做项目,只是停留在表层的应用上,而没有深究其内部的工作原理。
篇6:Java笔试题目
java是一种编程语言。Java笔试有什么题目呢?快来看看吧。
Java笔试题:
一. 选择题
1. 以下属于面向对象的特征的是(C,D)。(两项)
A) 重载
B) 重写
C) 封装
D) 继承
2. 以下代码运行输出是(C)
public class Person{
private String name=”Person”;
int age=0;}
public class Child extends Person{
public String grade;
public static void main(String[] args){
Person p = new Child;
System.out.println(p.name);
}
}
A) 输出:Person
B) 没有输出
C) 编译出错
D) 运行出错
3. 在使用super 和this关键字时,以下描述正确的是(A)
A) 在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过
B) super()和this()不一定要放在构造方法内第一行
C) this()和super()可以同时出现在一个构造函数中
D) this()和super()可以在static环境中使用,包括static方法和static语句块
4. 以下对封装的描述正确的是(D)
A) 只能对一个类中的方法进行封装,不能对属性进行封装
B) 如果子类继承了父类,对于父类中进行封装的方法,子类仍然可以直接调用
C) 封装的意义不大,因此在编码时尽量不要使用
D) 封装的主要作用在于对外隐藏内部实现细节,增强程序的安全性
5. 以下对继承的描述错误的是(A)
A) Java中的继承允许一个子类继承多个父类
B) 父类更具有通用性,子类更具体
C) Java中的继承存在着传递性
D) 当实例化子类时会递归调用父类中的构造方法
6. 以下程序的运行结果是(D)
class Person{
public Person(){
System.out.println(“this is a Person”);
}
}
public class Teacher extends Person{
private String name=”tom”;
public Teacher(){
System.out.println(“this is a teacher”);
super();
}
public static void main(String[] args){
Teacher teacher = new Teacher();
System.out.println(this.name);
}
}
A) this is a Person
this is a teacher
tom
B) this is a teacher
this is a Person
tom
C) 运行出错
D) 编译有两处错误
7. 以下说法错误的是()
A) super.方法()可以调用父类的所有非私有方法
B) super()可以调用父类的所有非私有构造函数
C) super.属性可以调用父类的所有非私有属性
D) this和super关键字可以出现在同一个构造函数中
8. 以下关于final关键字说法错误的是(A,C)(两项)
A) final是java中的修饰符,可以修饰类、接口、抽象类、方法和属性
B) final修饰的类肯定不能被继承
C) final修饰的方法不能被重载
D) final修饰的变量不允许被再次赋值
9. 访问修饰符作用范围由大到小是(D)
A) private-default-protected-public
B) public-default-protected-private
C) private-protected-default-public
D) public-protected-default-private
10. 以下(D)不是Object类的方法
A) clone()
B) finalize()
C) toString()
D) hasNext()
11. 多态的表现形式有(A)
A) 重写
B) 抽象
C) 继承
D) 封装
12. 以下对重载描述错误的是(B)
A) 方法重载只能发生在一个类的内部
B) 构造方法不能重载
C) 重载要求方法名相同,参数列表不同
D) 方法的返回值类型不是区分方法重载的条件
13. 以下(D)添加到ComputerBook中不会出错
class Book{
protected int getPrice(){
return 30;
}
}
public class ComputerBook extends Book{
}
A) protected float getPrice(){}
B) protected int getPrice(int page){}
C) int getPrice(){}
D) public int getPrice(){return 10;}
14. 以下对抽象类的描述正确的是(C)
A) 抽象类没有构造方法
B) 抽象类必须提供抽象方法
C) 有抽象方法的类一定是抽象类
D) 抽象类可以通过new关键字直接实例化
15. 以下对接口描述错误的有(D)
A) 接口没有提供构造方法
B) 接口中的方法默认使用public、abstract修饰
C) 接口中的属性默认使用public、static、final修饰
D) 接口不允许多继承
16. 以下代码,描述正确的有(A)
interface IDemo{
public static final String name;1
void print();2
public void getInfo();3
}
abstract class Person implements IDemo{4
public void print(){
}
}
A) 第1行错误,没有给变量赋值
B) 第2行错误,方法没有修饰符
C) 第4行错误,没有实现接口的全部方法
D) 第3行错误,没有方法的实现
17. 接口和抽象类描述正确的有(B,C)(两项)
A) 抽象类没有构造函数
B) 接口没有构造函数
C) 抽象类不允许多继承
D) 接口中的方法可以有方法体
18. 以下描述错误的有(C)
A) abstract 可以修饰类、接口、方法
B) abstract修饰的类主要用于被继承
C) abstract 可以修饰变量
D) abstract修饰的类,其子类也可以是abstract修饰的
19. 以下描述正确的有(B)
A) 方法的重写应用在一个类的内部
B) 方法的重载与返回值类型无关
C) 构造方法不能重载
D) 构造方法可以重写
20. 以下程序运行结果是(A)
public class Test extends Father{
private String name=”test”;
public static void main(String[] args){
Test test = new Test();
System.out.println(test.getName());
}
}
class Father{
private String name=”father”;
public String getName() {
return name;
}
}
A) father
B) test
C) 编译出错
D) 运行出错,无输出
21. 以下对异常的描述不正确的有(C)
A) 异常分为Error和Exception
B) Throwable是所有异常类的父类
C) Exception是所有异常类父类
D) Exception包括RuntimeException和RuntimeException之外的异常
22. 在try-catch-finally语句块中,以下可以单独与finally一起使用的是(B)
A) catch
B) try
C) throws
D) throw
23. 下面代码运行结果是(B)
public class Demo{
public int add(int a,int b){
try{
return a+b;
}catch(Exception e){
System.out.println(“catch 语句块”);
}finally{
System.out.println(“finally 语句块”);
}
return 0;
}
public static void main(String[] args){
Demo demo = new Demo();
System.out.println(“和是:”+demo.add(9,34));
}
}
A) 编译异常
B) finally语句块 和是:43
C) 和是:43 finally语句块
D) catch语句块 和是:43
24. 以下描述不正确的有(D)
A) try块不可以省略
B) 可以使用多重catch块
C) finally块可以省略
D) catch块和finally块可以同时省略
25. 以下对自定义异常描述正确的是(C)
A) 自定义异常必须继承Exception
B) 自定义异常可以继承自Error
C) 自定义异常可以更加明确定位异常出错的位置和给出详细出错信息
D) 程序中已经提供了丰富的异常类,使用自定义异常没有意义
26. 以下程序运行结果是(D)
public class Test {
public int div(int a, int b) {
try {
return a / b;
}catch(Exception e){
System.out.println(“Exception”);
}catch(NullPointerException e){
System.out.println(“ArithmeticException”);
}
catch (ArithmeticException e) {
System.out.println(“ArithmeticException”);
} finally {
System.out.println(“finally”);
}
return 0;
}
public static void main(String[] args) {
Test demo = new Test();
System.out.println(“商是:” + demo.div(9, 0));
}
}
A) Exception finally 商是:0
B) ArithmeticException finally 商是:0
C) finally商是:0
D) 编译报错
27. 以下对TCP和UDP描述正确的是(D)
A) TCP不能提供数据的可靠性
B) UDP能够保证数据库的可靠性
C) TCP数据传输效率高于UDP
D) UDP数据传输效率高于TCP
28. 在Java中,下面对于构造函数的描述正确的是(D)。(选择一项)
A) 类必须显示定义构造函数
B) 构造函数的返回类型是void
C) 构造函数和类有相同的名称,并且不能带任何参数
D) 一个类可以定义多个构造函数
29. 根据下面的代码,
String s = null;
会抛出NullPointerException异常的有(A,C)。[两项]
A) if( (s!=null) & (s.length()>0) )
B) if( (s!=null) & & (s.length()>0) )
C) if( (s==null) | (s.length()==0) )
D) if( (s==null) || (s.length()==0) )
30. .在Java中,关于HashMap类的描述,以下廉洁错误的是( B )。
A) HashMap使用键/值得形式保存数据
B) HashMap 能够保证其中元素的顺序
C) HashMap允许将null用作键
D) HashMap允许将null用作值
31. 下列选项中关于java中super关键字的说法错误的是( B )
A) super关键字是在子类对象内部指代其父类对象的引用
B) super关键字不仅可以指代子类的直接父类,还可以指代父类的父类
C) 子类可以通过super关键字调用父类的方法
D) 子类可以通过super关键字调用父类的属性
32. 在Java中,以下代码( A )正确地创建了一个InputStreamReader对象。
A) InuptStreamReader(new FileInputStream(“1.dat”));
B) InuptStreamReader(new FileReader(“1.dat”));
C) InuptStreamReader(new BufferReader(“1.dat”));
D) InuptStreamReader (“1.dat”);
33. 在Java中,( D )类提供定位本地文件系统,对文件或目录及其属性进行基本操作。
A) FileInputStream
B) FileReader
C) FileWriter
D) File
34. Java中的集合类包括ArrayList、LinkedList、HashMap等类,下列关于集合类描述错误的是(C)(选择一项)
A) ArrayList和LinkedList均实现了List接口
B) ArrayList的访问速度比LinkedList快
C) 添加和删除元素时,ArrayList的表现更佳
D) HashMap实现Map接口,它允许任何类型的键和值对象,并允许将null用作键或值
35. 在Java中开发JDBC应用程序时,使用DriverManager类的getConnection()方法
建立与数据源的连接语句为:
Connection con = DriverManager.getConnection(“jdbc:odbc:news”);
URL连接中的”n ews”表示的是(C)(选择一项)
A) 数据库中表的名称
B) 数据库服务器的机器名
C) 数据源的名称
D) 用户名
36. 在Java中,JDBCAPI定义了一组用于与数据库进行通信的接口和类,它们包括在(B)包中。
A) java.lang
B) java.sql
C) java.util
D) java.math
37. Java中,以下( B )接口以键_值对的方式存储对象。
A) java.util.Collection
B) java.util.Map
C) java.util.List
D) java.util.Set
38. 以下关于对象序列化描述正确的是( C,D )[两项]
A) 使用FileOutputStream可以将对象进行传输
B) 使用PrintWriter可以将对象进行传输
C) 使用ObjectOutputStream类完成对象存储,使用ObjectInputStream类完成对象读取
D) 对象序列化的所属类需要实现Serializable接口
39. 在Java中,( A )类可用于创建链表数据结构的对象。
A) LinkedList
B) ArrayList
C) Collection
D) HashMap
40. 分析下面这段Java代码,它的运行结果是( C )。
Import java.io.*;
Public class B{
Public static void main(string [] args){
int i=12;
System.out.println(i+=i-=i*=i);}}
A) 100
B) 0
C) -120
D) 程序无法编译
41. 使用JDBC事务的步骤是(C,A,B,D)(多选)
A) 取消Connection的事务自动提交方式
B) 发生异常回滚事务
C) 获取Connection对象
D) 操作完毕提交事务
42. 以下对JDBC事务描述错误的是( B )
A) JDBC事务属于JAVA事务的一种
B) JDBC事务属于容器事务类型
C) JDBC事务可以保证操作的完整性和一致性
D) JDBC事务是由Connection发起的,并由Connection控制
43. 要通过可滚动的结果集更新数据,以下正确的是(A
A) pst=con.prepareStatement(sql, ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE)
B) pst=con.prepareStatement(sql, ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY)
C) pst=con.prepareStatement(sql, Resu ltSet.TYPE_SCROLL_SENSITIVE)
D) pst=con.prepareStatement(sql, ResultSet.CONCUR_UPDATABLE)
44. 存储过程pro有两个参数,第一个为输入参数,第二个为输出参数,以下代码正确的是(C)
A) CallableStatement cst=con.prepareCall(“(call pro(?,?))”);
B) CallableStatement cst=con.prepareCall(“(call pro(?))”);
C) CallableStatement cst=con.prepareCall(“{call pro(?,?)}”);
D) CallableStatement cst=con.prepareCall(“{call pro(?,?,?)}”);
45. 以下描述正确的是(B)
A) CallableStatement是PreparedStatement的父接口
B) PreparedStatement是CallableStatement的父接口
C) CallableStatement是Statement的子接口
D) PreparedStatement是Statement的父接口
46. 要删除book表中书籍(bookName)是”java”的记录,以下代码正确的是(A
String sql=”delete from book where bookName=?”;
PreparedStatement pst=con.preparedStatement(sql);
______________________________
pst.execute();
A) pst.setString(1,”java”);
B) pst.setString(0,”java”);
C) pst.setInt(0,”java”);
D) 以上选项都不正确
47. 获取ResutlSet对象rst的第一行数据,以下正确的是(B)
A) rst.hashNext();
B) rst.next();
C) rst.first();
D) rst.nextRow();
48. 以下可以正确获取结果集的有(AD)(多选)
A) Statement sta=con.createStatement();
ResultSet rst=sta.executeQuery(“select * from book”);
B) Statement sta=con.createStatement(“select * from book”);
ResultSet rst=sta.executeQuery();
C) PreparedStatement pst=con.preparedStatement();
ResultSet rst=pst.executeQuery(“select * from book”);
D) PreparedStatement pst=con.preparedStatement(“select * from book”);
ResultSet rst=pst.executeQuery();
49. 以下负责建立与数据库连接的是(D)
A) Statement
B) PreparedStatement
C) ResultSet
D) DriverManager
50. 使用JDBC连接数据库的顺序是(B,A,D,C,E)(多选)
A) 加载驱动
B) 导入驱动包
C) 发送并处理SQL语句
D) 建立于数据库的连接
E 关闭连接
篇7:东华软件股份有限公司Java求职笔试经验
东华软件股份有限公司Java求职笔试经验
这虽然不是我人生中的第一次面试,因为之前我参加过一些我本专业的面试,但是这确是我第一次参加计算机的面试,之前有左韵、陈宏等同学都能够找到一分满意的工作,在他们的求职总结中都能够看出来他们在面试之前都做了充分的准备,这一次轮到自己要去面试了,心里还是挺忐忑的,下面首先讲一下我的面试经历。
1、首先是笔试,笔试题跟之前丁老师给的题目差不多,所以如果面试前丁老师给了面试题就一定要花时间认真去做,试题上有二叉树、链表等数据结构方面的知识,这还是大一学计算机基础的时候学过,现在差不多都忘记了,所以在面试之前重新复习了一遍,对笔试有很大的帮助;还有多线程、Socket、Servlet、 Jsp等j2SE、javaWeb知识,这些都是我们上课学过的基础知识,面试之前也还是要认真的复习。当场出了笔试结果,还好顺利过了。
2、接下来是面试,我是第一个进去的,很是让我吃惊的是并没有问技术问题,只是问下我在大学的和尚学堂的情况,从跟他的谈话中还是能够感觉到还是蛮喜欢我的,但是接着他说如果我过来公司上班,因为是既不是计算机专业的也不是应届毕业生,按照公司规定就必须要先去公司实习,他说之前河东校区一个浙江大学的学应用化学的也是在公司先实习的,我当时还是有点犹豫,他看出了我的顾虑让我回去考虑一下。面试完之后我觉得应该没什么希望了,但是星期一我又接到了电话,说我可以直接去试用,当时我真的挺高兴的,东华是一个挺不错的公司。之前的工作经历让我认识到第一份工作真的很重要,一定要找一份适合自己的工作,高薪绝对不是唯一的目标,我们要把目标放长远一些,我觉得一份好工作就是可以让你学到东西,同时有一个良好的发展平台的工作。
接下来跟大家分享一下我在尚学堂的学习的经验吧。我本科的专业是的材料成型及控制工程,事实上我并不喜欢这个专业,毕业后去了深圳一家本专业的公司上班,公司很大,但是整天在车间的无所事事让我感觉到厌倦,整天面对一堆堆冷冰冰的钢铁,我感觉就快要把我在大学的所有的斗志磨灭了。想想在学校我是老师眼中的好学生和同学的'榜样,我不甘心,我想努力改变自己,为自己做一次选择,所以我毅然辞职回到了长沙,这个我待了四年的城市,刚开始的一段时间我仍然很迷茫,但是很快我心里有一种强烈的转行做计算机的想法,选择来尚学堂学习还是要感谢尚学堂市场部的左老师和彭老师,我学习计算机也只是在大一学过计算机基础和大二的C语言基础,但是在尚学堂我碰到了邝老师,他的教学方式对于我这种基本没有计算机基础的人是很实用的,邝老师在课堂上会详细的讲解每一个知识点,通俗易懂,所以很快我就跟上了老师的节奏,
总结我的学习经验有一下几点。
1、上课必须要认真听老师讲课,这比我们自己去看视频要更加容易接受,课后一定要认真的敲老师的代码,在敲代码的同时要自己去思考,也许敲第一遍的时候还是不太明白,但是第二遍、第三遍我相信一定能够很好的理解。最后一定要做到能够在不看老师的代码的情况下,就按自己的理解完整敲出属于自己的代码,这真的很实用。
2、上课要养成记笔记的习惯,俗话说的好好记性不如烂笔头,就我而言,在记笔记的时大脑有一次记忆,也会有肌肉记忆,更重要的是笔记可以随时去翻阅,不是的去复习之前学过的知识。
3、碰到问题首先要自己处理,我们在学习过程中碰到问题是在所难免的,按邝老师说的就是碰到问题就好,解决了就是经验。的确,当我们碰到问题首先要自己去找原因,然后顺藤摸瓜,像空指针异常、数组下标越界、类型转换异常等都是常见的异常,我们每碰到一次都要弄明白为什么会出现这样的异常,而不单单为了解决问题,学习就是一个积累和反复的过程。
4、要多跟同学交流,就好像三个臭皮匠赛过一个诸葛亮,每个人都有不同的思维方式,同样的一个问题有时候别人的方法比我们自己的解决方法要好,要更简洁,我们就要学习别人优秀的思想。
5、多逛论坛,之前我也没有这个习惯,直到左韵同学跟我们介绍他学习方法的时候我才试着去逛论坛,后来发现者确实有用,里面有一些很很优秀的代码,也有很好的博文,可以很好的提升我们的思想。邝老师也在课堂上多次提到,我们学习的都是些常用的东西,一些新的东西需要我们去学习,先看别人的代码,学会了就是自己的。
说了这么多,总结起来就是熟能生巧,同时态度决定一切,当然我说的不一定适合大家,所以最重要的是要找到适合自己的一套学习方法,工欲善其事,必先利其器。在尚学堂学习的四个多月,让我学到了很多的东西,让我从一开始的完全不懂java到现在对java有一定的认识,真的非常感谢邝老师、李老师和丁老师的帮助,在这里也有一帮很好的朋友,同时作为班长,我深感自己做得还不够,希望在接下来的日子里,同学们能够加油,都找一份满意的工作。
篇8: 笔试经验
今年羊晚招聘是从4月8日开始网上报名,到15号截止,有3200多,当时我就 觉得没戏了,没想到17号收到一面通知,当时那个激动啊。然后就在21号上午收到笔试信息。在网上搜罗了历年笔试题,重点看了看新闻策划和评论的写作,没想到没考到。今天上午拿到笔试题,第一题就傻眼了, 的职务,唉,怪只怪自己平时不注意 。下面是笔试题。可能表述没那么准确。
笔试题:1、 同志现任的职务有哪些?写出5个即可得10分,
2、新媒将服务对象称作“用户”,传播媒体将服务对象称作“受众”。“用户”与“受众”有何异同?这对纸媒经营有何启示?
3、雅安地震12小时后你到达现场,在人生地不熟的四川,你如何安排一周内的`报道计划?如何寻找可靠的采访资源?
4、马航 MH370未按时抵达,许多乘客家属在机场等候,若派你去机场,你会注意什么?会采取哪种采访方式?
5、京津冀一体化是最近政经的热点,作为 的记者,你是如何理解京津冀一体化的?作为一份立足广州、面向全国的报纸,你准备从哪些角度进行报道?
6、什么是“社交化”?例句不少于5个社交网络或应用,并用100字点评其中3个的商业模式和传播模式。
总之,我答得好烂,估计没戏了。但还是希望有奇迹可以发生
篇9: 笔试经验
。。。
100分钟,6道主观题,题目如下:
1、请写出 同志的现任职务?(答对5个即满分)(10分)
2、新媒体喜欢将服务对象称为“用户”,传统媒体喜欢将服务对象称为“受众”,说一说“用户”和“受众”有什么异同?这些异同比较,对纸媒经营有什么启示?(15分)
3、试想你是被派往采访雅安地震的'突发记者,你会如何组织一周的报道计划?如何寻找可供依靠的采访资源?(20分)
4、怎么理解京津冀一体化?作为一份立足广州、面向全国的媒体,你觉得可以从哪些角度来向读者展开这一报道?(20分)
5、马来西亚航空MH370飞机失联后,许多中国家属聚集在机场等候消息,报社派你去机场采访,你会注意什么?将用何种方式采访?(15分)
6、请解释什么是“社交化”,并举出不少于5个社交网站或应用,分别用100字点评其中三个的商业模式和传播模式,
(20分)
★ CSDL笔试经验
★ 瑞安笔试经验
【JAVA笔试经验(共9篇)】相关文章:
北京神舟航天软件笔试题目摘抄2023-08-06
Java面试技巧攻略2022-11-06
Oracle的笔试经验2023-10-01
腾讯实习生求职笔试面试经历2022-07-26
阿里巴巴笔试题统计2022-05-06
多年软件行业面试官的面试感触2023-07-14
面试经验:php程序员深圳面试经历2022-06-28
西门子笔试经验实习2023-01-26
西门子商务培训笔试经验2022-10-25
百度网上笔试试题及答案2022-07-10