是你没见过的蚂蚁金服2021年金融核心部门的面经(Redis+AOP+中间件+分布式锁等)我通过了BAT面试,让自己积累了一些经验。今天也给大家分享一下蚂蚁金服金融核心部门的面试经历。希望对正在准备面试的你有所帮助!废话不多说,直接写正文。一方面(个人觉得回答的还不错)1.自我介绍2.说到项目,项目问的很深(提到过之前的一个项目,关于FULLGC问题定位优化和一个多并发project)你清楚你之前项目的系统定位吗?您清楚系统的各个模块吗?每个接口的tps?对上下游系统的依赖?你清楚使用的中间件和框架吗?3.你认为你项目中最亮的地方是什么?4、memcacheredis在同类中有什么区别和优缺点?有哪些注意事项?memcache可以存储的数据类型只有string类型,而redis可以存储character、list、sortedlist、hash数据类型的数据;memcache不支持数据持久化,redis支持RDB,AOF持久化;memcache不支持集群,redis支持redis-clustercluster5.redis分布式锁说到redis的setnx()方法,使用redis的kv结构,锁作为key,value对应key使用map结构,在map中使用requestId作为map的key,过期时间作为map的value,使用cas算法获取锁,锁的获取和释放通过比较时间是否已经过期如果过大,使用自己创建的任务队列会不会导致内存爆炸?8、Redis集群主从数据同步主从集群实现数据读写分离。主服务器负责读写,重写是部分的,而从服务器只负责读。主服务器启动后,将日志文件发送给从服务器,从服务器根据日志文件更新数据。之后,如果主服务器有写操作,它也会向从服务器发送相应的写操作。所有初始节点的状态都是looking。当某个节点的投票数超过所有节点数的一半时,该节点将成为领导者,节点状态为领先,其他节点成为追随者。跟随的节点状态。选举的依据是(sid,zxid)数据,sid代表节点的ID,zxid代表交易ID。在选举过程中,每个节点都会在第一轮选举中选举自己为leader,并向其他节点发送(sid,zxid)。点,将其他节点(sid,zxid)收到的数据与自己的数据进行比较,如果zxid大于自己的zxid,则直接选举当前节点;如果较小,则坚持选举自己;如果zxid相等,比较哪个sid大,大的就是leader。10.谈谈分布式(我说的是Dubbo)11.数据库事务,如何实现分布式数据一致性?读者可以了解ZAB协议。我大概谈到了ZAB协议。12、SpringIOC、SpringAOP简单讲了IOC和AOP的原理,以及原理依赖的模式。13、数据库事务的隔离级别四大隔离扇区:Uncommitted-readCommitted-readRepeated-readSerializable分别针对数据库的脏读、不可重复读和误读。数据传输、方法调用(方法对应的ID)15.算法题:笔试题-最短路径问题(本题通过)如图,某物流配送员p需要配送4个快递给a,b、c、d点击“派送包裹”,询问派送员需要选择什么路线,才能以最短的距离完成派送。假设配送员的起点坐标(0,0)如图所示,则配送路线只能沿着图中网格的边行进。每个小格子都是一个边长为1的正方形。比如p到d的距离是4。随机输入n个配送点坐标,输出最短配送路线值(从起点到完成n个点配送并返回起点的距离)。我的做法是用排列算法把所有的情况都梳理一遍,计算出最短路径。两个方面(我个人觉得回答很垃圾,六个问题我回答了两个)1.自我介绍2.项目,从各个角度刁难3.FULLGCTroubleshootingTool我其实没用我在做项目的时候有什么工具,但是我用的是Linux命令TOP,TOP交互命令1,H;jsatck、jstat、JVM相关参数及JVM日志查看4.开发中遇到的最棘手的问题问题5.Spring事务,嵌套事务这道题其实把我搞糊涂了。我没有很好地回答。我一直在回答事务隔离的问题。面试结束后总结了Spring事务相关的知识点6.面向接口编程的优势是什么?问的问题太抽象了。我不能很好地回答。面试官说还不完美。7、数据库中的两个insert同时操作同一个表。我的答案很乱,所以我检查了一下。大概意思就是这里涉及到的锁是间歇性锁。读者可以阅读相关知识8.谈谈死锁。比如两个线程1和2,两个锁a和b。线程1获得锁a,申请锁b。同时,线程2获得了锁b,想申请锁a。两条线陷入僵局。总结完两个技术方面,就是HR了。太多了。蚂蚁金服整体面试经验,面试官很专业,基础知识要求非常熟悉。在去面试之前,你必须在面试前做好准备。LeetCode题也要刷。面试前记得刷题,做好准备。如果对简历上的项目不熟悉,就不要写了。为自己编写的项目准备2-3个技术方案。最后,码字不易。如果觉得有帮助,可以一键帮助,连续三次,让更多有需要的人看到,金九银十即将到来。在这里,我准备了一套Java程序员的高频笔试面试。真题,助你拿下BAToffer,题目涵盖Java基础到高级分布式架构等一系列面试题及答案,供大家参考,可【点此】获取,以下是部分截图资料由于篇幅原因,我们就不一一展示了。[点击这里]获取所需的
