软件开发工程师招聘试题doc文档格式.docx
《软件开发工程师招聘试题doc文档格式.docx》由会员分享,可在线阅读,更多相关《软件开发工程师招聘试题doc文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
intmilesPerGallon;
intindex;
Example(){}
Example(intmpg){
milesPerGallon=mpg;
index=0;
intindex;
Examplee=newExample(25);
if(args.length>
0){
if(args[index].equals("
Hiway"
)){
e.milesPerGallon=2;
}
System.out.println("
mpg:
+e.milesPerGallon);
}
这段代码通过编译,并且如果命令行输入”Hiway”则显示”mpg:
50”,如果输入不是”Hiway”则显示”mpg:
25”;
50”,如果输入不是”Hiway”则抛出ArrayIndexOutputBoundsException异常。
这段代码不能通过编译,因为自动变量index没有被初始化。
这段代码不能通过编译,因为milesPerGallon没有被初始化。
见例子Example.java
3.3.当编译如下代码时,会显示什么?
inti=1;
switch(i){
case0:
System.out.println("
zero"
);
case1:
one"
case2:
two"
default:
default"
OneB.one,defaultC.one,two,defaultD.default
见例子:
Test3.java
4.4.当编译运行如下代码时会发生什么现象?
publicclassMyClass
publicstaticvoidmain(Stringarguments[])
amethod(arguments);
publicvoidamethod(String[]arguments){
System.out.println(arguments);
System.out.println(arguments[1]);
Errorcan’tmakestaticreferencetovoidmethod;
Errorargumentsmainnotcorrect
Errorarraymustincludeparameter
Amethodmustbudeclaredwithstring
MyClass.java
5.5.下列哪个语句放入//Position1中会导致该程序编译错误?
publicclassQ6db8
{
inta;
intb=0;
staticintc;
publicvoidm(){
intd;
inte=0;
//Position1
a++;
B.b++;
C.c++;
D.d++;
Q6db8.java
6.6.如果想找到java中的字母v(输出2)可以使用下列哪个代码?
A.mid(2,s);
B.charAt
(2);
C.s.indexof(‘v’);
Dindexof(s,’v’);
7.对于长度为n的线性表,在最坏的情况下,下列各排序法所对应的比较次数中正确的是()
A.冒泡排序为n/2B.冒泡排序为nC.快速排序为nD.快速排序为n(n-1)/2
☆设有一个关系Student(学号,姓名,系别,课程号,成绩),查询至少选修了四门课程的学生的学号,姓名及平均成绩的select语句应该是:
SELECT学号,姓名,AVG(成绩)AS平均成绩
FROMStudentGROUPBY______HAVING_______
7.8.题中GROUPBY子句应填入的内容是()
A学号B姓名C系名D课程号
8.9.题中的HAVING子句应该填入的内容是()
ACOUNT(DISTINCT学号)>
3BCOUNT(课程号)>
3
CCOUNT(DISTINCT学号)>
=3DCOUNT(课程号)>
=3
二、简单题(共21题,1、2题每题3分,其余每题4分)
1.Longsum(Stringn,Stringm)throwsException求n和m的和。
2.设计模式:
什么是设计模式,描述使用过的设计模式?
3.HashMap和HashTable的区别:
4.写一个方法,实现字符串的反转,如:
输入abcd,输出dcba
5.Java语言如何进行异常处理,关键字throws,throw,try,catch,finally请举例说明?
6.描述方法的重载和多态。
7.比较两个列表中的对象,列表中保存的都是student对象,根据Student的名字作为比较关键字;
和旧的列表相比,找出全部新增,修改(年龄不同),删除的列表;
Publicclassstudent{
Stringname;
Intage;
}
Publicvoidcompare(List<
Student>
oldList,List<
newList);
importjava.util.ArrayList;
importjava.util.Iterator;
importjava.util.List;
publicclassComTwoList
ListupdateList=newArrayList();
ListaddList=newArrayList();
ListdeleteList=newArrayList();
publicvoidcompare(List<
newList){
Iteratoritold=oldList.iterator();
while(itold.hasNext()){
Students1=(Student)itold.next();
booleanflag=false;
//System.out.println(s1);
Iteratoritnew=newList.iterator();
while(itnew.hasNext()){
Students1new=(Student)itnew.next();
//System.out.println(s1new);
System.out.println(s1.getName().equals(s1new.getName()));
System.out.println(s1.getAge()!
=s1new.getAge());
System.out.println(s1.getName().equals(s1new.getName())&
&
s1.getAge()!
if(s1.getName().equals(s1new.getName())&
=s1new.getAge()){//s1.getName().equals(s1new.getName())
//if(true){
updateList.add(s1);
//System.out.println(updateList);
Iteratorit=updateList.iterator();
Studentss=newStudent();
while(it.hasNext()){
ss=(Student)it.next();
System.out.println("
新旧列表相比,您更新的对象有:
+ss);
}
}
if(s1.getName().equals(s1new.getName())){
flag=true;
break;
}
if(!
flag){
deleteList.add(s1);
ComTwoListctl=newComTwoList();
ListoldList=newArrayList();
ListnewList=newArrayList();
Students1=newStudent("
zhangsan"
34);
Students2=newStudent("
lisi"
23);
Students11=newStudent("
44);
//System.out.println(s1.getAge());
oldList.add(s1);
oldList.add(s2);
//s1.setAge(44);
newList.add(s11);
newList.add(s2);
System.out.println(newList);
System.out.println(oldList);
pare(oldList,newList);
classStudent
Stringname;
intage;
publicStudent(){}
publicStudent(Stringname,intage){
this.name=name;
this.age=age;
publicStringgetName(){
returnname;
publicvoidsetName(Stringname){
this.name=name;
publicintgetAge(){
returnage;
publicvoidsetAge(intage){
this.age=age;
publicStringtoString(){
8.接口和内部类、抽象类的特征?
9.数据库表Teacher属性:
name,tid,desc,表Student属性:
name,sid,related_tid,desc查询所属老师名称为”Mike”的全部学生。
10.对选择题8中的关系,写出满足如下要求的SQL:
将选修课程数多于5的学生名字后面增加一个#号;
11.将学生TID小于10000的加1000;
12.简要介绍什么是JMS?
JMS是JavaAPI,允许应用程序来建立、接收和读取消息。
程序依靠这些API,在运行时需要一个JMS实现接口,来提供管理和控制,这被称为JMSprovider,现在有几种不同的JMSProvider;
在JBoss中的叫做JbossMQ。
EJB是sun的服务器端组件模型,最大的用处是部署分布式应用程序当然,还有许多方式可以实现分布式应用,类似微软的.net技术。
凭借java跨平台的优势,用EJB技术部署的分布式系统可以不限于特定的平台。
EJB(EnterpriseJavaBean)是J2EE的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准。
其特点包括网络服务支持和核心开发工具(SDK)。
在J2EE里,EnterpriseJavaBeans(EJB)称为Java企业Bean,是Java的核心代码,分别是会话Bean(SessionBean),实体Bean(EntityBean)和消息驱动Bean(MessageDrivenBean)。
13.请描述Session与Cookie的异同之处?
14.MVC的各部分都有哪些技术来实现?
如何实现?
MVC是Model-View-Controller的简写."
Model"
代表的是应用的业务逻辑(通过JavaBean,EJB组件实现),"
View"
是应用的表示面(由JSP页面产生),"
Controller"
是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现.这些组件可以进行交互和重用.
MVC(Model/View/Controller)模式是国外用得比较多的一种设计模式,好象最早是在Smaltalk中出现。
MVC包括三类对象。
Model是应用对象,View是它在屏幕上的表示,Controller定义用户界面对用户输入的响应方式。
模型-视图-控制器(MVC)是80年代Smalltalk-80出现的一种软件设计模式,现在已经被广泛的使用。
1、模型(Model)
模型是应用程序的主体部分。
模型表示业务数据,或者业务逻辑.
2、视图(View)
视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面。
3、控制器(controller)
控制器工作就是根据用户的输入,控制用户界面数据显示和更新model对象状态。
MVC式的出现不仅实现了功能模块和显示模块的分离,同时它还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性
15.什么情况下调用doGet()和doPost()?
16.你在项目中用到了XML技术的哪些方面?
17.Java中的线程有四种状态分别是什么?
请列举你知道的html标签?
18.Js中的三种弹出式消息提醒(警告窗口,确认窗口,信息输入窗口)的命令是什么?
19.完成foo()函数的内容,要求能够弹出对话框提示当前选中的是第几个单选框。
<
html>
head>
script>
Functionfoo(){
//在此处添加代码
Returnfalse;
/script>
body>
formname=”form1”onsubmit=”returnfoo();
”>
inputtype=”radio”name=”radioGroup”/>
inputtype=”submit”/>
/from>
/body>
/html>
答案:
20.写出下边的代码点击按钮后你看到的执行结果
formname="
form1"
/>
inputtype="
button"
onclick="
showme()"
/form>
functionshowme(){
Book.prototype.abc=function(){alert('
456'
varabook=newBook(1,2);
Book.abc=function(){alert('
123'
abook.abc();
Book.abc();
abc();
functionBook(a,b){
this.a=a;
this.b=b;
Book.abc=function(){alert('
def'
this.abc=function(){alert('
XYZ'
abc=function(){alert('
@@@@@'
varabc=function(){alert('
$$$$$$'
附录二
附录二【软件开发工程师招聘试题二】
60分钟姓名:
一、单选题(共20题,每题2分)
1.下列语句序列执行后,k的值是()
intm=3,n=6,k=0;
while((m++)<
(--n))
++k;
A)0B)1C)2D)3
2.以下选项中,合法的赋值语句是()
A)a=1,b2B)++iC)a=a+1=5D)y=int(x+4)
3.下面说法正确的是()
Afinal可以修饰类、属性、方法。
Babstract可以修饰类、属性、方法。
C定义抽象方法需有方法的返回类型、名称、参数列表和方法体。
D用final修饰的变量,在程序中可对这个变量的值进行更改。
4.下列选项中,用于在定义子类时声明父类名的关键字是()
A)interfaceB)packageC)extendsD)class
5.以下的变量定义的语句中,合法的是()
A)float$_*5=3.4F;
B)byteb1=15678;
C)doublea=10000;
D)int_abc_=3721L;
6.以下代码在编译中哪一行会报错()
1)Publicvoidmodify(){
2)inti,j,k;
3)i=100;
4)while(i>
5)j=i*2;
6)System.out.println(“Thevalueofjis”+j);
7)k=k+1;
8)i--;
9)}
10)}
A)line4B)line6C)line7D)line8
7.关于垃圾收集的哪些叙述是正确的()
程序开发者必须自己创建一个线程进行内存释放的工作
垃圾收集将检查并释放不再使用的内存
垃圾收集允许程序开发者明确指定并立即释放该内存
垃圾收集能够在期望的时间释放被java对象使用的内存
8.已知x1.equals(x2)==true,则以下说法错误的是:
内存地址一定相等。
B.内容相等C.hashcode相等D.x1==x2可能为true
9.MAX_LENGTH是int型public成员变量,变量值保持为常量100,用简明语句定义这个变量。
publicintMAX_LENGTH=100;
finalintMAX_LENGTH=100;
publicfinalintMAX_LENGTH=100;
PublicstaticintMAX_LENGTH=100;
10.下列对java中的io说法正确的是:
Java.io.BufferedInputStream的上级父类是java.io.InputStream
文件操作只能使用java.io.FileInputStream,java.io.FileoutputStream
JspWriter继承自java.io.Writer
Java.io.FileNotFoundException是RuntimeException
11.下列对Servlet的说法正确的是:
一个servlet将会被创建多个实例
Servlet内的实例变量是非线程安全的
Servlet不可以被实例化
每一个servlet都必须实现doGet、doPost方法
12.12.下列哪个不是http请求的方法:
A.GetB.PostC.traceD.doget;
13.数据库类型是按照()来划分的
文件形式B.数据模型C.记录形式D.数据存取方法
14.现有关系表:
学生(宿舍编号,宿舍地址,学号,姓名,性别,专业,出生年月)的主键是()
宿舍编号B.学号C.学号,宿舍编号D.宿舍地址,姓名
15.下列关于视图与基本表的对比正确的是:
视图的定义功能强于基本表
视图的操作功能强于基本表
视图的数据控制功能弱于基本表
上面提到的功能二者都相当
16.SQL语言中,实现数据检索的语句是()
SelectB.createC.updateD.delete
17.下列测试工具中,属于性能测试工具是()
loadRunnerB.QuickTestProfessionalC.TestDirectorDBoundChecke
18.以下那个javascript语句是正确的()
vartemp;
temp=”hello”;
Stringtemp;
Inttemp;
temp=k;
Booleantemp;
temp=false;
19.在html页面中,以下那个不是成对出现的()
BrB.tdC.tableD.tr
20.下面这些事件,哪个不是窗口window的事件()
A.onfoucsB.onloadC.onresizeD.onclick
二、填空题(每题2分,共20分)