蚂蚁平台技术事业群后端开发一面凉经

0、项目背景?项目状态(是否上线)?
1、秒杀面临的问题和难点是什么?
2、为什么要用延迟队列渐进式实现超时订单自动取消?和直接设置15分钟再判断是否付款的差别是什么?
3、假设秒杀场景没有分布式锁,怎么去实现秒杀活动?
4、RabbitMQ延迟队列底层怎么实现的?
那么这个延迟队列还是队列模型吗?怎么对消息进行排序的?每一条消息过来都要重新排序吗?
5、如果是让你去考虑设计,实现一个定时器或者类似这种延迟队列的功能,怎么实现?那如果使用数据结构保存在内存的话,如果出现了异常数据就丢失了,怎么保证数据的可靠性?
6、结合刚刚说的堆排序以及数据持久化,怎么同时兼顾这个性能和可靠性?(回答说不太了解,让我现场思考怎么实现)
7、RPC的序列化方式及其区别?
8、RPC框架的原理?怎么找到远程调用的实现?
9、Redis和Kafka都可以实现队列,为什么使用RabbitMQ?

算法题:
多线程交叉打印”Hello“和“World”

#蚂蚁# #蚂蚁暑期实习#
全部评论

相关推荐

#牛客AI配图神器#攒攒好运~手撕:两个文件各有一亿行字符串,写一个算法找两个文件中相同的字符串问题:介绍你的一个后端项目介绍RPC项目介绍为什么你拆了这几个模块如果某一台机器下线了,应该怎么处理Java的锁用过哪些synchronized 和 ReentrantLocksynchronized底层原理假如多个线程竞争一个被synchronized锁上的资源,假如有t1,t2,t3这几个线程,如果t1拿到了,那么这是t2t3怎么办,如果t1用完了,释放锁之后,那么t2t3怎么知道?之后又是怎么竞争给你一个线程池,corePoolSize = 10, maximumPoolSize = 30, workQueue.size() = 100, 问第几个任务过来的时候,线程数量能够扩大到最大的数量30超过了会怎么样线程有很多创建方式,他的演进是怎么样的,为什么后面又有了线程池你觉得线程池主要解决什么问题分布式锁都有哪些类型的实现用redis实现分布式锁的几个关键参数分别是什么作用?如key,value,过期时间WatchDog是干嘛的如果获取分布式锁后,业务执行过程中抛异常了怎么办如果没有用catch捕获呢那什么情况下,业务逻辑时间比过期时间短,但是仍然会用到过期时间释放锁是怎么实现的?里面可能出现什么问题需要考虑如果出现线程安全问题,比如过期时间10s,业务逻辑执行也是10s,那么如果先过期,然后另一个线程拿到了分布式锁,那么业务逻辑执行删除时候就直接把别人的锁删了,这个问题怎么解决Redis的高可用是怎么做的MySQL怎么实现乐观锁悲观锁数据库加了索引为什么可以变快?假如我没有学过计算机,应该怎么解释用索引的过程中需要注意哪些#蚂蚁##暑期##实习##Java##后端#
查看25道真题和解析
点赞 评论 收藏
分享
评论
1
3
分享

创作者周榜

更多
牛客网
牛客企业服务