前言
最近开始找工作,面试了两家,记录一下两家问的面试题,还有做过得笔试题
面试
1、自我介绍
答:自己的基本情况,做过得项目情况。
2、谈谈对spring的aop的理解?
3、都用过spring的哪些注解?注解@ResponseBody 和 @RequestBody 的作用 和区别
4、都使用了springBoot的什么?
5、 activiti 有哪些表?做什么的?(有用过activi工作流程)
6、jsp 中 forward 和redirect的区别?
7、常用什么数据库,用过什么索引?索引优缺点?
8、进行过哪些数据库优化?
面试这部分 ,都有问到springboot,和对分布式有什么了解,其他的基本上就是简历上涉及什么就会问一些相关的知识点
笔试
笔试分为 选择、简答、数据库三个题型
一、选择题:(记不住具体选项了,题目有印象的写一下)
1、有关数组和String的说法正确的(AD)(多选)
A.数组有length属性
B.数组有length()方法
C.String 有length属性
D.String 有length()方法
2、自定义异常类,必须继承Exception?(异常类创建,为什么创建异常类)
3、线程和进程的区别?
4、final finally finalize 区别
5、hashmap 和hashtable 区别
6、运行结果(try catch finally ):
int[] num = {0,1,2,3,4}
try{
int sum;
for(int n=0;n<6;n++){
sum +=num[n];
}
System.out.println(“sum=”+sum);
}catch(Exception e ){
System.out.println(“异常”);
}finally{
System.out.println(“程序结束”);
}
二、简答题
1、Java 基本类型有哪些?String是不是基本类型?
2、谈谈对static 理解
3、什么是线程安全 什么是线程不安全?
4、abstract class 和interfa 的区别?
5、编写一个单例模式
6、用任意方法写一个int数组的排序
7、字符串"Java kvaJava java Java hjsh JAVA java hhsh ksiee",判断其中是否含有“Java”(大小写不敏感),位置为奇数位替换为“java”,位置为偶数位替换为“JAVA”。
8、spring的IOC和AOP的理解,spring的注入方式有哪些?
9、简述springMVC的工作原理
三、数据库
1、修改一张表的两个字段(user表,name,age)
update user set name="李",age=12 where id=1;
2、员工工资表,获取工资最高的第10到第20条记录(user表,name,salary)可用mysql 或者oracle
mysql
select * from user order by salary desc limit 10,20;
oracle
3,获取学生(student表,ID,name)的对应课程信息(class 表,classID,studentID,className)
select name ,className from student s left join class c on s.id=c.classid
4、员工表,获取名称重复次数大于2的记录(user表,ID,name(有重复))
select name,count(name) as '次数' from user group by name having count(name)>=2;
5、员工表,名称含有重复数据,删除重复的记录,只保留一条(一句sql完成要求)