✅26届,985,12306项目,redis,多线程
面试者背景
:::warning 211本,985硕,设计模式,mq,中间件,26届。
12306****项目,登录,注册,增删改查,车票模块,车票购买,订单模块,支付,
**哪个模块最熟悉?车票模块。车票查询,redis存储,城市,车站,查询列车信息,余票,购票,防止超卖、分布式锁(锁列车、锁细分)****+**令牌桶,bitmap?
车次、余票、城市等信息是如何存储的?杭州出发,经过上海,到达南京,如何存储的?存储的key会不会很大?
余票是如何存储的?key是什么?我要查一等座、二等座怎么办?一等座靠窗呢?
北京**->杭州->南京,如何实现杭州->南京票售出之后,其他的票都一起-1****的?**
防超卖是怎么做的?令牌桶是是如何实现的?自己实现的。介绍下实现思路。
余票数量是什么时候扣减的?令牌桶的意义是什么?
令牌桶和漏桶的区别是什么?你的场景用漏桶可以吗?
JDK 17****用了啥新特性吗?
Redis的集群模式。主从节点分别是什么?哨兵模式(主观、客观下线、ping/pong),集群模式(hash槽、crc16、)、16384是怎么来的?哪种可能会存在脑裂的情况?脑裂有哪些问题?
介绍下redis的持久化机制?AOF、RDB、区别?File在磁盘上吗?AOF的写回策略、
Redis****支持事务嘛?不能回滚的事务?过程中某个命令失败了咋办?
用的哪个redis客户端?Redisson,jedis,
布隆过滤器是啥?缺点是什么?误判、无法删除。怎么解决?
Redis****除了用来作缓存,还能干啥?排名、消息队列、经纬度。
synchronized****是如何保证的原子性、有序性和可见性?
如果你要加锁,在syn和reentrantLock之间选哪个?为什么?偏向锁为啥别废弃、
线程池执行业务逻辑,如何实现3秒钟如果不返回就抛异常结束?
10个线程模拟赛马,实现功能:所有马ready之后一起开跑,全部到终点之后再宣布成绩?
:::
题目解析
:::color4 12306****项目,登录,注册,增删改查,车票模块,车票购买,订单模块,支付,
**哪个模块最熟悉?车票模块。车票查询,redis存储,城市,车站,查询列车信息,余票,购票,防止超卖、分布式锁(锁列车、锁细分)****+**令牌桶,bitmap?
车次、余票、城市等信息是如何存储的?杭州出发,经过上海,到达南京,如何存储的?存储的key会不会很大?
余票是如何存储的?key是什么?我要查一等座、二等座怎么办?一等座靠窗呢?
北京->杭州->南京,如何实现杭州->南京票售出之后,其他的票都一起-1的?
:::
这部分是关于项目,这种项目可以讲,但是不要说所有模块都是你做的,要不然面试官可能会问你各种问题,你可能hold不住,建议是挑其中的重要模块介绍,把一个模块给他吃透了,而不是每个模块都模棱两可,一问细节就不知道了,那肯定就挂了。
:::color4 防超卖是怎么做的?令牌桶是是如何实现的?自己实现的。介绍下实现思路。
余票数量是什么时候扣减的?令牌桶的意义是什么?
令牌桶和漏桶的区别是什么?你的场景用漏桶可以吗?
:::
:::color4 JDK 17用了啥新特性吗?
:::
如果你写了JDK 17,那就要做好被问的准备,所以你要了解一点新特性,要不然被问了你不知道就很尴尬,要不然就老老实实写JDK8好了。
:::color4 Redis****的集群模式。主从节点分别是什么?哨兵模式(主管、客观下线、ping/pong),集群模式(hash槽、crc16、)、16384是怎么来的?哪种可能会存在脑裂的情况?脑裂有哪些问题?
介绍下redis的持久化机制?AOF、RDB、区别?File在磁盘上吗?AOF的写回策略、
Redis****支持事务嘛?不能回滚的事务?过程中某个命令失败了咋办?
用的哪个redis客户端?Redisson,jedis,
:::
:::color4 布隆过滤器是啥?缺点是什么?误判、无法删除。怎么解决?
:::
:::color4 Redis除了用来作缓存,还能干啥?排名、消息队列、经纬度。
:::
:::color4 synchronized****是如何保证的原子性、有序性和可见性?
如果你要加锁,在syn和reentrantLock之间选哪个?为什么?偏向锁为啥别废弃、
:::
✅synchronized是如何保证原子性、可见性、有序性的?
✅synchronized和reentrantLock区别?
:::color4 线程池执行业务逻辑,如何实现3秒钟如果不返回就抛异常结束?
10个线程模拟赛马,实现功能:所有马ready之后一起开跑,全部到终点之后再宣布成绩?
:::