01
一面题目
 
 
 
1、String str = new String("abc");会建几个对象?String str1 = "abc",str == str1?//false;
2、你用过一些什么数据结构?(这是一个套路)
3、你说说 ArrayList 和 LinkedList 的区别;
4、说说 HashMap 的底层实现,扩容机制,线程安全问题;(说到红黑树,为什么用红黑树代替而不是二叉搜索树?)
5、说说 JVM 的内存模型,紧接着引用,紧接着垃圾回收算法,具体讲一下分代算法的实现;
6、线程的状态;调用 start()会发生什么,会执行什么方法;
7、了解线程池吗?为什么引入线程池,有哪些参数?
8、synchronized 修饰实例方法和静态方法的区别;volatile 关键字了解吗?
9、Spring 用过那些注解?依赖注入怎么实现的?AOP 怎么实现的?(代理);AOP 中用的是哪种代理?
10、算法题
(1)遍历一次,找到单链表最中间的节点(偶数长度返回其中一个即可);
(2)对一亿个不重复的 int 进行排序,但是内存只有 200M(桶排序);
  (3)使用 pattern,对"abbad","北京 杭州 杭州 北京 上海" 进行校验
  (4) 一个小球从 200 米高处落地,每次谈起的举例是上次的一半,请问在 N 此谈起后经           过了多少距离?
  (5) 纯算法题。25 匹马,5 个赛道,没有计时器,请问最低多少次可以找出跑得最快的 5         匹马?
11、订单下单场景测试用例设计
 
02
二面题目
 
 
1、问介绍一下自己,以及技术栈
2、redis 基础数据结构有哪些
3、mq 的作用
4、如何解决迸发操作,例如同一账号同一时间不同设备同时点击领取了一张优惠券
5、自动化日常如何执行的。一次多长时间如何缩短时间
6、jmeter 压测如何保障 tps 始终在一个数值
7、压测内存过高如何解决
8、spring 中怎么运用数据库?2、spring IOC 的理解?3、spring bean 的理解和使用?4、支付回调延迟时,有什么方案可以去做监控?从代码上面怎么去实现?
9、索引数据结构介绍,和 B+ 树区别
10、什么情况下可以不回表查询
11、MySQL 事务隔离级别
12、数据库和缓存的数据一致性怎么保证
13、Redis 为什么是单线程的
14、Redis 持久化策略
15、Redis 集群模式
16、哨兵挂了怎么办(所以哨兵应该也是集群)
17、Redis 集群选举 master 过程
18、MQ 是怎么防止消息丢失的
19、介绍一下线程池,线程池的线程数量取值应该怎么取,有使用过哪些线程池
20、如果使用无界等待队列会有什么问题
21、介绍一下锁
22、介绍一下锁升级过程
23、介绍一下 ReEntrantLock 底层实现,介绍一下 
24、怎么查找一个文件里的某一个字符串的位置
25、HashMap,源码级别,为什么线程不安全
26、死锁
27、Synchronized 和 ReentrantLock 锁机制,怎么判断重入锁的,会不会是死锁?
28、进程和线程的区别?
29、进程之间如何保证同步?
30、分布式锁
31、对象 GC
31、垃圾回收算法
32、JVM 参数
33、OOM 出现的有哪些场景?为什么会发生?
34、JVM 内存结构说下吧
35、堆和栈的共享问题?
36、有比较过 Http 和 RPC 吗?
37、HttpClient 你说说里面的具体实现吧?(涉及了哪些东西)
38、SpringMvc 工作原理?
39、Session Cookie 区别?
40、浅拷贝,深拷贝
41、wait 和 sleep 的区别
42、线程池参数,整个流程描述
43、CAS 和 AQS 是啥,原理
44、ThreadLocal 原理,注意事项,参数传递
45、servlet 是否线程安全,如何改造
46、jvm 问题工具,jps,jinfo,jmap
47、有了解过 jvm 调优么?用过什么命令? 一般怎么调优?
48、你在项目中一般怎么调优 JVM 的呢?