RPC概述
RPC(Remote Procedure Call)即远程过程调用,允许一台计算机调用另一台计算机上的程序得到结果,而代码中不需要做额外的编程,就像在本地调用一样。
现在互联网应用的量级越来越大,单台计算机的能力有限,需要借助可扩展的计算机集群来完成,分布式的应用可以借助RPC来完成机器之间的调用。
个人基本情况:
首先介绍一下自己的个人基本情况,某专科学校毕业,计算机技术与应用专业,有过2年的工作经验,毕业以后一直想要进入一线互联网大厂工作,但无奈学历受限,屡屡被挡在门外。后来接触到一个朋友,了解到“霸面”,所以鼓起勇气去尝试了,挑战了一下蚂蚁金服,没想到经过4轮面试之后,居然拿到了offer,现特分享一下自己的面试真题,希望能够给你有所帮助。
一面真题
- 项目介绍
- 项目中如何保证数据一致性的
- 项目中存在的问题
- JVM内存
- 程序计算器的作用
- gc 算法,垃圾收集器
- Spring事务,事务的实现机制,如何保证事务的?
- 悲观锁、乐观锁
- HashMap
- 红黑树,B+树
- 死锁,如何防止死锁?
二面真题
二面之前做了一些题,做完题之后,二面围绕题目展开。
- 分布式事务的保证,具体的解决方案
- 接口的幂等性
- 如果向某个账户转账,在高并发的环境下,设计的接口有什么问题?
- 如何解决上述问题?
- 如果账户表很大,具有亿万级别,如何提高查询效率?
- 分库分表具体操作
- MySQL主从
- MySQL如何保证主从的数据一致性
- 数据库的容灾
三面真题
主要是项目介绍
项目一(支付营销系统):
- 介绍、架构、具体流程,如何压测?性能优化?机器扩容标准、线程池大小
- 平时用到的集合
- Hashmap
- Treeset的实现
- 分布式事务
- 秒杀系统
项目二(分布式调度系统):
- 项目具体情况、架构、设计思路
- Kafka消息可靠性保证
- 其他中间件
- 平时看什么书
四面(HR面)
- 自我介绍?
- 之前的工作给你带来了什么?
- 之前在工作者承担什么样的角色?
- 为什么想来蚂蚁金服?
- 自己有什么优势?
- 未来的职业规划是怎么样的?
- 期待薪资多少?
- 还有什么想问的?
最后
最后,强调几点:
- 1. 一定要谨慎对待写在简历上的东西,一定要对简历上的东西非常熟悉。因为一般情况下,面试官都是会根据你的简历来问的; 能有一个上得了台面的项目也非常重要,这很可能是面试官会大量发问的地方,所以在面试之前好好回顾一下自己所做的项目;
- 2. 和面试官聊基础知识比如设计模式的使用、多线程的使用等等,可以结合具体的项目场景或者是自己在平时是如何使用的;
- 3. 注意自己开源的Github项目,面试官可能会挖你的Github项目提问;
我个人觉得面试也像是一场全新的征程,失败和胜利都是平常之事。所以,劝各位不要因为面试失败而灰心、丧失斗志。也不要因为面试通过而沾沾自喜,等待你的将是更美好的未来,继续加油!
面试答案
1032)]
[外链图片转存中…(img-4TwNTA6l-1650512261032)]
[外链图片转存中…(img-Opv01u7a-1650512261033)]