Skip to content

阿里测开面经(题目汇总版)


一、一面题目

计算机网络

  • 为什么 Nginx 能并发这么快
  • 是否了解 HTTP 是无状态的
  • 请描述输入一个 URL 到最终展现页面的过程
  • 请详细描述 HTTPS 的加密过程
  • HTTPS 连接的端口号是多少

数据结构与算法

  • 请描述快速排序的过程,有哪些优化方法,是否稳定
  • 请说明 HashMap 的线程安全性
  • 在小内存情况下如何对大文件进行排序
  • 不同性能 Hash 函数如何选取
  • 对字符串删除一定数量的字符,使这个字符串是 k 阶兴型字符串,求输出 k 的最大值

数据库

  • 请介绍 MVCC
  • 请简述数据库的三大范式
  • 数据库的隔离级别有哪些
  • 查看 explain 语句时,会关注哪些字段
  • 如何进行 SQL 优化

业务测试与自动化(一面高频)

  • 自我介绍
  • 性能方面的调优大概有涉及哪些吗
  • 你们当时的响应时间过长,具体是哪个环节有问题
  • 有提到 CPU、网络、MQ 之类的,那个问题具体在哪个环节
  • 大概讲一下 MQ 是个什么东西
  • 加入 MQ 之后和不加入 MQ 的区别在哪里
  • MQ 的规格大概是怎么样的
  • Redis 缓存数据库的一个测试和优化能力
  • 可以从哪些方面去优化 Redis 的一些使用
  • 修改商品价格(如 300 改 600),Redis 和数据库的写入顺序、查处顺序大概是怎么样的
  • 所有产品的平均保费金额大概是怎么样子(SQL 题)
  • 一个接口的大概用例是怎么写的
  • 自动化主要覆盖哪些场景
  • 跑这个接口的代码是你这边负责的吗
  • 写个自动化用例对某个接口调用 100 次,你会怎么写
  • 兼容性测试,除了考虑手机之外,还有哪些因素需要考虑
  • 线上有没有反馈一些问题(如兼容性问题),你们怎么处理
  • 定位到这是什么问题
  • 对你印象比较深的一个 Bug
  • 你们这块的问题,进一步有没有确认是哪个地方出现问题了

测试设计

  • 假如给你一个抽奖活动,为期三天,每天可抽 10 次,你会怎么测试
  • 时间内和时间外的情况;抽奖次数 10 次或 11 次的情况
  • 抽到的时候怎么样,抽不到的时候怎么样,库存怎么验证
  • 测试左移和右移能大概讲一下吗
  • 你们这个监控大概是怎么样子的
  • 你们这套监控系统有没有发现过什么线上问题

二、二面题目

Java

  • 你对 Kotlin 是否了解
  • new 一个对象会在堆内存的哪个区域
  • 线程池大小数量是不是越大越好
  • 请讲讲 HashMap 的底层数据结构、hash 冲突处理方式和扩容机制
  • Java 21 有哪些新特性

Spring / Spring Boot

  • 在实习中是否实际编写过 AOP 切面,是否做过全局异常处理
  • 如何利用 Spring Boot 编写一个 starter
  • Spring Boot Starter 的原理是什么
  • Autowired 和 Resource 注解的区别是什么
  • Spring Boot 的 AOP 使用的是 Spring AOP 还是 AspectJ,它们有什么区别
  • 解释 IoC 原理以及手写 IoC 容器的步骤
  • 如何处理 bean 之间的依赖关系
  • Spring 拦截器是否有使用过,其底层原理是什么
  • Spring IOC 的注入流程是什么
  • Spring 事务失效的情况有哪些

MySQL

  • 假设 a、b 两个字段建立了单独索引及联合索引 (a, b),分析以下 SQL 语句的索引命中情况及执行效率排序:
    • Select * From table Where a = x1
    • Select * From table Where a = x1 and b = x2
    • Select * From table Where b = x2 and a = x1
    • Select * From table Where a > x1
    • Select * From table Where a > x1 and b = x2
  • 在 MySQL 中如何检测 SQL 语句的性能问题
  • SQL 语句中用于去重的语句有哪些
  • 若执行的一个事务很大导致查询很慢,应该怎么办
  • MySQL 表怎么设计

Redis

  • Redis 数据和 DB 数据的一致性可能出现哪些问题,对应的解决方案是什么
  • Redis 集群中,主从模式的优缺点;假设有 40G 的内容要存储,但是单个节点只支持 10G 容量,怎么办
  • 如何保证高可用;对于集群的分片算法,假设已有 4 个节点,如果以 Hash 取模的方式分片,其中一个节点宕机后只剩 3 个节点,剩余节点的数据怎么重新分配
  • Redis 使用时突然断电,数据会丢失吗
  • 请说明 Redis 的数据结构有哪些,在实际项目中用到了哪些数据结构
  • 使用布隆过滤器的原因,以及为何不直接使用 Redis

消息队列

  • 消息重试多次失败该怎么办,是抛出异常吗
  • 请阐述 MQ 常见的问题及解决方法
  • 如何确保消息队列不会重复消费
  • 消息异常未发出去该如何解决
  • 关于延迟关闭订单选择 RocketMQ 是基于什么考量

三、三面题目

操作系统

  • 请说明虚拟内存如何转化为真实内存
  • 请介绍一下互斥锁性能损耗的原因
  • 进程间通信的方式有哪些(管道、消息队列、共享内存、信号量、Socket)
  • 互斥锁的底层实现是怎样的
  • 造成 CPU 夯死的问题是什么

系统架构

  • 单机和分布式系统的 QPS 的差别有多少
  • 请阐述 UUID 和雪花算法的优缺点
  • 阐述滑动窗口限流的实现方式
  • 某个接口平时的 QPS 是 1000,线上机器服务能力正常,但流量可能翻倍或到三倍达到 2000 或 3000,应做哪些预案解决
  • 请说明 Zookeeper 的一致性原理以及脑裂问题

三高架构

  • 双十一时并发量非常高,如何设计来抗住并发量
  • 请阐述你对高并发的处理思路
  • 请设计一个三高的商品系统
  • 你有做过什么高并发的性能优化吗
  • 在秒杀场景中,如何解决高并发问题和数据一致性问题

系统设计

  • 如果响应时间 10ms,线程池数量应该设置为多少
  • 如何保证数据库和缓存两边绝对一致
  • 请说明如何解决超卖问题
  • 订单超时自动释放是如何实现的,以及技术选型的对比情况
  • 对于需要经常访问的国家代码 001,如何设计以提高性能

项目经验

  • 请介绍一下实习中的效率优化
  • 请介绍一下实习项目,说明自己担任的角色,以及遇到的难题和解决办法
  • 请讲述你实习期间所做的工作
  • 请说明项目中做的好的以及可以改进的地方,以秒杀优化和限流为例
  • 讲讲最近的项目,该项目有哪些模块

行为面试

  • 你的目标发展城市是哪里
  • 请说明公司主要用到的技术栈
  • 如果我入职了,可以使用 Rust 语言进行开发吗
  • 请阐述你的未来打算
  • 请介绍你的研究方向

附加题目(AI / 大数据 / 设计模式 / C++ / 软件测试)

设计模式

  • 项目中使用了哪些设计模式,是如何使用的
  • 知道哪些设计原则
  • 请说明简历中涉及的设计模式
  • 请说明静态代理和动态代理
  • 是否了解模版模式

软件测试

  • 请设计测试用例测试微信发红包功能
  • 测试工程师的基本职责是什么
  • 如何让大模型自动生成测试用例
  • 请系统介绍测试用例设计方法
  • 假如线上发现了一个问题,怎么帮助开发定位问题

人工智能

  • 请介绍一下 CUDA 加速
  • 请说明 RAG 是如何运用的
  • 简述 RAG 的原理
  • 请介绍 RAG 项目的分块、向量数据库设计、模型调用、重排的全流程
  • 请提出缓解 Transformer 模型性能瓶颈的方法

大数据

  • 阐述对 Storm、实时处理和 Python 的了解程度
  • 之前实习迁移计算引擎的原因是什么,如何保证迁移过程中表的产出,你在其中做了哪些工作
  • 经营周报主要面向哪一层老板,异动归因采用什么方式进行归因和拆解
  • 说明使用的技术栈,并阐述如何优化 Hive SQL
  • 如何判断脚本是否存在倾斜

C++

  • 请介绍 list 和 vector 的底层实现原理
  • 在哪些场景中使用 C++,刷算法题时更喜欢用 C++ 还是 Python
  • 你是否写过接口,并阐述接口和抽象类的区别
  • 请介绍如何使用 gdb 进行调试,并列举你所知道的 gdb 命令
  • makefile 如何编写

Powered by VitePress

🔒 需要口令解锁

关注微信公众号 测开阿Duang
回复关键词 「密码」 获取口令

公众号二维码

解锁后本浏览器长期有效