一面
自我介绍
介绍一下mysql索引?为什么用B+树?
网络IO模型?什么是多路复用IO?select和epoll的差别?select具体过程?
java类加载机制?双亲委派模型的好处?
进程和线程的区别?线程是不是越多越好,为什么?操作系统怎么调度的,调度算法?java中cpu调度是线程还是进程?
数据库事务?隔离级别?
java线程变量怎么实现的?内存模型?
手撕代码
用数组模拟循环链表
堆排序实现
JAVA并发包组件了解多少
线程的一个状态转换图
HashMap和HashTable以及CocurrentHashMap详细说明
SpringMVC的整个执行流程
二面
自我介绍
数据库索引?B+树?为什么要建索引?什么样的字段需要建索引,建索引的时候一般考虑什么?怎么解决分库分表?
数据库事务特点?事务隔离级别?项目中的事务实现?脏读、不可重复读、幻读各举个例子?
Spring bean的生命周期?默认创建的模式是什么?不想单例怎么办?
谈谈Kafka和ZooKeeper了解情况?
设计模式,单例模式,怎么保证线程安全?锁效率太低,怎么提高效率?CAS?CAS本质是什么?什么是原子性?Compare and Swap,为什么能保证原子性(涉及到CPU指令)?分布式锁?
还有什么设计模式?工厂模式有几种,都讲讲?
数据库表怎么设计的?数据库范式?设计的过程中需要注意什么?enum类型的值一般怎么存?如果有一个十几位的小数为了不丢失精度怎么存?tinyint几个字节,int几个字节?
三面
项目介绍
Redis简要介绍下,有哪些常用的数据结构?
Redis是单线程的?Redis为什么查询数据这么快?
Redis并发竞争key如何来解决?
有接触过哪些消息队列中间件?如何来选型?
谈谈你的SOA以及微服务的理解?
具体谈谈Spring Cloud服务和注册?
分布式场景面临的最大挑战是什么?
分布式场景数据同步如何来解决?
答案解析我发在原文链接,有兴趣的可以点击进来看:
原文链接:https://maimai.cn/article/detail?fid=1336522064&efid=Rzs4S9LINrzwMRMUpMdKnQ&from=single_feed