废物面试的第一天

第一天
第一个
Java基础题
接口与抽象类的区别
基本数据类型
抽象类能不能重写
重写和重载的区别
final关键字
全局变量和局部变量那个有默认值
boolean的默认值是什么

数据库题
group by和order by
如何避免数据库的事务问题

spring和mybatis
对spring的ioc和aop理解
ioc有那些注解
ioc属性自动注入的注解是什么
mybatis有那些标签

第二个
递归适用于那些问题
jsp的内置对象

继续更新
第三个
(1)将一串字符串分割并放入集合中
将字符串分割使用的spilt()方法,返回的是一个数组
String str = 123,456,789;
String[] s = str.spilt(",");
然后这里可以使用collections方法,将数组直接转为集合
List list = new List();
Collections.getAll(list,str.spilt(","));
然后问到了遍历集合的几种方式(for,增强for,Iterator)
这里我使用的是增强for
for(object i : list){
System.out.println(i);
}
//Iterator
Iterator it = list.iteartor();
while(it.hasNext()){
System.out.println(it.next());
}
(2)String和StringBuffer和StringBuilder的区别
String是字符串常量
String Buffer是字符串变量,且是线程安全的,效率较低一般不用
String Builder是线程不安全的,一般使用

(3)什么是死锁
死锁是两个或两个以上线程因为竞争资源导致的彼此阻塞的状态,没有外力干涉无法继续进行

(4)线程的几种状态(五种)
1、new之后进入新建状态,生成了对象,但是还没有调用run方法
2、runable就绪状态,调用了start方法但是cpu还没有调度到该线程,进入就绪状态还没有启动
3.runing进入运行状态,线程调度程序将处于就绪状态的线程设置为当前线程,开始运行run中的方法
4.阻塞状态,当前线程使用了wait或者sleep等等原因,线程放弃了CPU的使用权,进入等待状态
5.dead,死亡状态,线程的生命周期结束,线程被销毁

(5)==和equals的关系
是运算符,可以用于基本数据类型或者引用数据类型
用于基本数据类型时,比较的是值的大小,用于引用数据类型时,比较的是地址值
equals是方法,本质上也是
,但是在一些类中方法被重写比较的是属性的大小比如:String ,date,Integer中

(6)方法重写与方法重载的区别

(7)接口与抽象类的区别

(8)数据库中常用的函数(百度了一下有很多,我是菜鸡就了解这两种)
1.聚合函数
MIN(),MAX(),SUM(),AVG(),COUNT():返回非NULL值的个数
2.时间类函数
curdate()或current_date() 返回当前的日期
curtime()或current_time() 返回当前的时间

(9)排序order by …Asc(升序),Desc(降序)。默认升序
多个排序,直接添加。比如以薪水升序,id降序
Select * from t_user where salary >= 100 order by salary Asc(可省略),id desc;

(10)多表连接,左外连接(稍难)

(11)hashmap底层原理
注:(唯一一家问到,可能是我垃圾,问的公司也比较垃圾,题目大多比较基础,这种稍难的题很少问到)
jdk1.8中底层是数组链表或者是数组红黑树
废物上班了,以后发点别的

你可能感兴趣的:(笔记,面试,github,职场和发展)