蚂蚁集团-AI Coding笔试

使用在线IDE,根据一个readme文件,写出一个完整的项目。

readme如下:

智能安全邮箱设计

题目目标

在本地环境实现一个“可用 + 可测 + 有安全设计”的邮箱系统,包含服务端与客户端,并引入基础智能能力。

总体约束

  • 不可直接使用成熟开源邮箱系统库作为核心实现。
  • 可使用通用网络库与基础加密库,但需说明用途。
  • 所有功能需提供可复现测试步骤和结果。

必做功能

1. 服务器管理

实现 server 进程,负责接收、存储、分发邮件。

测试要求:

  • 同时运行两个服务器,模拟两个隔离域名的邮箱系统。
  • 两个系统之间可互相发信。
  • 两个系统存储应逻辑隔离(不可直接读写对方用户数据目录)。

2. 客户端管理

实现 client 进程,负责客户使用邮箱、查看发送邮件。

客户端需支持:

  • 注册/登录(用户名、密码、确认密码)
  • 写邮件、收件箱、发件箱、草稿箱
  • 群发与群组
  • 快速回复邮件(自动补全收件人与主题上下文,提供快捷回复推荐)
  • 图片附件发送与读取(见附件)
  • 邮件撤回:撤回已发送邮件
  • 邮件快捷操作(模仿真实邮件中可以点击的按钮,用户点击后可以执行特定操作,例如在日历中加入某个待办,此处请从用户出发,自行设计用户实用、好用、安全的快捷操作)

算法增强功能(至少实现 2 项)

可选能力:

  • 关键词提取与邮件分类
  • 邮件搜索(联系人/关键词,支持模糊搜索)
  • 存储空间优化(例如附件去重、同时需要考虑文件安全)
  • 从用户需求出发考虑,针对邮箱的图片附件构造一个智能算法功能,功能本身内容不做要求,此项选做应当同时体现你的代码理解和产品创新性

安全与稳定性(必做)

至少覆盖以下能力:

  • 用户在进行密码登录后,保障其和服务器之间进行的无需验证的交互的安全性(通过具体设计思路和实际样例证明交互的安全性)
  • 登录防爆破(限流、短期封禁、验证码等)
  • 客户端防滥发/DOS 的基础防护
  • 账户敏感信息保护(合理加密存储,不明文)
  • 初级钓鱼/垃圾邮件识别
  • 撤回邮件的核验,防止指令错误执行

测试与验收要求(必做)

至少完成以下测试:

  1. 功能联通
  • 两个域名服务器互发邮件成功
  1. 并发与稳定性
  • 多客户端同时登录、发送、收取,系统不崩溃
  1. 安全测试
  • 暴力登录尝试触发防护
  • 高频发送触发限流
  • 钓鱼样例可被识别或标记
  1. 附件与存储
  • 图片附件可收发
  • 存储策略(如去重)行为符合预期

交付物

  • server/client 源码
  • 启动脚本与配置(双域名示例)
  • 协议说明(消息格式、鉴权流程)
  • 测试脚本与结果
  • 威胁模型与防护说明

加分项

  • 思考是否恶意用户有可能在邮件中加入恶意脚本,造成破坏结果(破坏结果包括但不限于破坏数据安全、修改身份等),如果有则提供完整poc
  • 端到端加密设计说明
  • 审计日志与异常告警
  • P2P 邮件形态的可行性探索
#蚂蚁笔试考察AI Coding,求焚决#
全部评论

相关推荐

评论
点赞
2
分享

创作者周榜

更多
正在热议
更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务