不要说不知道
突出基本功扎实
要扩展,不要只回答问的问题,要多说
面试前去看准网上搜这家公司的面试题
- 待办
Java基础
什么是软件工程?
你不得不知道的反射(非常重要)
final和abstract
抽象类和接口
并发和多线程
JVM面试题
Java关键字
网络编程
MySQL-索引-外连接
JavaWeb
TCP/IP和HTTP区别
servlet生命周期
tcp 和 udp的区别
框架
Spring的事务:声明式和编码式
AOP
SpringMVC的流程
SpringBoot自动装配原理
实习
Java中有哪8种基本数据类型?
- 8大基础数据类型
整型 byte(1字节8bit,-128~127
)short(4)
int(4) long(8)
字符型char(2)
浮点型 float(4) double(8)
布尔型 boolean
char类型能否存储一个中文汉字
int
类型最大值:24x8 =232 - String有哪些方法?截取字符串的方法?
讲一下String和StringBuilder的区别(final)?StringBuffer和StringBuilder的区别?
ArrayList和LinkedList的区别?
-
ArrayList为什么查询比较快? 数组索引
HashMap的数据结构 -
HashMap是无序不可重复的吗?
讲一下线程的几种实现方式?
讲一下什么是设计模式?常用的设计模式有哪些? -
生成JavaBean的几种方式?
-
Mybatis常用标签
-
Git 版本解决冲突
-
数据库创建索引?
给name列创建索引
Create index idx_user_name on user(name);
数据库增删改查命令
- redis常用的命令
GET和POST两种基本请求方法区别
GET产生一个TCP数据包;POST产生两个TCP数据包。
1.get:提交的参数加在地址栏的后面
2.参数暴露,相对不安全
3.提交的参数数据量有限
转发和重定向的区别
https://blog.csdn.net/chenhangx/article/details/104092328
map的遍历方式
Java基础面试总结
校招
- 面向接口编程
- 项目如何进行测试
- 介绍一下你的项目
数据库的表设计 - Java创建对象的方式
new
2.使用反射的机制创建对象
3.采用clone
4.使用序列化机制(I/O) 实现Serialzable接口,将对象(内存)序列化到磁盘上,而反序列化(与序列化相反)可创建对象
(1)@PathVariable、@RequestParam 、@RequestBody用来获取前台传过来的参数
(2)ModelAndView、Model、Map用来返回提示信息给前台界面
<1>例如:操作成功后,返回提示信息:界面显示操作成功!
<2>使用较多的是Model、Map
- 讲一下集合
List 有序 可重复 线程安全的是Vector、HashTable
Set 无序 不可重复
Map 存储K-V键值对的集合 值可以重复
-
Spring IOC和AOP的理解
loC是一种设计思想,就是将原本在程序中手动创建对象的控制权,交由Spring框架来管理(通过XML文件来配置 Bean)
Spring AOP在哪些地方使用
-
讲一下多线程和使用
多线程模型主要优势为线程间切换代价较小,因此适用于I/O密集型的工作场景
start方法和run方法的区别?sleep和wait的区别?
调用start方法方可启动线程并使线程进入就绪状态,而run方法只是thread的一个普通方法调用,还是在主线程里执行
。
sleep方法没有释放锁,而wait方法释放了锁
。
线程同步中,对象的锁在()情况下持有线程返回 ? -
类加载机制
1类加载过程:加载->连接->初始化
类加载器、双亲委派模型:应用程序类,扩展类,启动类(c++)
,在类加载的时候,系统会首先判断当前类是否被加载过
-
GC是在什么时候,对什么东西,做了什么事情?
1.程序员不能具体控制时间,系统在不可预测的时间调用System.gc()函数的时候;
2.超出了作用域或引用计数为空的对象;从gc root开始搜索找不到的对象,而且经过一次标记、清理,仍然没有复活的对象。
3.删除不使用的对象,回收内存空间;运行默认的finalize,JVM用from survivor、to survivor对它进行标记清理,对象序列化后也可以使它复活。
MySQL如何在SQL语句上进行优化
-
八大排序的时间复杂度
-
Java的锁
-
mysql隔离级别的区别
-
封装,继承,多态 的实现
封装:概述:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提
供的方法来实现对隐藏信息的操作和访问
- 设计模式(除 单例,工厂)
- HashMap :数组怎么实现红黑树,链表怎么转成红黑树
- zk+dubbo怎么用的?
- mybatis在项目中怎么启动的?
-
在java语言中,临界区可以是一个语句块,或者是一个方法,并用
synchronized
关键字标识 -
类加载的顺序(
继承
) (熟练) -
[ ]
- Java的反射
获取对象的方式
1.对象获取 p.getClass();
2.类名获取 Person.class;
3.Class类的静态方法获取 Class.forName("demo01.Person");
[获取对象的用途](https://www.jianshu.com/p/3fd80b251399)
-
线程的状态 和进程的区别
线程 是 进程 划分成的更⼩的运⾏单位。线程和进程最⼤的不同在于基本上各进程是独⽴的,
⽽各线程则不⼀定,因为同⼀进程中的线程极有可能会相互影响。线程执⾏开销⼩,但不利于资源的管
理和保护;⽽进程正相反 -
锁有哪些
-
异常
Error(错误):是程序⽆法处理的错误 OutOfMemoryError
Exception(异常):是程序本身可以处理的异常。 异常由 Java 虚拟机抛出。
NullPointerException(、ArithmeticException和 ArrayIndexOutOfBoundsException
注意:异常和错误的区别:异常能被程序本身处理,错误是⽆法处理。
- mysql常用的索引类型
1.普通索引
2.唯一索引
3.主键索引
4.组合索引
5.全文索引
Java基础知识 SSM主流框架,springboot,了解过spring could微服务和dubbo分布式框架
熟悉常用的技术组件(redis,mysql)