面试问题?
一、
1.面向对象的特征?
2.开放闭合
3.java中的泛型可以用基本类型吗?
4.重载和重写的区别?
5.string、stringbuffer、stringbuilder?
6.单例模式的实现方式有哪几种?
7.volicate除了保证
8.sy是重量级锁还是轻量级锁?
9.sy锁的升级过程?
10.sy是重入锁吗,lock是接口吗
11.在开发中用过反射吗
12.代理的实现方式有几种?有什么区别?
13.静态代理和动态代理的区别?
14.jdk1.8的新特性?1.8之前的date、datetime是非线程安全的
15.java中的异常有哪些
16.常见的运行时异常有哪些
17.BIO、NIO、AIO?
18.有没有用过threadlocal?
19.threadlocal本地使用的泛型,内部实现的引用是弱引用,虚引用有什么区别?
20.描述一下冒泡算法?
21.你知道hashmap的底层结构吗
22.arraylist和linkedlist区别?
23.arraylist的扩容因子?
24.创建线程的方式有哪几种?
25.线程的状态有哪些?
26.object有wait 和sleep的方法?
27.juc包下有哪些类?
28.jdk自带的线程池有哪些?阿里为什么不推荐呢?
29.jvm的内存结构有哪些?
30.年轻代和老年代的默认比例是多少?
31.年轻代又分为什么?它们三个的比例?
32.回收垃圾算法有哪些?
33.标记、清除、还有什么算法?
34.有没有做过jvm调优?调优参数?
35.-x -xx区别?
36.cookie 和 session 区别?session 为什么大?为什么安全?
37.数据库三范式?
38.数据库四大特性?
39.mysql使用的是btree,还是b+tree?
40.mybatis一级缓存?二级缓存?
41.mybatis一级缓存,二级缓存的作用域?
42.mybatis动态生成的标签有哪些?
43.spring里使用注解@autowired和@resource的区别?如果找不到,报什么异常?
44.springmvc的执行流程?
45.springmvc统一异常的实现方式有哪些?
46.有没有用过dubbo?和springcloud的区别?
47.springioc的理解?
48.aop的理解?
49.事务失效的几种情况?
二、
1.java中的集合有哪些?hashmap、set
2.arraylist 和 linkedlist 区别?
3.关于对内存利用率的了解?
4.说一下io流都有哪些?
5.字节流和字符流的区别?有字节流了为什么还要有字符流?
6.泛型的优势是什么?
7.说一下线程的状态?
8.在开发过程中有用到多线程吗?比如在哪些地方运用到了?
9.mysql支持的引擎有哪些?InnoDB 和 MyISAM 区别是什么?
10.有行级锁,还有什么锁?它们的区别是什么?
11.怎么排查mysql步骤?
12.explain主要是针对什么排查?
13.mysq索引的分类?
14.在开发中哪些地方用到唯一索引?唯一索引和主键索引的区别?
15.什么是聚簇索引和非聚簇索引?
16.MySQL用的是Btree 还是B+tree?
17.mysql事务的隔离级别?
18.什么是静态代理?什么是动态代理?
19.说一下redis的数据结构有哪些?
20.什么是缓存雪崩、穿透、击穿?
21.es做什么用?你们用es存什么?
22.你们的商品搜索是怎么使用的?怎么把商品同步到es中?一般的查询因素有哪些?es除了存商品还能存其他的吗?
23.你们哪些部分用到mongodb?为什么楼层上用到了mongodb?(因为首页的展示是需求多变的)
24.什么是Spring AOP?
25.spring 采用哪种代理方式?
26.springmvc的执行流程?
27.说一下springboot的优势?(约定大于配置)
28.你了解的orm框架有哪些?什么是orm框架?
29.spring security 是做什么用的?权限相关表说一下有哪些?3个
30.你了解的mq有哪些?你用的是什么?为什么要用rabbitmq?
31.spring cloud alibaba 多了哪些组件?
32.seata实现的原理说一下?设计到几张表?
33.常用的Linux命令?
34.你们的服务器用的什么操作系统?
35.你了解jps吗?
36.ps和top的区别?
37.docker挂载文件怎么写?-p 是干什么?-P是干什么?