滴滴测开日常一面+二面

12.27官网投递        1.10一面          1.13二面
已经入职了  刚好有时间整理一下面经

一面 30分钟:
1 自我介绍
2 如何理解测试开发岗位
3 项目拷打
4 项目中一个功能怎么测试的
5 redis的zset数据结构的优点
6 session与token区别
7 线程池
8 mysql索引
9 多个字段都设置了一个索引,然后查询这些字段的顺序对查询结果有没有影响
10 redis的持久化机制 
11 IOC AOP
12 自动化测试

二面 45分钟:
1 自我介绍
2 项目拷打
3 进程和线程的区别
4 创建线程的方式
5 redis缓存穿透
6 线程的状态
7  sleep和wait的区别
8  Java序列化以及什么时候用
9  动态代理
10 了解哪些设计模式?
11 mysql索引 为什么使用索引?
12 慢sql
13 常见状态码
14 TCP UDP的区别 
15 grep指令    杀死进程
16 了解Docker吗?
17 测开的理解
18 自己项目有测试过吗
19 印象最深的bug
20 用过什么测试工具
21 用户手机号+验证码登录这个功能 测试用例的设计
22   发红包功能的测试用例设计

两次面试都没有手撕,滴滴效率还是很快的,一面完10分钟立马约二面,二面完10分钟hr就打电话过了oc了
全部评论
用户手机号+验证码登录功能测试用例 功能测试: - 正确手机号和验证码,登录成功跳转。 - 正确手机号、错误验证码,提示错误。 - 未注册手机号+任意验证码,提示未注册。 - 手机号格式错(非11位),输入时提示格式错,禁发验证码。 - 验证码超时,提示过期重获。 - 频繁获验证码,超次数提示操作频繁。 - 验证码输错超次数,提示过多重获。 - 测试验证码自动填充,成功填充且登录成功。 安全性测试: - 验证码加密传输,不能明文。 - 服务端加密存储,过期自动删。 - 防接口刷,频繁调用触发风控。 性能测试: - 验证码3秒内送达。 - 1000用户并发登录,响应≤2秒,成功率≥99.9%。 兼容性测试: - 不同运营商手机号都能收发验证码登录。 - 不同设备(iOS、Android、Web)登录正常,界面适配好。 - 不同浏览器(Chrome、Safari)Web端登录正常。 发红包功能测试用例 功能测试: - 正常发普通红包,金额平均分配。 - 正常发拼手气红包,金额随机总和对。 - 金额超单笔上限,提示超限。 - 数量超单次上限,提示超限。 - 余额不足,提示充值。 - 红包过期未领完,金额退回。 - 重复领红包,提示已领。 - 小额红包可正常发送领取。 安全性测试: - 防前端篡改金额,后端校验,非法请求报错。 - 防红包刷,触发风控限制。 - 控制领取权限,非指定人不能领。 性能测试: - 1000用户并发发红包,响应≤1秒,无丢包错账。 - 1万用户抢1红包,仅1人成功,其余提示领完。 兼容性测试: - 不同设备(iOS、Android、PC)收发退红包正常。 - 不同网络(Wi-Fi、4G)弱网下无卡顿丢数据。 边界测试: - 最小、最大金额红包可正常收发。 - 红包数量为1可正常发送,领完提示。 用户体验测试: - 发送成功,发送者有提示。 - 领取者有提醒,发送者可见记录。 关键补充 登录功能:防验证码爆破,支持国际化手机号,考虑禁止验证码输入框粘贴。 发红包功能:关注金额分配公平,高并发数据一致,退款到原支付账户 。
8 回复 分享
发布于 02-05 14:23 广东
刚面完滴滴测开,说是早10晚9
1 回复 分享
发布于 01-20 18:24 北京
没算法?我不理解
点赞 回复 分享
发布于 11-25 14:41 北京
请问hr面问什么问题啦
点赞 回复 分享
发布于 04-14 16:52 北京
佬 java后端转测开 建议怎么准备呀
点赞 回复 分享
发布于 03-22 01:11 湖北
滴滴待遇咋样
点赞 回复 分享
发布于 02-13 15:49 浙江
sleep  和  wait  的区别 - 归属与基础特性: sleep  是  Thread  类方法, wait  是  Object  类方法 。这意味着调用方式不同, sleep  直接通过  Thread.sleep()  调用,而  wait  需通过对象实例调用。 - 锁相关行为: sleep  执行时,线程不会释放它持有的锁。比如多个线程访问共享资源并加锁,一个线程执行  sleep  仍占有锁,其他线程只能等待。 wait  则会释放锁,使其他线程有机会竞争锁,进入原本被占用的资源。 - 使用场景与唤醒机制: sleep  单纯让线程暂停一段时间,时间到了自动恢复执行。 wait  用于线程间协作,需其他线程调用  notify  或  notifyAll  唤醒,或设置超时时间到了唤醒。 - 同步限制: wait  必须在  synchronized  修饰的代码块中使用,否则报错。 sleep  无此限制,可在任何地方调用。 Java 序列化及使用场景 - 概念:序列化是把Java对象转化为字节流,方便在网络传输或存储到文件等,反序列化则是逆过程,把字节流变回对象。 - 实现方式:类实现  Serializable  接口就可序列化,该接口没方法,只是标记。用  transient  关键字修饰字段,可不参与序列化。定义  serialVersionUID  用于版本兼容性,若反序列化时类的  serialVersionUID  与序列化时不一致,可能报错。 - 使用场景:网络传输中,像RPC调用传递对象;持久化存储,如将对象存到文件或数据库缓存;实现对象深拷贝;分布式系统中Session对象跨节点共享。但要注意序列化可能泄露敏感数据,静态和  transient  修饰字段不被序列化,且会影响性能。 动态代理 - 概念:程序运行时动态创建代理类,无需提前编写代理代码,在不修改目标类代码情况下,为目标对象添加功能。 - 实现方式: - JDK 动态代理:要求目标类必须实现接口。通过  InvocationHandler  接口定义代理逻辑, Proxy  类生成代理对象。 - CGLIB 动态代理:可代理没有接口的类,通过继承目标类实现。核心类是  MethodInterceptor ,用于拦截方法调用并添加代理逻辑。 - 应用场景:面向切面编程,在不修改业务代码情况下添加日志记录、事务管理、权限控制等功能;延迟加载,如Hibernate中按需加载关联对象;远程调用,在客户端生成代理对象,封装远程调用细节。 - 两者比较:JDK动态代理基于接口,调用速度快但代理类生成慢;CGLIB基于继承,代理类生成快但调用稍慢。JDK动态代理无需第三方库,CGLIB需引入相关库。
点赞 回复 分享
发布于 02-05 14:36 广东
佬啥 bg
点赞 回复 分享
发布于 01-31 17:49 江西

相关推荐

jQuery中的函数与其返回结果使用jQuery的常用方法与返回值分析jQuery是一个轻量级的JavaScript库,旨在简化HTML文档遍历和操作、事件处理以及动画效果的创建。本文将介绍一些常用的jQuery方法及其返回值,帮助开发者更好地理解和运用这一强大的库。1. 选择器方法jQuery提供了多种选择器,可以快速获取DOM元素。最基本的选择器是$(),例如:var elements = $('.className');返回值:返回一个jQuery对象,该对象是选中元素的集合。2. 事件处理jQuery简化了事件的绑定和解除,常用的方法有.on()和.off()。$('#button').on('click', function() {alert('Button clicked!');});返回值:on()方法返回的是当前jQuery对象,允许方法链的使用。3. CSS 操作你可以使用 .css() 方法来获取或设置元素的CSS属性。例如:$('#element').css('color', 'red');返回值:当传入一个属性名时,返回该属性的值;如果传入属性名和属性值,则返回当前jQuery对象,以便进行链式调用。4. DOM 操作jQuery还提供了许多方法用于添加、删除或修改DOM元素。例如:$('#parent').append('New child');返回值:append() 方法返回当前jQuery对象,可以继续进行链式调用。5. AJAX 请求jQuery的AJAX功能简化了与服务器的交互,可以使用 .ajax() 方法:$.ajax({url: 'https://api.example.com/data',method: 'GET',success: function(data) {console.log(data);}});返回值:$.ajax() 返回一个 jqXHR 对象,该对象提供了用于处理请求的状态和数据的方法。6. 动画效果使用 .fadeIn() 和 .fadeOut() 方法可以轻松实现元素的渐显和渐隐效果。$('#element').fadeOut();返回值:返回当前jQuery对象,可以用于链式调用。7. 获取和设置值.val() 方法用于获取或设置表单元素的值,例如输入框或下拉菜单。var inputValue = $('#input').val();$('#input').val('New Value');返回值:如果没有参数传递,则返回元素的当前值;如果传递了参数,则返回当前jQuery对象。总结jQuery为前端开发提供了许多强大而简便的功能。通过理解不同方法的返回值,开发者可以更高效地进行DOM操作、事件处理以及数据交互等。在实际开发中,合理使用这些方法将大大提升工作效率,同时保持代码的可读性与可维护性。希望本文能帮助你更好地掌握jQuery,发挥其最大
点赞 评论 收藏
分享
评论
10
49
分享

创作者周榜

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