1.String、StringBuffer、StringBuilder的区别
String是不可变字符串(因为内部是字符数组,数组被final修饰,所以不可变),每次改变都要重新创建对象,线程不安全,不同步。
StringBuffer 可变字符串,每次都是修改自己的内容,不创建对象,线程安全,同步,StringBuffer一致,线程不安全,不同步,效率高。
效率:StringBuilder>StringBuffer>String
2. 创建对象的五种方式
(1)new关键字创建对象
(2)通过字节码Class创建对象
(3)clone
(4)序列化创建对象
(5)反射创建对象
3.ArrayList、LinkedList、Vector的区别
ArrayList底层数据结构是数组,查询快,增删慢,线程不安全,不同步,效率高;
LinkedList底层数据结构是链表,查询慢,增删快,不同步,线程不安全,效率高;
Vector底层数据结构是数组,查询快,增删慢,同步,线程安全,效率低。
4.Hashmap和Hashtable的区别
HashMap:允许null值null键,不同步,线程不安全,效率高;
Hashtable:不允许null值null键,同步,线程安全,效率低。
5.final、finally、finalize的区别
6.创建对象的方式有哪几种?
7.什么是Spring?
8.简述Spring的核心(谈谈你对Spring的了解)
9.抽象类和接口的区别
10.AOP的应用场景
11.说一下开发一个项目应该有哪些要求
12.实现多线程的方式
13.SpringMVC的工作流程
14.线程有哪几种状态?
15.方法重载和重写的区别?
16.Object里有哪些方法?
17.数据结构还记得多少?排序知道哪些?
18.大学学的最好的一门课是什么?
19.说说对Springboot的了解
20.mybatis的缓存有哪些?
21.说一下sql的优化有哪些?
22.索引是什么,他的优缺点?
23.视图
24.触发器
25.游标
26.约束有哪些?
27.存储过程(可能会让你写个sql)
28.JDBC加载Oracle和Mysql的语句(一般是给出程序找错)
29.事务
30.servlet生命周期