关于java:是你没见过的蚂蚁金服2021金融核心部门面经RedisAOP中间件分布式锁等

前言

金九银十马上就要来了,置信不少Java程序员敌人们在网上搜寻过BAT面经,以便可能失去一些教训,明天我也来给大家分享一下蚂蚁金服金融外围部门的面试经验,心愿可能帮忙到正在筹备面试的你!废话不多说,间接上注释吧。

一面(个人感觉答复得还不错)

1. 自我介绍

2. 说我的项目,我的项目问的十分深(自己提到之前做过的一篇对于FULL GC的问题定位和优化的我的项目以及一个多并发的我的项目)

对于本人产于过我的项目的零碎定位是否分明?

对于零碎的各个模块是否分明?

每个接口的tps?

对于上下游零碎的依赖?

对于应用到的中间件、框架是否分明?

3. 你感觉你做的我的项目中最有亮点的事件?

4. memcache redis同类两头的差别、优缺点?应用留神点有哪些?

memcache能够存储的数据类型只有字符串类型,而redis能够存储字符,list,sorted List,hash数据类型的数据;

memcache不反对数据长久化,redis反对RDB,AOF长久化;

memcache不反对集群,redis反对redis-cluster集群

5. redis分布式锁说说

我提到了redis的setnx()办法,以及应用redis的KV构造,lock作为key,key对应的value应用map构造,map中应用申请requestId作为map的key,过期工夫作为map的value,获取锁应用cas算法,比拟工夫是否过期来获取锁和开释锁

6. TCP,UDP

7. 多并发我的项目的并发量,有没有压测过,以及QPS,申请的音讯量太大,应用本人创立的工作队列会不会使内存爆?

8. Redis集群主从数据同步

主从集群实现了数据的读写拆散,主服务器负责读写,并重写,从服务器只负责读。主服务器启动之后向从服务器发送日志文件,从服务器依据日志文件进行数据的更新,之后如果主服务器有写操作,也会向从服务器发送相应的写操作

9. Zookeeper实现选举的原理

zk的选举过程中其起始所有结点的状态为looking,当某个结点的选票超过所有结点数的一半,该结点就会成为leader,结点状态为leading,其余结点会成为followers,结点状态为following。选举的根据是(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-read Commited-read Repeated-read Serializable别离针对数据库脏读,不可反复读,虚读问题

14. 谈谈RPC

RPC近程调用,说了说原理,应用到的组件,以及RPC次要的工作:序列化,传输数据,办法调用(办法对应的ID)

15. 算法题:口试题-最短门路问题(这道题是通过的)

如图,某物流派送员p,须要给a、b、c、d4个快递点派送包裹,请问派送员须要抉择什么的路线,能力实现最短途程的派送。假如如图派送员的终点坐标(0,0),派送路线只能沿着图中的方格边行驶,每个小格都是正方形,且边长为1,如p到d的间隔就是4。随机输出n个派送点坐标,求输入最短派送路线值(从终点开始实现n个点派送并回到起始点的间隔)。

我的做法是应用排列算法,将所有的状况排列进去,计算最短门路

二面(个人感觉答复的特地垃圾,六道问题答复了两道)

1. 自我介绍

2. 怼我的项目,各个角度刁难

3. FULL GC问题排查工具

我做我的项目时其实没有应用什么工具,就是用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程序员精选高频面试口试真题,来帮忙大家攻下BAT的offer,题目范畴从高级的Java根底到高级的分布式架构等等一系列的面试题和答案,用于给大家作为参考,须要的能够【点击此处】获取,上面为局部材料截图 

​ 

 因为篇幅起因就不一一展现了,须要的【点击此处】获取获取

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理