一、 项目经验篇
    1.1 自我介绍,上个项目经验技术架构,及你负责的业务,会问你一些问题。你印象深刻的问题。

    二、 中间件篇
    2.1 redis 为什么快?
    2.2 redis 几种常见的数据类型,使用场景,说明redis 存储类型中 list 和set 的区别,许多请求同时请求redis 时, redis内部会进行排序,这是怎么实现的?
    2.3 redis 碎片化认识
    2.4 redis 对于string 这种类型,是存快还是读取快
    2.5 排行榜如何实现,如何更新排行榜,需要注意什么、
    2.6 redis lua 可以解决什么问题?
    2.7 如何使用redis 实现查找美团附近的共享单车,说出思路即可。
    2.8 redis 分布式锁能实现什么
    2.9 redis 缓存什么是击穿 雪崩?怎么预防
    2.9 说一下netty的原理
    2.10 docker解决了什么问题,和虚拟机相比
    2.11 说一下Es,Es 里面的倒排索引,说一下你往Es里卖存储一条数据时都要做哪些工作
    2.12 消息队列能做什么?
    2.13 消息重复接收如何预防
    2.14 自动化部署?k8s

    三、 数据库篇
    3.1 常见索引类型及使用场景
    3.2 数据库索引为什么用b+树,不用二叉树,b+树比二叉树好在那个方面
    3.3 b+树索引叶子节点存储数据 那么两个索引 一个主键索引 一个普通索引 第一个索引叶子节点存数据 第二个索引叶子节点存的是什么
    3.4 b+树和二叉树区别 查询时的时间复杂度分别是多少
    3.5 select count()和select count(1)的区别
    3.6 为什么不用select
    来写项目sql语句
    四、 实战解决及算法
    4.1 成对出现的数字放在list中,再加入一个单独数字,找出单独数字,复杂度分析。
    4.2 一个数组,有一个数据重复了,如何查找出来这个数,复杂度分析
    4.3 说一下java 中 list有拿几种类型,arraylist(扩容) 和linkedlist的区别(底层数据结构),他们同时查询一个数时,时间复杂度是多少,arraylist是基于什么查询的
    4.4 如何判断一个链表存储的数据是否首尾相连在一起了(有环),复杂度分析
    4.5 一个楼梯一共35个台阶,一个人一步可以走1台阶或者2台阶,问一共有多少中走法,复杂度分析。
    4.6 常用的排序算法,以及复杂度
    4.7 说一个你项目中,印象深刻的问题定位。
    五、 java技术
    5.1 BIO ,NIO ,AIO的区别
    5.2 jvm参数。项目启动设置的jvm参数一般都有哪些。
    5.3 gc算法,各种算法的缺点
    54. arrayList linkedlist hashset TreeSet hashmap currenthashmap 底层数据结构区别
    5.5 为什么使用锁,线程池
    5.6 springboot 常用注解
    5.7 HashMap 实现,及查询时间复杂度
    5.8 什么是分布式事务?分布式事务的类型有哪些?解决方案。

    六、 linux 指令
    6.1 如何查看一个服务是是否运行,pid, 杀进程
    6.2 查看日志的查用命令
    6.3 说一下你常用的linux 命令
    6.4 检查一个端口是否被占用