一面
- 镜像二叉树
- 两个链表,一个从小到大,一个从大到小,合成一个从小到大的链表
- 多线程
- 单线程的cpu可以启多线程嘛
- 线程和进程区别
- 线程怎么通信
- 进程怎么通信
- 分库分表
- orderid怎么保证全局唯一性,不会重复
- 如何记录文章和浏览次数
- 按照文章和浏览次数排序
- redis sortedset插入时间复杂度
- mq作用,什么是异步、解藕、削峰
- 一个日志文件 找出URL出现最多的行
二面
- 自我介绍
- 算法题 : 一个有序数组,找出target的起止位置
nums = [5,7,7,8,8,10], target = 8
输出 [3,4]
- 常用集合
- HashMap底层
- 线程池核心参数
- 线程池的一个线程抛异常怎么办
- 线程抛异常由谁处理
- jvm堆内存结构
- 新生代的对象什么时候会进入老年代
- Spring Boot 和 Spring的区别
- 配置了数据库的信息,为什么Spring Boot可以使用 (自动配置)
- Spring Bean是单例的嘛
- Spring Bean是线程安全的嘛
- aop (动态代理 jdk/cglib)
- Mybatis 一个mapper里面的方法可以重载吗
- Mybatis定义一个mapper接口底层怎么处理的
- mysql联合索引
- B+ 树
- 事务隔离级别
- mysql事务通过 什么日志回滚的 (undolog)
- redis 分布式锁
- 分布式会的东西
- zookeeper应用场景
- 项目相关
- 工作中最大的挑战
三面
- 自我介绍
- 项目业务
- rabbit mq
- mq丢数据
- redis 哨兵 原理
- redis 集群
- redis 主从同步
- redis 快在哪里
- 什么是io多路复用
- nio 相关
- zk zab协议
- 怎么理解高并发
- 分布式锁
- setnx ex 怎么保证原子性
lua
还有呢?
- setnx ex 怎么保证原子性
- synchronize 和 lock
- lock的公平锁和非公平锁
- AQS
- 索引类型
- B+ 树优点
- SQL优化
- mysql 隔离级别
- 隔离基于什么实现 (基于锁)
- 类加载
- 双亲委派 及 优点
- jvm GC
- 按回字输出矩阵
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
5*5
1 2 3 4 5 6 7 8 9 10 11 12 13…..
- 反转链表