滴滴一二三面春招凉经
岗位:Java 开发工程师 三面均无🍣
业务:内部系统
一面面试内容:
自我介绍
实习相关经历
HashMap底层是如何构成的,保证HashMap的线程安全,有什么办法,ConcurrentHashMap是怎么保证线程安全的,除了HashMap你还经常用什么数据结构
多线程,如何使用(=线程创建方式),new一个对象的时候,内存是如何分配的,这个过程是不是线程安全的,Java内存分配是通过JVM的内存管理机制负责的,当多个线程同时执行new操作时,JVM会通过一些机制来确保内存分配的正确性和线程安全。
面试官又问了还有没有其他方式,提示是先分配一个缓存,叫本地线程分配缓冲。后续需要看一下这部分知识
Java种对象的生命周期是什么,对象从创建->执行->销毁的过程,销毁就涉及到了内存回收
Spring的AOP,以及如何通过动态代理实现的,动态代理有哪些方式,哪一种动态代理可以代理私有化的方法?
Spring的哪些内容是通过AOP去实现的?
transaction的注解是一定生效的吗?什么时候会失效呢
Spring的循环依赖,如何解决Spring的循环依赖呢(三级缓存)
Spring的三级缓存是怎么样解决循环依赖的
Spring MVC的执行流程
如果要开发一个切面去切所有的Controller层,如何实现呢
Mysql是怎么解决读写冲突的,Mysql的索引类型有哪些,Mysql有哪些锁,间隙锁 排他锁是怎么实现的
如果对一条数据已经加了排他锁,那么其他的线程进来怎么办,是会等待还是失败还是怎么样?那如果让你优化一下这个排他锁,你会用什么方式实现呢?
Redis的数据结构有哪些?Redis的不同数据结构分别在哪些业务场景使用,Redis做缓存如何保证一致性,Redis缓存穿透、击穿、雪崩。,Redis实现分布式锁还有其他什么方式?(Zookeeper),Redis和Zookeeper分别是CAP哪一种模型()
分布式锁一定成功吗,什么情况下可能锁不住
redis集群部署,一共三个节点,如果挂了一个呢
线上问题一般是如何排查
内存使用比较高的是怎么排查呢
二面面试内容:
HashMap
如果让你实现将外部数据转换为你们项目需要的数据格式内容,你如何实现这个功能
如何把一个JSON转换为对象
Redis分布式锁实现原理,挂了怎么办,整个Redis都不能用了,做一个兜底方案
Mysql隔离级别
Dubbo和SpringCloud
OB和Mysql的区别
SQL优化,索引失效问题
三面面试内容
实习项目
OB和Mysql的区别,数据量多少来选择这两种数据库
Mysql的间隙锁,怎么样写sql语句可以加间隙锁
建立联合索引ABC,如果使用select查询只查询BC走索引吗
SQL优化的步骤是什么样的,如何看一条sql走没走索引,如果所有字段都加索引是不是更好
Seata使用场景
Redis分布式锁,续锁原理
#面试问题记录##牛客创作赏金赛#记录本人2025校招面经