Java面试题(05)
1、写一个冒泡排序的算法
升序排列:
int[] nums = {5,6,9,10,20,30,28,27,15};
for(int i = 0;i<nums.length;i++){
for(int j = 0;j<i-1;j++){
int temp = 0;
if(nums[i]<nums[j]){
temp=nums[i];
nums[i]=nums[j];
nums[j]=temp;
}
}
}
降序排列将nums[i]<nums[j]换成nums[i]>nums[j]
2、jQuery如何获取id为id3的元素
(1)引入jquery的jar包
(2)引用jar包到页面中,若是在js文件中获取,js文件的引入必须在jquery的jar包引入 的后面;
(3)var element = $(“#id3”);
3、Interface关键字是做什么用的
(1)interface是一个关键字,用于声明接口的关键字;
(2)声明的接口中的方法只能是抽象方法,抽象方法无方法体;
(3)接口中的属性是常量,只能被初始化一次;
(4)继承接口的类若不是抽象类,必须重写接口的所有抽象方法;
(5)接口可以继承(extend)其他接口,可以被多个类实现。
4、堆和栈的区别
堆和栈都是Java的内存空间,用于存储信息;
堆用于存储变量名;栈用于存储变量的值或引用;
5、jQuery有哪些方法是实现ajax调用的
$.ajax(){
url:
type:
data:
dataType:
success:function(data){
}
error:function(){
}
}
6、写出联合查询的SQL语句
有两个表 学生表和成绩表 student , score
select stu.Name,sco.Score
from student stu left join score sco
where stu.id=sco.student
7.Hibernate如何使用,写一段代码保存,删除,修改一个学生对象
保存Student信息:
try{
Configuration context = new Configuration().configure();
SessionFactory sessionFactory = context.buildSessionFactory();
Session session = sessionFactory.openSession();
Transaction action = session.startTransaction();
Student student = new Student(1,”hah”);
session.save(student);
action.commit();
}catch(HibernateException e){
if(action!=null){
action.roolback();
}
e.printStackTrace();
}finally{
if(session!=null){
session.close();}
}
删除Student信息:
try{
Configuration context = new Configuration().configure();
SessionFactory sessionFactory = context.buildSessionFactory();
Session session = sessionFactory.openSession();
Transaction action = session.startTransaction();
Student student = new Student(1);
session.delete(student);
action.commit();
}catch(HibernateException e){
if(action!=null){
action.roolback();
}
e.printStackTrace();
}finally{
if(session!=null){
session.close();}
}
修改Student信息:
try{
Configuration context = new Configuration().configure();
SessionFactory sessionFactory = context.buildSessionFactory();
Session session = sessionFactory.openSession();
Transaction action = session.startTransaction();
Student student = new Student(1,”aha”);
session. saveOrUpdate (student);
action.commit();
}catch(HibernateException e){
if(action!=null){
action.roolback();
}
e.printStackTrace();
}finally{
if(session!=null){
session.close();}
}
8.写一段代码spring/struts的方式在一个页面上显示一个学生对象。
Struts配置文件Struts.xml:
=======省略部分代码=====
<package name=”default” namespace=”/stu” extends=”default-struts”>
<action name=”student” class=”com.ssd.StudentAction” method=”getStudent”>
<result name=”getsuccess”>/jsp/student.jsp</result>
</action>
</package>
Spring配置文件:
====注入部分代码====
<bean id=”dao” class=”com.ssd.StudentDaoImpl”/>
<bean id=”service” class=” com.ssd.StudentServiceImpl” p:studentDao=”dao”/>
<bean id=”action” class=”com.ssh.Action” scope=”prototype” p:studentService=”service”/>
Action类StudentAction 实现了requestAware接口:
private StudentService studentService ;
private Map(String,Object) request;
public String getStudent(){
Student student = studentService.getStudentById(student);
request.put(“student”,student);
return “getsuccess”;
}
===set/get方法省略=====
jsp页面:
<body>
学生信息:<input type=”text” name=”name” value=”${student.name}”/>
</body>
9.设计题
A,B两个系统,设计一个接口,A系统提供,B系统调用,要求:支持高并发,稳定性,数据一致性,实时性要求相对比较低;
10.设计题
如何设计系统的权限管理,写出DB设计
11.谈谈您关注哪些新技术