最近面试了好几家,发现自己真的是个弱鸡,整理了常见的Java基础面试题仅以此贴警示自己:居安思危,砥砺前行
–居安思危
Java基础知识
- 常见集合list,map,以及各自实现类,底层数据结构
- hashmap底层数据结构,是否线程安全?如果要线程安全该怎么做
- concurrenthashmap底层原理
- hashmap和concurrenthashmap都允许空键值对吗?
- string,stringbuilder,stringbuffer有什么区别
- ==和equals有什么区别
- set去重原理了解吗
- hsahmap有哪几种遍历方式,怎么去删除某个元素
- list怎么转map,list怎么实现分组
10.jdk8新特性了解多少 ,jdk现在到哪个版本了 - Stream流中map()和tomap()方法有什么区别
- Voliate关键字解释下
- 方法的重载和重写有什么区别,父类中有protected修饰的方法,子类重写后可以改为publlic修饰吗?
- String常用哪些方法
- Jdk中java.lang.concurrent包下都有哪些常用类
- jvm了解吗
- 设计模式有什么用
- 怎么确定一个class文件的位置(是属于jdk的还是项目的)
- 异常该怎么处理,普通异常和运行时异常有什么区别
多线程相关
- 了解多线程吗
- 进程和线程有什么区别,多进程和多线程呢
- synchronized关键字在项目中有使用到过吗?(同步方法和同步代码块)
- 项目中有用到多线程吗
- 线程池的初始化参数有哪些
- 怎么交替打印a–z,1–26(notify和wait)
框架(SSM)
- mybatis中KaTeX parse error: Expected 'EOF', got '#' at position 4: {}和#?{}有什么区别,在什么情况下必…{}
- mybatis和springdatajpa有什么区别
- mybatis怎么批量插入
- 你们项目中mybatis的mapper映射文件怎么写的
- springdatajpa怎么实现联表查询
- springmvc常用注解,怎么校验参数,怎么处理异常,运行流程
- spring常用注解,IOC和aop
- 假如我要拦截一个请求,除了在springmvc中配置拦截器还可以怎么做(aop的切点处理)
- springmvc和springboot有什么区别
- autowired和resource注解有什么区别
- 我想在开发环境调试的时候注入某个bean,但是生产环境不用,使用什么注解或者怎么解决
springboot和springcloud相关
- springboot常用注解,springboot有什么好处
- dubbo和springcloud有什么区别
- 服务怎么注册和发现
- 服务之间怎么调用
- 如果让你写个starter该怎么写
- 假如一个接口有多个实现类,放在list中,该怎么去注入
- springboot推荐使用的依赖注入的注解是哪个
数据库相关
- 你说你们从MySQL切换成了pg,为什么要切换,pg相对MySQL有什么有点吗
- oracle分页关键字,mysql分页关键字
- on和where有什么区别
- where的执行顺序
- sql怎么优化
- 删除语句该怎么写,delete能有where条件吗
- 索引在什么情况下会失效
- 常见有哪些索引
- 如何去分析一个慢sql
- 有2000个id,可以使用in去查询吗
- mysql的最左匹配原则
- 左连接,右连接,内连接
- mysql又主键自增策略,oracle有吗?没有的话怎么实现主键自增
- 联合索引什么情况下会失效,比如a,b,c三个字段都加了索引,ABC,bca,cba,哪种查询会索引失效
消息队列和redis
-
项目中什么场景用到了redis和消息队列 -
Redis有什么好处,Redis是单线程吗 -
使用mq发消息的时候都需要什么参数 -
怎么保证消息的可靠性传输 -
怎么去写一个生产者 -
重复消费消息怎么处理 砥砺前行,永远在路上,fighting!
|