收藏 分享(赏)

java软件工程师面试试题集-弄懂面试基本不成问题.doc

上传人:HR专家 文档编号:6298151 上传时间:2019-04-05 格式:DOC 页数:54 大小:329KB
下载 相关 举报
java软件工程师面试试题集-弄懂面试基本不成问题.doc_第1页
第1页 / 共54页
java软件工程师面试试题集-弄懂面试基本不成问题.doc_第2页
第2页 / 共54页
java软件工程师面试试题集-弄懂面试基本不成问题.doc_第3页
第3页 / 共54页
java软件工程师面试试题集-弄懂面试基本不成问题.doc_第4页
第4页 / 共54页
java软件工程师面试试题集-弄懂面试基本不成问题.doc_第5页
第5页 / 共54页
点击查看更多>>
资源描述

1、第 1 页共 59 页面试题集面试题集共分为以下十部分:一、Core Java: 1 95 题 1 24 页基础及语法: 1 61 题 1 13 页异常: 62 69 题 13 15 页集合: 70 80 题 15 18 页线程: 81 90 题 18 21 页IO s1 = s1 + 1;有什么错 ?short s1 = 1; s1 += 1;有什么错? 【基础】答:short s1 = 1; s1 = s1 + 1;s1+1 运算结果是 int 型,需要强制转换类型;short s1 = 1; s1 += 1;可以正确编译,自动类型提升。7、 Java 有没有 goto? 【基础】答:go

2、to 是 java 中的保留字,现在没有在 java 中使用。8、 int 和 Integer 有什么区别? 【基础】答:Java 提供两种不同的类型:引用类型和原始类型(或内置类型) ;int 是 java 的原始数据类型,Integer 是 java 为 int 提供的封装类。Java 为每个原始类型提供了封装类:原始类型: boolean,char,byte,short,int,long,float,double封装类型:Boolean,Character,Byte,Short,Integer,Long,Float ,Double引用类型和原始类型的行为完全不同,并且它们具有不同的语义。

3、引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。9、 / throws an Assertionerror if a =(Integer)al.get(MaxSize-1).intValue()al.add(MaxSize,tempInt);MaxSize+;System.out.println(al.toString();elsefor (int j=0;j=tempInt.intValue()al.a

4、dd(j,tempInt);MaxSize+;System.out.println(al.toString();break;System.out.println(“The ArrayList Sort After:“);for(int i=0;i王小明 信息学院 6258113男,1955 年生,博士,95 年调入海南大学事件回调类 SAXHandler.java :import java.io.*;import java.util.Hashtable;import org.xml.sax.*;第 28 页共 59 页public class SAXHandler extends Handle

5、rBaseprivate Hashtable table = new Hashtable();private String currentElement = null;private String currentValue = null;public void setTable(Hashtable table)this.table = table;public Hashtable getTable()return table;public void startElement(String tag, AttributeList attrs)throws SAXExceptioncurrentEl

6、ement = tag;public void characters(char ch, int start, int length)throws SAXExceptioncurrentValue = new String(ch, start, length);public void endElement(String name) throws SAXExceptionif (currentElement.equals(name)table.put(currentElement, currentValue);JSP 内容显示源码,SaxXml.jsp:剖析 XML 文件 people.xml“

7、+“教师信息表“);out.println(“姓名“ + “ +(String)hashTable.get(new String(“name“) +“);out.println(“学院“ + “ +(String)hashTable.get(new String(“college“)+“);out.println(“电话“ + “ +(String)hashTable.get(new String(“telephone“)+ “);out.println(“备注“ + “ +(String)hashTable.get(new String(“notes“)+ “);out.println(“)

8、;%四、数据库及 SQL 部分:(共 4 题:基础 3 道,中等难度 1 道)106、有 3 个表(15 分钟):【基础】Student 学生表 (学号,姓名,性别,年龄,组织部门)Course 课程表( 编号,课程名称)Sc 选课表( 学号,课程编号,成绩)表结构如下:第 30 页共 59 页1)写一个 SQL 语句,查询选修了计算机原理的学生学号和姓名(3 分钟)2)写一个 SQL 语句,查询周星驰同学选修了的课程名字(3 分钟)3)写一个 SQL 语句,查询选修了 5 门课程的学生学号和姓名(9 分钟)答:1)SQL 语句如下:select stu.sno, stu.sname from

9、 Student stuwhere (select count(*) from sc where sno=stu.sno and cno =(select cno from Course where cname=计算机原理) != 0;2) SQL 语句如下:select cname from Coursewhere cno in ( select cno from sc where sno =(select sno from Student where sname=周星驰);3) SQL 语句如下:select stu.sno, stu.sname from student stuwhere

10、 (select count(*) from sc where sno=stu.sno) = 5;107、有三张表,学生表 S,课程 C,学生课程表 SC,学生可以选修多门课程 ,一门课程可以被多个学生选修,通过 SC 表关联。 【基础】1)写出建表语句;2)写出 SQL 语句,查询选修了所有选修课程的学生;3)写出 SQL 语句,查询选修了至少 5 门以上的课程的学生。答:1)建表语句如下(mysql 数据库):create table s(id integer primary key, name varchar(20);create table c(id integer primary k

11、ey, name varchar(20);create table sc(sid integer references s(id),cid integer references c(id),primary key(sid,cid);2) SQL 语句如下:select stu.id, stu.name from s stuwhere (select count(*) from sc where sid=stu.id)= (select count(*) from c);3) SQL 语句如下:select stu.id, stu.name from s stuwhere (select cou

12、nt(*) from sc where sid=stu.id)=5;108、数据库表(Test)结构如下:【基础】ID NAME AGE MANAGER(所属主管人 ID)106 A 30 104109 B 19 104104 C 20 111107 D 35 109112 E 25 120119 F 45 NULL第 31 页共 59 页要求:列出所有年龄比所属主管年龄大的人的 ID 和名字?答:SQL 语句如下:select employee.name from test employeewhere employee.age (select manager.age from test ma

13、nagerwhere manager.id=employee.manager);109、有如下两张表:【中等难度】表 city: 表 state:CityNo CityName StateNoBJ 北京(Null )SH 上海( Null)GZ 广州 GDDL 大连 LN第 32 页共 59 页欲得到如下结果: CityNo City Name State No State Name BJ北京(Null) (Null) DL大连 LN 辽宁 GZ广州 GD 广东 SH上海(Null) (Null) 写相应的 SQL 语句。答:SQL 语句为:SELECT C.CITYNO, C.CITYNAM

14、E, C.STATENO, S.STATENAMEFROM CITY C, STATE SWHERE C.STATENO=S.STATENO(+)ORDER BY(C.CITYNO);五、JDBC 及 Hibernate:(共 12 题:基础 10 道,中等难度 2 道)110、数据库,比如 100 用户同时来访,要采取什么技术解决?【基础】答:可采用连接池。111、什么是 ORM?【基础】答:对象关系映射(ObjectRelational Mapping,简称 ORM)是一种为了解决面向对象与面向关系数据库存在的互不匹配的现象的技术;简单的说,ORM 是通过使用描述对象和数据库之间映射的元数

15、据,将 java 程序中的对象自动持久化到关系数据库中;本质上就是将数据从一种形式转换到另外一种形式。112、Hibernate 有哪 5 个核心接口? 【基础】答:Configuration 接口:配置 Hibernate,根据其启动 hibernate,创建SessionFactory 对象;SessionFactory 接口:初始化 Hibernate,充当数据存储源的代理,创建session 对象, sessionFactory 是线程安全的,意味着它的同一个实例可以被应用的多个线程共享,是重量级、二级缓存;Session 接口:负责保存、更新、删除、加载和查询对象,是线程不安全的,避

16、免多个线程共享同一个 session,是轻量级、一级缓存;Transaction 接口:管理事务;Query 和 Criteria 接口:执行数据库的查询。113、关于 hibernate: 【基础】1)在 hibernate 中,在配置文件呈标题一对多,多对多的标签是什么;2) Hibernate 的二级缓存是什么;3) Hibernate 是如何处理事务的;答:1)一对多的标签为 ;多对多的标签为;2) sessionFactory 的缓存为 hibernate 的二级缓存;3) Hibernate 的事务实际上是底层的 JDBC Transaction 的封装或者是 JTATransac

17、tion 的封装;默认情况下使用 JDBCTransaction。StateNoStateNameGD 广东LN 辽宁SD 山东NMG 内蒙古第 33 页共 59 页114、Hibernate 的应用(Hibernate 的结构)?【基础】答:/首先获得 SessionFactory 的对象SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();/然后获得 session 的对象Session session = sessionFactory.openSession();/其次获

18、得 Transaction 的对象Transaction tx = session.beginTransaction();/执行相关的数据库操作:增,删,改, 查session.save(user); /增加, user 是 User 类的对象session.delete(user); /删除session.update(user); /更新Query query = session.createQuery(“from User”); /查询List list = query.list();/提交事务mit();/如果有异常,我们还要作事务的回滚,恢复到操作之前tx.rollback();/最

19、后还要关闭 session,释放资源session.close();115、什么是重量级?什么是轻量级?【基础】答:轻量级是指它的创建和销毁不需要消耗太多的资源,意味着可以在程序中经常创建和销毁 session 的对象;重量级意味不能随意的创建和销毁它的实例,会占用很多的资源。116、数据库的连接字符串?【基础】答:MS SQL Server/第二种连接方式Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”).newInstance();conn = DriverManager.getConnection(“jdbc:Microsoft:sqlserver:/localhost:1433;DatabaseName=pubs”,”sa”,”);/OracleClass.forName(“oracle.jdbc.driver.OracleDriver”).newInstance();conn = DriverManager.getConnection(“jdbc:oracle:thin:localhost:1521:sid”, uid, pwd);/MysqlClass.forName(“org.git.mm.mysql.Driver”).newInstance();

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报