面试系列|蚂蚁金服技术面【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 的区别?

候选者StringBuilderStringBuffer 的区别在于 StringBuffer 是线程安全的,而 StringBuilder 是非线程安全的。StringBuffer 采用的是同步方法,在多线程环境中可以保证线程安全,但性能相对较差。单线程场景下,推荐使用 StringBuilder,因为它性能更高。如果在多线程环境下使用 StringBuffer,可以避免潜在的线程安全问题。


面试官好的,今天的面试就暂时到这里,你有什么想问我的吗?

候选者: (展现自己的兴趣和对岗位的关注)想请问下后面大概会有几轮面试?团队目前的核心技术栈有哪些?

面试官: 2 - 3 轮技术面,1 轮 HR 面,大概是这样的一个流程。技术栈的话是比较主流一些技术,主要有…

候选者: 好的,了解了,我这边暂时没有其他问题。

面试官: 后续有结果会邮件通知你这边,感谢你参与今天的面试。


面试时间大概持续半个小时左右,整体面试体验挺不错的,第二天收到电话通知简历面过了,是另外一位面试官打的,通知进行下一轮面试,下一篇继续整理。这一篇先整理到这,希望对你有帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/34376.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

带环链表的相关知识点

带环链表的相关知识点 1.判断是否有环2.寻找入环节点补充:相交链表 如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开…

初探 Threejs 物理引擎CANNON,解锁 3D 动态魅力

简介 Cannon.js 是一个基于 JavaScript 的物理引擎,它可以在浏览器中模拟物理效果。它支持碰撞检测、刚体动力学、约束等物理效果,可以用于创建逼真的物理场景和交互。 参考文档 官方示例 原理 Cannon.js 使用了欧拉角来表示物体的旋转,…

【小沐学Web3D】three.js 加载三维模型(React)

文章目录 1、简介1.1 three.js1.2 react.js 2、three.js React结语 1、简介 1.1 three.js Three.js 是一款 webGL(3D绘图标准)引擎,可以运行于所有支持 webGL 的浏览器。Three.js 封装了 webGL 底层的 API ,为我们提供了高级的…

简述计算机网络中的七层模型和四层模型

在计算机网络中,网络协议栈的设计通常采用分层结构来处理不同的通信任务。常见的分层结构有OSI七层模型和TCP/IP四层模型。虽然它们的层次数量不同,但本质上都在解决如何有效地进行计算机间通信。本文将分别介绍这两种结构的功能和各层的协议。 一、OSI七…

在 CentOS 上安装 Oracle 数据库

文章目录 **1. 系统准备****1.1 检查系统要求****1.2 更新系统****1.3 安装必要的依赖包****1.4 创建 Oracle 用户和组****1.5 配置内核参数****1.6 配置用户限制****1.7 配置 PAM 模块****1.8 创建 Oracle 安装目录** **2. 下载 Oracle 数据库安装包****2.1 访问 Oracle 官方网…

掌握这些 UI 交互设计原则,提升产品易用性

在当今数字化时代,用户对于产品的体验要求越来越高,UI 交互设计成为决定产品成败的关键因素之一。一个易用的产品能够让用户轻松、高效地完成各种操作,而实现这一目标的核心在于遵循一系列科学合理的 UI 交互设计原则。本文将详细阐述简洁性、…

创新实践分享:基于边缘智能+扣子的智能取物机器人解决方案

在 2024 年全国大学生物联网设计竞赛中,火山引擎作为支持企业,不仅参与了赛道的命题设计,还为参赛队伍提供了相关的硬件和软件支持。以边缘智能和扣子的联合应用为核心,参赛者们在这场竞赛中展现出了卓越的创新性和实用性&#xf…

Python----数据可视化(Pyecharts一:介绍安装,全局配置,系列配置)

一、PyEcharts介绍 1.1、概况 Echarts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而 Python 是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时&#xff…

Cursor初体验:excel转成CANoe的vsysvar文件

今天公司大佬先锋们给培训了cursor的使用,还给注册了官方账号!跃跃欲试,但是测试任务好重,结合第三方工具开发也是没有头绪。 但巧的是,刚好下午有同事有个需求,想要把一个几千行的excel转成canoe的系统变…

【3DGS】SuperSplat本地运行+修改监听端口+导入ply模型+修剪模型+在线渲染3DGS网站推荐

SuperSplat官网代码:https://github.com/playcanvas/supersplat 本地安装和运行 Clone the repository: git clone https://github.com/playcanvas/supersplat.git cd supersplat Install dependencies: npm install Build SuperSplat and start a local web ser…

MySQL中的B+树索引经验总结

一、什么是B树 B树是一种二叉树,由二叉查找树,平衡二叉树,B树演化而来。 请看上图 B树的特点: 1)非叶子节点不存放数据,只存放键值,数据都存放在叶子节点中。 2)叶子节点都在同一…

C# NX二次开发:在多个体的模型中如何实现拉伸操作布尔减

大家好,今天接着上一篇拉伸文章去讲。 UF_MODL_create_extruded1 (view source) uf_list_p_tobjectsInputList of objects to be extruded.char *taper_angleInputTaper angle (in degrees).char *limit [ 2 ]InputLimit of extrusion. This is declared as: char …

【深度学习】多源物料融合算法(一):量纲对齐常见方法

目录 一、引言 二、量纲对齐常见方法 2.1 Z-score标准化Sigmoid归一化 2.2 Min-Max 归一化 2.3 Rank Transformation 2.4 Log Transformation 2.5 Robust Scaling 3、总结 一、引言 类似抖音、快手、小红书等产品的信息流推荐业务,主要通过信息流广告、信…

前端高级CSS用法

前端高级CSS用法 在前端开发中,CSS(层叠样式表)不仅是用来控制网页的外观和布局,更是实现复杂交互和动态效果的关键技术之一。随着前端技术的不断发展,CSS的用法也日益丰富和高级。本文将深入探讨前端高级CSS的用法&a…

How to install a package in offline scenario in Ubuntu 24.04

概述 做过信创项目的兄弟们在工作上每天可能面对很多需要解决的问题,不过,有一类问题可能是大家经常遇的,比方说,有时候我们不得不硬着头皮在离线生产环境中安装某些软件包,相信很多兄弟被这种细碎的小事搞得焦头烂额…

C++类与对象——拷贝构造与运算符重载

拷贝构造函数和赋值运算符重载就是C类默认六个函数之二。 拷贝构造函数: 如果⼀个构造函数的第⼀个参数是自身类类型的引用,且任何额外的参数都有默认值,则此构造函数 也叫做拷贝构造函数,也就是说拷贝构造是⼀个特殊的构造函数…

数学建模 第一节

目录​​​​​​ 前言 一 优化模型的类型 二 线性规划1 线性规划2 三 0-1规划 总结 前言 数学建模主要是将问题转化为模型,然后再以编程的形式输出出来 算法都知道,数学建模也需要用到算法,但是不是主要以编程形式展示,而是…

计算机网络——DNS

一、什么是DNS? DNS(Domain Name System,域名系统) 是互联网的核心服务,负责将人类可读的域名(如 www.baidu.com)转换为机器可识别的 IP地址(如 14.119.104.254)。它像一…

【软考-架构】5.2、传输介质-通信方式-IP地址-子网划分

✨资料&文章更新✨ GitHub地址:https://github.com/tyronczt/system_architect 文章目录 传输介质网线光纤无线信道 通信方式和交换方式会考:交换方式 💯考试真题第一题第二题 IP地址表示子网划分💯考试真题第一题第二题 传输…

基于SpringBoot+Vue的毕业论文管理系统+LW示例参考

1.项目介绍 系统角色:管理员、指导教师、评阅教师、学生功能模块:用户管理、毕业论文管理、课题信息管理、选题申请管理、课题任务管理、基础数据管理、公告信息管理、评阅教师管理、指导教师管理等技术选型:SpringBoot,Vue等测试…