百度测开(商业)面经
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 开发
3. 手撕合并 K 个升序链表(不可以用 list,需要自定义链表结构)
4. 如果不用优先队列,你还有别的方法吗?
这里只答出了顺序合并,还可以优化为分治合并
5. 针对这个题写个测试用例,比如说你可以认为这是对外提供的接口,你会怎么设计呢?
套模板,必有的四个方面:
功能测试、性能测试、兼容性测试、安全性测试,其他可以自己想到啥,说一下。
功能测试:测试传入链表,功能是否成功执行。边界值测试,如果传入空链表,是否会提示请输入有效数据。
性能测试:
● 对接口进行压力测试(jmeter),查看接口的 qps、tps 是否在可接受的范围内
● 对接口进行长时间的持续访问测试,观察系统 cpu 是否飙高、是否有出现性能下降、内存泄漏的问题。
兼容性测试:
● 输入参数的兼容性:对各种参数,包括正常、异常参数,是否有正确处理
● 环境兼容性:接口在不同的环境中要表现一致:开发环境、测试环境、生产环境
安全性测试:
● 如果接口涉及到隐私性参数,是否以加密形式存在,被抓包后是否容易被破解。
● 检验 SQL 注入、XXS 攻击
6. 你在测接口时,跑了大概 100 条,90%成功,返回 200,但是有 10%的 case 返回的是 502,你怎么去排查这个问题?
通常是 Nginx(网关)无法连接到上游 Java 服务,可能挂了
7. 如果 Nginx 日志正常呢,没有发现特别异常的日志,还可能是什么问题?
8. 假设所有问题线下都测试完了,这个接口没问题,准备上线。你认为从质量保障的角度来看,还需要做哪些工作?
9. 如果系统在某天突然崩溃了,你怎么及时知道这个情况呢?
监控告警。
10. 你的项目中用 mq 做订单超时支付的判断,怎么做的?
定时任务轮询、轮询带来的问题、引入 mq 的延时消息和死信交换机、带来的新的问题、怎么解决新的问题、效果
11. 大模型日常有使用吗,你认为大模型对平常测试有什么帮助?
#牛客在线求职答疑中心##面经##牛客AI配图神器#
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 开发
3. 手撕合并 K 个升序链表(不可以用 list,需要自定义链表结构)
4. 如果不用优先队列,你还有别的方法吗?
这里只答出了顺序合并,还可以优化为分治合并
5. 针对这个题写个测试用例,比如说你可以认为这是对外提供的接口,你会怎么设计呢?
套模板,必有的四个方面:
功能测试、性能测试、兼容性测试、安全性测试,其他可以自己想到啥,说一下。
功能测试:测试传入链表,功能是否成功执行。边界值测试,如果传入空链表,是否会提示请输入有效数据。
性能测试:
● 对接口进行压力测试(jmeter),查看接口的 qps、tps 是否在可接受的范围内
● 对接口进行长时间的持续访问测试,观察系统 cpu 是否飙高、是否有出现性能下降、内存泄漏的问题。
兼容性测试:
● 输入参数的兼容性:对各种参数,包括正常、异常参数,是否有正确处理
● 环境兼容性:接口在不同的环境中要表现一致:开发环境、测试环境、生产环境
安全性测试:
● 如果接口涉及到隐私性参数,是否以加密形式存在,被抓包后是否容易被破解。
● 检验 SQL 注入、XXS 攻击
6. 你在测接口时,跑了大概 100 条,90%成功,返回 200,但是有 10%的 case 返回的是 502,你怎么去排查这个问题?
通常是 Nginx(网关)无法连接到上游 Java 服务,可能挂了
7. 如果 Nginx 日志正常呢,没有发现特别异常的日志,还可能是什么问题?
8. 假设所有问题线下都测试完了,这个接口没问题,准备上线。你认为从质量保障的角度来看,还需要做哪些工作?
9. 如果系统在某天突然崩溃了,你怎么及时知道这个情况呢?
监控告警。
10. 你的项目中用 mq 做订单超时支付的判断,怎么做的?
定时任务轮询、轮询带来的问题、引入 mq 的延时消息和死信交换机、带来的新的问题、怎么解决新的问题、效果
11. 大模型日常有使用吗,你认为大模型对平常测试有什么帮助?
#牛客在线求职答疑中心##面经##牛客AI配图神器#
全部评论
相关推荐
查看8道真题和解析 点赞 评论 收藏
分享