面试系列|蚂蚁金服技术面【1】
哈喽,大家好!今天分享一下蚂蚁金服的 Java 后端开发岗位真实社招面经,复盘面试过程中踩过的坑,整理面试过程中提到的知识点,希望能给正在准备面试的你一些参考和启发,希望对你有帮助,愿你能够获得心仪的 offer !

投递简历 2 天后收到电话通知「简历已通过,接下来我们约一下面试时间」。经过沟通发现可以约到下班时间,随即约到晚上8点,提前了解到第一轮是通过电话语音进行面试,刚开始还有点惊讶可以约到晚上面试,这样对在职打工人来说很友好,后面才了解到互联网公司社招基本都是远程面试,可以约到比较晚的时间进行面试。
晚上 8 点,还比较准时,面试官打电话过来,还比较礼貌地问了下是否方便进行面试,总体来说大厂面试官体验还是很不错的,下面是面试时语音实录复盘。
面试官:这场面试主要是针对简历评估进行面试,主要是八股文,会持续大概半个小时。首先自我介绍一下。
候选者:(按照提前准备的内容回答)好的,我叫 XXX,目前在 XXX 公司担任 XXX 岗位,主要负责 …
面试官:我看你简历上写了熟悉 Redis,那么你知道什么是缓存穿透吗?
候选者:(经典的八股文,面试基本必问)缓存穿透指的是查询的数据在数据库中根本不存在,但每次请求都绕过缓存直接查数据库,导致数据库压力暴增。常见场景包括恶意攻击或查询不存在的数据,如查询用户 id=-1 或某个极端值。
面试官:好的,你 知道缓存击穿和缓存雪崩吗?它们有什么区别,平时如何处理这些场景?
候选者:(经典的八股文,面试基本必问,按照理解尽量讲清楚原理)缓存击穿是指某个热点数据在缓存中不存在或者已过期,而且恰好有多个请求同时查询这个数据,导致这些请求直接访问数据库,造成数据库压力过大。解决办法通常是让第一个请求查询数据库并将数据加载到缓存,后续请求则直接从缓存中获取数据。缓存雪崩指的是缓存中的多个热点数据同时过期,导致大量请求访问数据库。这个问题通常通过加缓存过期时间的随机化来避免,避免所有缓存同时过期导致的流量高峰。(观察面试官反应,看看是否需要补充缓存预加载。)
面试官:不错。那么,如果 Redis 存储的数据量非常大时,这个如何扩展呢?
候选者:(心里一想,面试官是想考我分布式架构存储吗,可以考虑结合一下业务场景更有说服力)如果数据量非常大,我们可以引入分布式缓存,比如 Redis 集群,来分担压力。同时,结合异步加载缓存和消息队列,避免每次都访问数据库。
面试官:接下来,聊一聊消息队列。RocketMQ 和 RabbitMQ 有什么区别?你一般怎么选用?
候选者:RocketMQ 是分布式消息队列,专为高并发、高吞吐量设计,适合大规模分布式系统,提供了较强的事务支持。RabbitMQ 是基于AMQP协议的消息队列,适用于消息传递较为可靠,且对实时性要求不高的场景。两者的最大区别是 RocketMQ 在消息的高并发吞吐和消息事务方面表现优越,而 RabbitMQ 更注重可靠性和消息的持久化。
面试官:那聊聊线程池的四个主要参数,你知道吗?
候选者:(经典的线程池问题,面试基本必问)线程池有四个核心参数。corePoolSize:核心线程池的数量。maximumPoolSize:线程池最大线程数。keepAliveTime:当线程池中的线程数大于corePoolSize时,多余线程的最大空闲时间。blockingQueue:任务队列,用于存储待执行的任务。
面试官:那如果线程池中的线程不断增多,资源也开始紧张,怎么解决这个问题呢?
候选者:如果线程池中的线程不断增多,说明任务处理压力过大,我们可以通过调节最大线程数、调整队列大小,或者通过动态调整线程池参数来优化。极端情况下,可以考虑增加更多线程池或将任务分配到其他服务进行处理。
面试官:我们再来一个问题,StringBuilder 和 StringBuffer 的区别?
候选者:StringBuilder 和 StringBuffer 的区别在于 StringBuffer 是线程安全的,而 StringBuilder 是非线程安全的。StringBuffer 采用的是同步方法,在多线程环境中可以保证线程安全,但性能相对较差。单线程场景下,推荐使用 StringBuilder,因为它性能更高。如果在多线程环境下使用 StringBuffer,可以避免潜在的线程安全问题。
面试官:好的,今天的面试就暂时到这里,你有什么想问我的吗?
候选者: (展现自己的兴趣和对岗位的关注)想请问下后面大概会有几轮面试?团队目前的核心技术栈有哪些?
面试官: 2 - 3 轮技术面,1 轮 HR 面,大概是这样的一个流程。技术栈的话是比较主流一些技术,主要有…
候选者: 好的,了解了,我这边暂时没有其他问题。
面试官: 后续有结果会邮件通知你这边,感谢你参与今天的面试。
面试时间大概持续半个小时左右,整体面试体验挺不错的,第二天收到电话通知简历面过了,是另外一位面试官打的,通知进行下一轮面试,下一篇继续整理。这一篇先整理到这,希望对你有帮助。
相关文章:
面试系列|蚂蚁金服技术面【1】
哈喽,大家好!今天分享一下蚂蚁金服的 Java 后端开发岗位真实社招面经,复盘面试过程中踩过的坑,整理面试过程中提到的知识点,希望能给正在准备面试的你一些参考和启发,希望对你有帮助,愿你能够获…...
使用傅里叶变换测量声卡的频率失真
文章目录 一、说明二、关于声卡的技术详述三、实验代码获取四、结论 一、说明 假如我希望使用我的声卡来模拟软件无线电,利用声音而不是射频信号。我的声卡能胜任这项任务吗?本文将研究一种技术来找出答案。另外,需要了解音频技术的读者也可…...
Selenium 自动化测试学习总结
大概了解一下即可,现在主要用的自动化工具是 playWright,它可以录制操作。 selenium是老款自动化测试工具,仍有很多可取之处。 安装: pip install selenium即可。然后下载浏览器的驱动包,注意不是浏览器!…...
【HTML5】01-HTML摆放内容
本文介绍HTML5摆放标签的知识点。 目录 1. HTML概念 2. HTML骨架 3. 标签的关系 4. 标题标签 5. 段落标签 6. 换行和水平线 7. 文本格式化标签 8. 图像标签 图像 - 属性 9. 路径 相对路径 绝对路径 10. 超链接标签 11. 音频标签 12. 视频标签 1. HTML概念 HTM…...
内存管理:
我们今天来学习一下内存管理: 1. 内存分布: 我们先来看一下我们下面的图片: 这个就是我们的内存,我们的内存分为栈区,堆区,静态区,常量区; 我们的函数栈帧开辟消耗的内存就是我们…...
设计模式使用Java案例
代码设计要有可维护性,可复用性,可扩展性,灵活性,所有要使用设计模式进行灵活设计代码 创建型 简单工厂模式(Simple Factory) 简单工厂模式(Simple Factory Pattern)是一种创建型…...
Spring Boot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现与实战指南
Spring Boot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现与实战指南 一、核心概念对比 1. 本质区别 维度过滤器(Filter)拦截器(Interceptor)规范层级Serv…...
模运算的艺术:从基础到高阶的算法竞赛应用
在算法竞赛中,模运算(取模运算)是一个非常重要的概念,尤其在处理大数、防止溢出、以及解决与周期性相关的问题时。C 中的模运算使用 % 运算符,但它的行为和使用场景需要特别注意。 1. 模运算的基本概念 模运算是指求一…...
Java 并发编程——Java BIO NIO Socket编程
参考Java 并发编程——Java BIO NIO Socket编程 BIO:阻塞式编程模型 Socket 服务端编程Socket 客户端编程 NIO:非阻塞式编程模型 NIO 介绍Java 中 NIO 非阻塞式与前面 BIO 阻塞式的区别Java NIO类库包含以下三个核心组件ServerSocketChannel 服务端编程…...
ST电机库电流采样 三电阻单ADC
一、概述 下图是三电阻采样的电路结构 其中流过三相系统的电流I1、I2、I3遵循以下关系: 因此,为了重建流过普通三相负载的电流,在我们可以用以上公式计算的情况下,只需要对三相中的两相进行采样即可。 STM32的ADC可以很灵活的配置成同步采集两路ADC数据,…...
【网络】什么是 IHL(Internet Header Length,首部长度)TTL(Time To Live,生存时间)?
在 IPv4 数据报文中,IHL(Internet Header Length,首部长度)、TTL(Time To Live,生存时间) 和 TIL 涉及到 IP 数据包的结构和生命周期。以下是对它们的详细解释: 📌 1. IH…...
现代密码学 | 具有保密和认证功能的安全方案
1.案例背景 1.1 2023年6月,微软云电子邮件泄露 事件描述: 2023年6月,属于多家美国政府机构的微软云电子邮件账户遭到非法入侵,其中包括了多位高级政府官员的电子邮件。据报道,美国国务院的10个邮件账户中共有6万封电…...
一款基于Python的从常规文档里提取图片的简单工具开发方案
一款基于Python的从常规文档里提取图片的简单工具开发方案 1. 环境准备 安装必需库 pip install python-docx PyMuPDF openpyxl beautifulsoup4 pillow pip install pdfplumber # PDF解析备用方案 pip install tk # Python自带,无需安装工具选择 开发环…...
JetBrains(全家桶: IDEA、WebStorm、GoLand、PyCharm) 2024.3+ 2025 版免费体验方案
JetBrains(全家桶: IDEA、WebStorm、GoLand、PyCharm) 2024.3 2025 版免费体验方案 前言 JetBrains IDE 是许多开发者的主力工具,但从 2024.02 版本起,JetBrains 调整了试用政策,新用户不再享有默认的 30 天免费试用…...
Pytorch实现之BCGAN实现双生成器架构的人脸面部生成
简介 简介:通过双生成器架构与重建损失进行循环的生成训练,实现人脸面部表情合成。 论文题目:BCGAN: Facial Expression Synthesis by Bottleneck-Layered Conditional Generative Adversarial Networks (基于瓶颈分层条件生成对抗网络的面部表情合成) 会议:2021 15th…...
智慧加油站小程序数据库设计文档
智慧加油站系统 - 数据库与API设计文档 1. 数据库设计 1.1 ER模型 系统的核心实体关系如下: 用户(User) ---< 订单(Order) ---< 加油记录(RefuelRecord)| | || | vv v …...
Docker生存手册:安装到服务一本通
文章目录 一. Docker 容器介绍1.1 什么是Docker容器?1.2 为什么需要Docker容器?1.3 Docker架构1.4 Docker 相关概念1.5 Docker特点 二. Docker 安装2.1 查看Linux内核版本2.2 卸载老版本docker,避免产生影响2.3 升级yum 和配置源2.4 安装Dock…...
Linux内核传输层UDP源码分析
一、用户数据包协议(UDP) 1.UDP数据报头 UDP 提供面向消息的不可靠传输,但没有拥塞控制功能。很多协议都使用 UDP,如用于 IP 网络传输音频和视频的实时传输协议 (Real-time Transport Protocol,RTP),此类型…...
FPGA学习(二)——实现LED流水灯
FPGA学习(二)——实现LED流水灯 目录 FPGA学习(二)——实现LED流水灯一、DE2-115时钟源二、控制6个LED灯实现流水灯1、核心逻辑2、代码实现3、引脚配置4、实现效果 三、模块化代码1、分频模块2、复位暂停模块3、顶层模块 四、总结 一、DE2-115时钟源 DE2-115板子包含一个50MHz…...
E1-最远距离(stl使用)
题目描述 给定一个数组,请你找出数组中相同元素之间的最远距离。若数组中不存在相同元素,则输出 null。 输入描述 输入一个数组,数组长度不超过 10000。格式请见用例。 输出描述 输出数组中相同元素的最远距离。 用例 输入 [3, 2, 3,…...
Linux如何在设备树中表示和引用设备信息
DTS基本知识 dts 硬件的相应信息都会写在.dts为后缀的文件中,每一款硬件可以单独写一份xxxx.dts,一般在Linux源码中存在大量的dts文件,对于arm架构可以在arch/arm/boot/dts找到相应的dts,一个dts文件对应一个ARM的machie。 dtsi 值…...
Matlab 汽车振动多自由度非线性悬挂系统和参数研究
1、内容简介 略 Matlab 169-汽车振动多自由度非线性悬挂系统和参数研究 可以交流、咨询、答疑 2、内容说明 略 第二章 汽车模型建立 2.1 汽车悬架系统概述 2.1.1 悬架系统的结构和功能 2.1.2 悬架分类 2.2 四分之一车辆模型 对于车辆动力学,一般都是研究其悬…...
Maven核心包:maven-resolver-api
在阅读 nexus-pubic 开源项目过程中,使用了大量的核心组件进行轻量化集成。它的这种构建方式,在阅读过程中不得不感概,节省成本从构建项目的方式上就遥遥领先了。但是 maven核心包,依然使用前几年的aether-spi,却没有更…...
生活中的可靠性小案例11:窗户把手断裂
窗户把手又断了,之前也断过一次,使用次数并没有特别多。上方的图是正常的把手状态,断的形状如下方图所示。 这种悬臂梁结构,没有一个良好的圆角过渡,导致应力集中。窗户的开关,对应的是把手的推拉ÿ…...
[oeasy]python074_ai辅助编程_水果程序_fruits_apple_banana_加法_python之禅
074_ai辅助编程_水果程序_fruits_加法 回忆上次内容 上次直接从模块中导入变量、函数 from my_file import pi 导入my_file.pi 并作为 pi 使用 from my_file import pi as my_pi 导入变量 并 重命名 添加图片注释,不超过 140 字(可选) …...
【图论】并查集的学习和使用
目录 并查集是什么? 举个例子 组成 父亲数组: find函数: union函数: 代码实现: fa[] 初始化code: find code: 递归实现: 非递归实现: union code : 画图模拟: 路径压缩:…...
欢乐力扣:反转链表
文章目录 1、题目描述2、思路 1、题目描述 反转链表。 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 2、思路 借助cur指针和pre双指针来调整链表的前后指向。 # Definition for singly-linked list. # class ListNode: # def __i…...
1.8PageTable
页表的作用 虚拟地址空间映射:页表记录了进程的虚拟页号到物理页号的映射关系。每个进程都有自己的页表,操作系统为每个进程维护一个独立的页表。内存管理:页表用于实现虚拟内存管理,支持进程的虚拟地址空间和物理地址空间之间的…...
什么是大带宽服务器
什么是大带宽服务器? 在深入探讨大带宽之前,让我们先明确带宽的概念。带宽与我们日常所说的宽带有所不同,宽带是运营商为满足家庭或商业上网需求所提供的服务,而带宽则特指数据的传输速度,尤其是上行速度。大带宽服务…...
【TCP】三次挥手,四次挥手详解--UDP和TCP协议详解
活动发起人小虚竹 想对你说: 这是一个以写作博客为目的的创作活动,旨在鼓励大学生博主们挖掘自己的创作潜能,展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴,那么,快来参加吧!…...
