百度(商业)测开面经

一面

  1. 阐述项目平台的功能?
  2. 商家端(苍穹外卖的商家端)的话有什么功能呢?
  3. 用户端(苍穹外卖的用户端和商家端)又有什么功能?
  4. rabbitmq 通过延时消息加死信交换机如何实现的订单 30 分钟未支付自动取消呢?
  5. 跟传统的相比,这个优势是什么?除了能够降低定时任务的轮询对数据库的压力。传统定时任务轮询有什么问题?
  6. 旁路缓存的工作模式是什么?
  7. 那你是把什么数据缓存到了 redis 中呢?
  8. 如果把全部店铺信息和热门数据放到 redis,压力也不小吧?你是怎么区分数据该不该放缓存呢?
  9. 解释一下对于写操作,先更新 DB 再删缓存?
  10. 你说对于删除缓存失败引入了 MQ 重试的机制,你来讲一下你是如何重试的?那你如果重试多次依然失败了,有什么应对策略吗?
  11. 解释一下你这个 redis 使用 bitMap 实现签到的功能?
  12. 解释一下分布式锁和 lua 脚本在秒杀场景里扮演的角色?
  13. java 的==与 equals 的区别?说说对于基本数据类型和对象类型的区别,举个例子?
  14. 重载跟重写的区别是什么?
  15. 深拷贝和浅拷贝的区别是什么?
  16. 静态变量和实例变量的区别是什么?
  17. ArrayList 的优缺点是什么?(这里感觉面试官是照着某八股网站念的)
  18. 手撕有效的括号

总体来说不是特别难,但是问的很细致,而且重在广度。如果你的项目用某个技术实现了对应功能,请好好思考使用当前技术的原因、传统技术的问题、当前技术带来的优化、以及当前技术带来的新的问题和应对策略。

二面

  1. 项目做过自测吗?
  2. 了解过 Agent 开发吗?

简单介绍了下 agent 开发

  1. 手撕合并 K 个升序链表(不可以用 list,需要自定义链表结构)
  2. 如果不用优先队列,你还有别的方法吗?

这里只答出了顺序合并,还可以优化为分治合并

  1. 针对这个题写个测试用例,比如说你可以认为这是对外提供的接口,你会怎么设计呢?

套模板,必有的四个方面:

功能测试、性能测试、兼容性测试、安全性测试,其他可以自己想到啥,说一下。

功能测试:测试传入链表,功能是否成功执行。边界值测试,如果传入空链表,是否会提示请输入有效数据。

性能测试:

  • 对接口进行压力测试(jmeter),查看接口的 qps、tps 是否在可接受的范围内
  • 对接口进行长时间的持续访问测试,观察系统 cpu 是否飙高、是否有出现性能下降、内存泄漏的问题。

兼容性测试:

  • 输入参数的兼容性:对各种参数,包括正常、异常参数,是否有正确处理
  • 环境兼容性:接口在不同的环境中要表现一致:开发环境、测试环境、生产环境

安全性测试:

  • 如果接口涉及到隐私性参数,是否以加密形式存在,被抓包后是否容易被破解。
  • 检验 SQL 注入、XXS 攻击
  1. 你在测接口时,跑了大概 100 条,90%成功,返回 200,但是有 10%的 case 返回的是 502,你怎么去排查这个问题?

通常是 Nginx(网关)无法连接到上游 Java 服务,可能挂了

  1. 如果 Nginx 日志正常呢,没有发现特别异常的日志,还可能是什么问题?
  2. 假设所有问题线下都测试完了,这个接口没问题,准备上线。你认为从质量保障的角度来看,还需要做哪些工作?
  3. 如果系统在某天突然崩溃了,你怎么及时知道这个情况呢?

监控告警。

  1. 你的项目中用 mq 做订单超时支付的判断,怎么做的?

定时任务轮询、轮询带来的问题、引入 mq 的延时消息和死信交换机、带来的新的问题、怎么解决新的问题、效果

  1. 大模型日常有使用吗,你认为大模型对平常测试有什么帮助?
相关推荐
靠沿3 小时前
Java数据结构初阶——LinkedList
java·开发语言·数据结构
qq_12498707533 小时前
基于springboot的建筑业数据管理系统的设计与实现(源码+论文+部署+安装)
java·spring boot·后端·毕业设计
一 乐4 小时前
宠物管理|宠物共享|基于Java+vue的宠物共享管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·springboot·宠物
小时前端4 小时前
“能说说事件循环吗?”—— 我从候选人回答中看到的浏览器与Node.js核心差异
前端·面试·浏览器
a crazy day4 小时前
Spring相关知识点【详细版】
java·spring·rpc
白露与泡影4 小时前
MySQL中的12个良好SQL编写习惯
java·数据库·面试
foundbug9994 小时前
配置Spring框架以连接SQL Server数据库
java·数据库·spring
凯酱4 小时前
@JsonSerialize
java
悦悦子a啊4 小时前
项目案例作业(选做):使用文件改造已有信息系统
java·开发语言·算法
lkbhua莱克瓦244 小时前
Java项目——斗地主小游戏(控制台版)
java·开发语言·windows·斗地主项目