51mee - AI智能招聘平台Logo
模拟面试题目大全招聘中心会员专区

设计一个高并发图像检测系统,用于360安全卫士中检测恶意广告或恶意软件。系统需要处理百万级图片请求/秒,保证检测延迟在200ms以内,准确率不低于95%。请描述系统架构,包括前端请求处理、分布式存储、模型推理集群、缓存策略等,并说明如何保证系统可扩展性和容错性。

360视觉算法工程师难度:困难

答案

1) 【一句话结论】
采用微服务架构,结合CDN+负载均衡前端、分布式对象存储、容器化模型推理集群,通过缓存热点数据、模型预热及异步处理,实现百万级请求/秒、200ms内延迟、95%以上准确率,并支持水平扩展与容错。

2) 【原理/概念讲解】
老师口吻解释关键组件:

  • 前端请求处理:用CDN(如阿里云CDN)缓存静态图片,通过负载均衡(如Nginx的LVS模块)分发请求到后端服务,避免单点压力。
  • 分布式存储:将用户上传的图片存储到分布式对象存储(如MinIO),支持海量文件存储且可扩展;对热点图片(高频检测的恶意广告图片)缓存到Redis(内存数据库),通过LRU策略淘汰旧数据,降低后续访问延迟。
  • 模型推理集群:采用容器化部署(Docker+K8s),将不同模型(如恶意广告检测模型、恶意软件检测模型)打包为容器,通过负载均衡(如Envoy)分发请求到多个推理实例(如TensorFlow Serving/ONNX Runtime),保证并发处理能力;启动时预加载模型到内存(模型预热),减少冷启动延迟。
  • 可扩展与容错:数据按特征分片存储(每个分片对应一个推理实例),实现水平扩展;通过副本部署(如3副本)保证容错,故障时副本自动接管;监控指标(QPS、延迟、准确率)通过Prometheus+Grafana实时监控,异常时触发告警。

3) 【对比与适用场景】

组件定义特性使用场景注意点
CDN+负载均衡前端请求分发系统高可用,低延迟,支持流量分发处理百万级请求,静态资源缓存需配置CDN节点,可能缓存静态图片
对象存储(MinIO)分布式文件存储海量文件存储,高可用,版本控制存储原始图片,支持备份与恢复数据一致性需考虑,可能需CDN加速
Redis缓存内存数据库低延迟,支持LRU等缓存策略热点图片、模型特征缓存内存有限,需合理设置缓存策略
容器化推理集群模型推理服务容器化部署可扩展,快速部署,资源隔离并发处理模型推理请求需负载均衡,考虑模型并行

4) 【示例】
伪代码示例(前端请求处理流程):

用户上传图片 → Nginx(CDN+负载均衡)分发 → 后端服务(Python Flask)  
后端服务:  
    1. 检查图片是否在Redis缓存(热点图片):  
        是 → 直接返回缓存结果  
        否 → 从MinIO获取图片  
    2. 调用模型推理服务(gRPC):  
        推理服务(Docker容器,K8s部署)处理图片 → 返回检测结果  
    3. 将结果存入Redis缓存(TTL=5分钟) → 返回给用户  

5) 【面试口播版答案】
面试官您好,针对360安全卫士的恶意广告/恶意软件检测系统,我设计的方案核心是构建一个高吞吐、低延迟的微服务架构。前端通过CDN(如阿里云CDN)缓存静态图片,通过负载均衡(如Nginx+LVS)分发百万级请求,后端服务将图片存储到分布式对象存储(如MinIO),并缓存热点图片到Redis。模型推理集群采用容器化部署(Docker+K8s),通过负载均衡(如Envoy)分发请求到多个推理实例,保证并发处理。通过模型预热、热点数据缓存、异步处理等优化,确保检测延迟低于200ms,准确率≥95%。同时,通过数据分片、副本部署、熔断降级实现容错,支持水平扩展。

6) 【追问清单】

  • 问题1:如何处理模型更新时的服务中断?
    回答要点:采用蓝绿部署或金丝雀发布,逐步切换新模型,避免服务中断。
  • 问题2:数据一致性如何保证?
    回答要点:对象存储与缓存采用最终一致性,结合版本控制,确保数据一致性。
  • 问题3:容量规划如何做?
    回答要点:基于QPS和延迟目标,计算存储、缓存、推理实例的数量,动态扩展。
  • 问题4:如何优化模型推理速度?
    回答要点:模型量化、剪枝、模型并行,减少计算量;优化推理框架(如TensorRT加速)。
  • 问题5:系统监控指标有哪些?
    回答要点:QPS、请求延迟、准确率、服务可用性、缓存命中率等。

7) 【常见坑/雷区】

  • 坑1:忽略缓存策略,导致频繁访问存储,增加延迟。
    雷区:未区分热点数据,所有图片都存入缓存,导致内存溢出。
  • 坑2:模型推理集群未做负载均衡,单点故障。
    雷区:仅部署一个推理实例,无法处理高并发,导致延迟飙升。
  • 坑3:未考虑数据分片,扩展困难。
    雷区:所有图片存储在单一存储节点,增加后难以水平扩展。
  • 坑4:容错性设计不足,无熔断降级。
    雷区:当某个组件故障时,整个系统崩溃,无法保证可用性。
  • 坑5:延迟优化只考虑模型,忽略存储和传输延迟。
    雷区:模型推理快,但图片从存储读取慢,导致整体延迟超过200ms。
51mee.com致力于为招聘者提供最新、最全的招聘信息。AI智能解析岗位要求,聚合全网优质机会。
产品招聘中心面经会员专区简历解析Resume API
联系我们南京浅度求索科技有限公司admin@51mee.com
联系客服
51mee客服微信二维码 - 扫码添加客服获取帮助
© 2025 南京浅度求索科技有限公司. All rights reserved.
公安备案图标苏公网安备32010602012192号苏ICP备2025178433号-1