java方向软件工程师面试试题及答案

教程发布:风哥 教程分类:ITPUX技术网 更新日期:2022-02-12 浏览学习:1103

笔试题
1. 判断题,正确的打(√),错误的打(X)(30分)
(1)Java的原始数据类型包括int,boolean,short,long,char,byte[],char[] (X)
(2)&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)(√)
(3)HashMap的(key)键值允许是空(null),而HasmTable不允许 (√)
(4)使用forward方法进行页面转向控制之后浏览器地址栏中的url地址保持不变而redirect正好相反 (√)
(5)一个数据表中只能有一个主键约束,但可以有多个UNIQUE约束 (√)
(6)直接用JDBC方式进行数据库编程,当执行INSERT,DELETE,UPDATE操作时,必须执行显式的提交方式(commit)才能将本次的数据变化提交到数据库中 (X)
(7)Struts1和Struts2中的action均为单例模式 (X)
(8)jsp页面实现跳转主要有jsp:forward 和 sendRedirect 两种方法。jsp:forward效率高、sendRedirect效率低(√)
(9)session如果不手动关闭,会一直存在Server中(X)
(10)用final声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。(√)
(11)创建和调用WCF的步骤是:创建服务契约 -> 创建服务 -> 自我承载服务 -> 客户端调用服务(√)
(12)笔画(Stroke) 对象不可以动态创建 (X)
(13) Objective-C中,与alloc语义相反的方法是release (X)
(14) ios编程中,界面绘图可以在xib文件中绘制也可以直接编写代码 (√)
(15) 在需要给用户弹出提示窗口时,可以利用 UIAlertView类 (√)
2. 选择题(30分):
(1) JAVA语言的特征有哪些?(ABCD )
A. 封装 B继承 C抽象 D多态 E 接口

(2) 下列选项中不具备length()方法的是:(D)
A. StringBuffer B ImageInputStream C Blob D String[]

(3)欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的?( B )
A. ArrayList List= new object(); B. List myList=new ArrayList();
C. ArrayList myList=new List(); D. List myList=new List();

(4) 下列选项中哪一项不属于Spring内置支持的一个Bean对象的五种作用域( F )
A Singleton B prototype C request D session E globe session F response

(5)struts的标签库分为3大类:Page Construction Tags,Struts Bean Tags,Struts Logic Tags,请指出下面4个选项中,哪一项不属于逻辑标签类别( D )
Match B. forward C. lessThan D. reset
(6)Tomcat的默认端口为8080,如果想改变这个端口值,可以直接在下面哪个文件中进行修改(B)
A. config.xml B. server.xml C. catalina.bat D. startup.bat
(7) 下面哪一项不属于我们通常提到的应用服务器(C)
A BEA WebLogic Server B. IBM WebSphere Application Server
C Spring D. Oracle9i Application Server
(8) C语言允许函数值类型缺省定义,此时该函数值隐含的类型是(B)。
A)float型
B)int 型
C)long 型
D)double 型
(9)在C语言中,形参的缺省存储类是 (A)
A) auto B) register C) static D) extern
(10) 以下正确的函数定义形式是(D)
A) double fun(int x,int y)
B) double fun(int x;int y)
C) double fun(int x,int y);
D) double fun(int x,y);
(11)在宏定义 #define PI “3.14159”中,用宏名PI代替一个(D)
A) 常量 B)单精度数 C)双精度数 D)字符串
(12)若i为整型变量,则以下循环执行次数是: (D)
for ( i=2; i!=0; ) printf("%d",i- - );
A)无限次 B) 0次 C) 1 次 D) 2次
(12)从数据库读取记录,你可能用到的方法有:(BCD)
A. ExecuteNonQuery B. ExecuteScalar
C. Fill D. ExecuteReader
(13)sliverlight中有多种绑定,默认的绑定方式是(B )
A OneTime B OneWay
C TwoWay D DataConten
(14) sliverlight中使用WebClient 对象与使用HttpWebRequest对象的区别在于( C)
A WebClient是抽象类,HttpWebRequest不是抽象类
B HttpWebRequest通过事件实现异步调用
C WebClient通过事件实现异步调用
D WebClient回调函数运行在非UI线程上,所以回调函数中不能处理Silverlight控件
(15) 以下叙述正确的是:(BC)
A. 接口中可以有虚方法。 B. 一个类可以实现多个接口。
C. 接口不能被实例化。 D. 接口中可以包含已实现的方法。
3.简答题(20分)
1.智能手机目前主流操作系统有哪些?请说出它们各自的特点(5分)
SYMBIAN系统是诺基亚主打的系统。
Android 是Google开发的基于Linux平台的开源手机操作系统。该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件,
iPhone OS是由苹果公司为iPhone开发的操作系统,主要供iPhone使用。
“黑莓”BlackBerry是美国市场占有率第一的智能手机,BlackBerry的经典设计就是宽大的屏幕和便于输入的QWERTY键盘,所以BlackBerry一直是移动电邮的巨无霸,我国对于电子邮件的依赖并不像美国人那么强,他们在电子邮件里讨论工作、安排日程,而我们则更倾向于当面交谈。可以说BlackBerry在中国的影响几乎为零,除了它那经典的外形;
微软推出的Windows Mobile操作系统,在与桌面PC和Office办公的兼容性方面具有先天的优势,而且WM具有强大的多媒体性能,办公娱乐两不误,让他成为最有潜力的操作系统之一。当然,它的缺点也很明显:软件使用复杂、系统不稳定、硬件要求较高,这些都是不可忽略的
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox Live游戏、Zune音乐与独特的视频体验整合至手机中。诺基亚与微软达成全球战略同盟并深度合作共同研发。微软正式发布最新手机操作系统Windows Phone 8,Windows Phone 8采用和Windows 8相同的内核。Winphone替代了wm。
2. 请简述MVC的基本概念及其优点?(5分)
(意思答到即可):MVC即Model-View-Controller的缩写,即模型-视图-控制器,是一种常用的设计模式。它把应用程序的输入、处理和输出分开,将之分为三个核心模块,分别担负不同的任务。
优点:三层分离,程序结构清晰,便于维护。松耦合,提高了代码的可重用性,数据安全性,及程序的灵活性和可配置性等等。

3. 简述 private、 protected、 public、 internal 修饰符的访问权限。(5分)
参考答案:private : 私有成员, 在类的内部才可以访问。
protected : 保护成员,该类内部和继承类中可以访问。
public : 公共成员,完全公开,没有访问限制。
internal: 在同一命名空间内可以访问。

4. 简单阐述一下Objective-C内存管理:(5分)
1.当你使用new,alloc和copy方法创建一个对象时,该对象的保留计数器值为1.当你不再使用该对象时,你要负责向该对象发送一条release或autorelease消息.这样,该对象将在使用寿命结束时被销毁.
2.当你通过任何其他方法获得一个对象时,则假设该对象的保留计数器值为1,而且已经被设置为自动释放,你不需要执行任何操作来确保该对象被清理.如果你打算在一段时间内拥有该对象,则需要保留它并确保在操作完成时释放它.
3.如果你保留了某个对象,你需要(最终)释放或自动释放该对象.必须保持retain方法和release方法的使用次数相等.

4编程题 (20分)
(1)场景如下:
1、表名:g_cardapply
字段(字段名/类型/长度):
g_applyno varchar 8 //申请单号(关键字)
g_applydate bigint 8 //申请日期
g_state varchar 2 //申请状态
2、表名:g_cardapplydetail
字段(字段名/类型/长度):
g_applyno varchar 8 //申请单号(关键字)
g_name varchar 30 //申请人姓名
g_idcard varchar 18 //申请人身份证号
g_state varchar 2 //申请状态
其中,两个表的关联字段为申请单号。
查询同一个身份证号码有两条以上记录的身份证号码及记录个数
Select g_idcard,count(*)
From g_cardapplydetail
Group by g_idcard
Having count(*)>1
将身份证号码为440401430103082的记录在两个表中的申请状态均改为07
Update g_cardapplydetail
Set g_state=’07’
Where g_idcard=’ 440401430103082’

update A set g_state = '07'
from g_cardapply A inner join g_cardapplydetail B on A.g_applyno = B.g_applyno
where B.g_idcard = '440401430103082'
或者
Update g_cardapply
set g_state='07'
where g_applyno in (select distinct g_applyno
from g_cardapplydetail
where g_idcard ='440401430103082')
12.编程输出如下图形。
* * * * *
* * * *
* * *
* *
*
代码如下:
public class Print {
public static void main(String[] args) {
for (int i = 0; i < 5; i++) { for (int j = 5; j > i; j--) {
System.out.print("*");
}
System.out.println();
}
}
}

本文标签:
网站声明:本文由风哥整理发布,转载请保留此段声明,本站所有内容将不对其使用后果做任何承诺,请读者谨慎使用!
【上一篇】
【下一篇】