阿里 开发岗 社招 面经(一面)

第一面 大概一个小时

是一个阿里这边的一个同事联系到我,我们约好面试时间。

1.先自我介绍一下

主要是介绍工作经验、项目经历、你在项目中承担的角色是什么等(这些是重点,要有逻辑和侧重点来介绍) 

2.那大概说一下你们支付系统

这个主要是涉及自己对自己做过项目的熟悉程度,要对写在简历上的东西负责,且要对项目有思考、比如技术选型时候的考虑、系统存在的问题、如何改进等。

  

3.你们用到rocketMq 是基于什么考虑?

  

4.你们项目也用到了kafka,那为什么不统一一下,只用rocketMq或者只用kafka不行吗?基于什么考虑?

这个要结合具体的业务场景、为什么rocketmq合适而kafka不合适?主要要理解rocketmq和kafka的优势和劣势。

  

5.那说一下rocketmq如何保证消息不丢失呢?从原理上说一下

  

6.系统中如果保证消息不会重复消费?

我们都知道回答幂等,但是要提供出具体的实现方式、比如插入用唯一索引来保证插入的唯一性、更新时候状态设置等,具体实现可以上网找一下。、

  

7.你说你们用到了分布式锁?具体场景是什么样的?怎么实现的?   

8.因为涉及到高并发的场景,那你怎么保证数据库更新的有效性?

这个其实主要涉及到mysql的锁机制。乐观锁如何实现、悲观锁分类以及如何上锁等。要特别注意行锁和间隙锁实现,这个是重点,可能大多数人也一知半解,但是必须要搞懂的。我当初面试时候也是没回答好。

  

9.如何保证数据的一致性?

这个属于分布式事务的一部分。大家可以去掘金搜索一下,很多好文章。

  

10.好了,今天差不多了。你有什么问题问我吗?

这个就看个人了,真诚一点就好。我主要还是会问这次面试我的表现还有不足,但是不问具体的技术问题。面试也是为了检验自己和进步嘛。


#面经##阿里巴巴##社招#
全部评论
请问楼主面的哪个部门呀
点赞 回复 分享
发布于 2021-07-23 20:33

相关推荐

小厂面经,也是我的处女面(30min)1.自我介绍2.spring boot的自动装配原理(好多类和接口的单词都忘了全称是啥了,就说了记得的单词,流程应该说对了吧)3.有用过redis吗?主要是用在实现什么功能(说了技术派用redis的zset来实现排行榜)5.有了解过Redisson吗?讲一下对于分布式锁的了解以及在什么场景下应用(说了秒杀场景)6.对mysql有了解吗?包括它的索引优化和创建(把想起来的全说了)7.了解设计模式吗?比如单例模式,为什么要使用单例模式,它的优点是什么(昨天刚看的设计模式)8.工厂模式有了解吗?主要的使用场景是?(也是昨天刚看的)9.场景题:有7个服务器,需要在早上十点定时的向数据库中的用户表中的用户发短信,如果做到发送的消息不重复,且如果发送失败了需要知道是到哪个用户失败了,这样下次就直接从这个用户开始(我答了用spring task来实现定时,用分布式锁来保证只有一份服务器可以发送消息,用消息队列来存储消息,然后用消息确认机制来保证错误信息的记录,以及在数据库或者业务层面完成消息消费的幂等性)10.场景题:如果在系统启动的时间就将数据库的所有用户相关的信息都读到一个hashmap中(这个没啥思路,没答好)27届的投了一个星期终于有一个面试了,大部分公司都只招26的
inari233:已oc,拒了
查看9道真题和解析
点赞 评论 收藏
分享
04-06 11:24
已编辑
太原学院 C++
点赞 评论 收藏
分享
评论
点赞
18
分享

创作者周榜

更多
牛客网
牛客企业服务