首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
课程
专栏·文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
我叫洋子
百度_垂类质量效能部_测试开发工程师
发布于北京
关注
已关注
取消关注
@Lbj236x:
百度测试开发岗一面面经
之前另一个部门已经二面挂了,又被其他部门捞起来了。先是自我介绍,然后问实习,然后问项目,然后是八股和算法题,我简单记录下问题,答案是面试完整理的,仅供参考。1.什么是接口测试?如何给接口设计测试用例?接口测试是软件测试的一种类型,旨在验证系统的不同组件之间的接口或交互是否按照规范进行工作。在软件开发中,通常会有多个模块、组件或服务相互协作,它们通过接口进行通信和数据交换。接口测试确保这些接口在各种情况下都能正常工作,以确保整个系统的正确性、稳定性和可靠性。以下是接口测试的关键特点和目标:验证数据传输:接口测试确保数据在不同组件之间的传输是正确的,数据不会丢失、损坏或被篡改。检查参数和参数验证:测试确保接口正确处理输入参数,并进行适当的验证,以防止无效或恶意输入导致的问题。测试用例设计:设计测试用例,以覆盖各种可能的输入、边界情况和异常情况。这有助于确保接口在不同情况下都能正确处理数据。性能测试:有时接口测试也包括性能测试,以验证接口在负载较高情况下的响应时间和吞吐量。安全性测试:接口测试也可以包括安全性测试,以确保接口对于恶意攻击或未经授权的访问是安全的。集成测试:接口测试通常是集成测试的一部分,因为它关注不同组件之间的交互。集成测试确保各组件在一起工作正常。版本兼容性测试:当系统的不同版本之间存在接口时,接口测试也可以确保新版本的兼容性,以确保升级不会破坏接口。自动化测试:对于重复性高的接口测试,可以考虑自动化测试,以提高效率和一致性。2.什么是性能测试?什么是响应时间和吞吐量?性能测试是软件测试的一种类型,它旨在评估计算机系统、应用程序、服务或组件在不同负载条件下的性能和行为。性能测试的目标是测量系统的响应时间、吞吐量、资源利用率和稳定性,以确保在实际使用中系统能够满足性能要求和用户期望。响应时间(Response Time):响应时间是指从发送请求到获得第一个响应的时间间隔。它表示用户或客户端从发出请求到接收到服务响应的延迟。较低的响应时间通常被视为更好,因为它意味着系统响应更迅速,提供更好的用户体验。响应时间通常以毫秒(ms)为单位表示。吞吐量(Throughput):吞吐量是指在单位时间内系统处理的请求数量。它反映了系统的处理能力和性能。较高的吞吐量表示系统能够有效地处理更多请求。吞吐量通常以每秒请求数(Requests Per Second,RPS)或每分钟请求数(Requests Per Minute,RPM)表示。资源利用率(Resource Utilization):资源利用率指的是系统在执行任务时使用的资源,如 CPU、内存、磁盘空间等。它表示系统在运行期间的资源消耗情况。监测资源利用率有助于确定系统在不同负载条件下的性能和资源需求,以便进行容量规划和性能优化。稳定性(Stability):稳定性表示系统在各种负载条件下的可靠性和稳定性。一个稳定的系统不会在高负载下崩溃或产生严重的性能问题。稳定性测试用于评估系统是否能够在持续运行的情况下表现良好,而不出现内存泄漏、资源耗尽或崩溃等问题。3.Java如何实现多线程?创建线程的方式一:继承Thread类【1】继承Thread类【2】重写run方法【3】创建对象,调用start()方法启动线程创建线程的方式二:实现Runnable接口【1】实现Runnable接口【2】重写run方法【3】创建对象,调用start()方法启动线程4.And和andand的区别?1、&&也叫短路与,当&&左边的条件不满足时,就不会判定右边的条件。而&不一样,无论‘&’左边的条件是否满足,它都会判定右边的条件。2、&可用于位运算,当左右两边的条件不是布尔型,而是数字时,它会进行位运算。5.什么是内存泄露?如何防止内存泄露?内存泄漏(Memory Leak)指的是应用程序中的一种常见问题,它发生在对象不再被程序引用或使用时,但由于某种原因没有被垃圾回收机制回收,导致占用的内存一直得不到释放。随着时间的推移,内存泄漏会导致程序占用越来越多的内存,最终可能导致应用程序的性能下降甚至崩溃。如何防止内存泄露:显式释放资源:当使用需要手动关闭的资源(例如文件、数据库连接、套接字)时,确保在不再需要时显式关闭或释放它们。使用 try-with-resources(Java 7及更高版本)或 finally 块来确保资源得到正确释放避免循环引用:当两个或多个对象相互引用时,确保它们的引用链不会形成循环。使用弱引用(Weak Reference)或软引用(Soft Reference)来解决特定情况下的循环引用问题。手动清理缓存,及时垃圾回收。6.什么是线程中断?如何实现线程中断?线程中断即线程运行过程中被其他线程给打断了,它与 stop 最大的区别是:stop 是由系统强制终止线程,而线程中断则是给目标线程发送一个中断信号,如果目标线程没有接收线程中断的信号并结束线程,线程则不会终止,具体是否退出或者执行其他逻辑由目标线程决定。我们来看下线程中断最重要的 3 个方法,它们都是来自 Thread 类1、java.lang.Thread#interrupt中断目标线程,给目标线程发一个中断信号,线程被打上中断标记。2、java.lang.Thread#isInterrupted()判断目标线程是否被中断,不会清除中断标记。3、java.lang.Thread#interrupted判断目标线程是否被中断,会清除中断标记。7.Get和post的区别?Get使用URL传参,post放在body中Get提交的数据长度有限,post可以非常大Post比get安全Get请求是幂等性的,post请求不是。8.MySQL中索引的作用?使用索引可以大大加快 数据的检索速度(大大减少检索的数据量), 这也是创建索引的最主要的原因。通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。缺点:创建索引和维护索引需要耗费许多时间。当对表中的数据进行增删改的时候,如果数据有索引,那么索引也需要动态的修改,会降低 SQL 执行效率。索引需要使用物理文件存储,也会耗费一定空间。9.什么是缓存雪崩?什么是缓存击穿?如何预防?缓存穿透什么是缓存穿透?缓存穿透说简单点就是大量请求的 key 是不合理的,根本不存在于缓存中,也不存在于数据库中 。这就导致这些请求直接到了数据库上,根本没有经过缓存这一层,对数据库造成了巨大的压力,可能直接就被这么多请求弄宕机了。解决:最基本的就是首先做好参数校验,一些不合法的参数请求直接抛出异常信息返回给客户端。比如查询的数据库 id 不能小于 0、传入的邮箱格式不对的时候直接返回错误消息给客户端等等。缓存无效 key布隆过滤器布隆过滤器是一个非常神奇的数据结构,通过它我们可以非常方便地判断一个给定数据是否存在于海量数据中。我们需要的就是判断 key 是否合法,有没有感觉布隆过滤器就是我们想要找的那个“人”。具体是这样做的:把所有可能存在的请求的值都存放在布隆过滤器中,当用户请求过来,先判断用户发来的请求的值是否存在于布隆过滤器中。不存在的话,直接返回请求参数错误信息给客户端,存在的话才会走下面的流程。缓存击穿:缓存击穿中,请求的 key 对应的是 热点数据 ,该数据 存在于数据库中,但不存在于缓存中(通常是因为缓存中的那份数据已经过期) 。这就可能会导致瞬时大量的请求直接打到了数据库上,对数据库造成了巨大的压力,可能直接就被这么多请求弄宕机了有哪些解决办法?设置热点数据永不过期或者过期时间比较长。针对热点数据提前预热,将其存入缓存中并设置合理的过期时间比如秒杀场景下的数据在秒杀结束之前不过期。请求数据库写数据到缓存之前,先获取互斥锁,保证只有一个请求会落到数据库上,减少数据库的压力。缓存穿透和缓存击穿有什么区别?缓存穿透中,请求的 key 既不存在于缓存中,也不存在于数据库中。缓存击穿中,请求的 key 对应的是 热点数据 ,该数据 存在于数据库中,但不存在于缓存中(通常是因为缓存中的那份数据已经过期) 缓存雪崩什么是缓存雪崩?实际上,缓存雪崩描述的就是这样一个简单的场景:缓存在同一时间大面积的失效,导致大量的请求都直接落到了数据库上,对数据库造成了巨大的压力。 这就好比雪崩一样,摧枯拉朽之势,数据库的压力可想而知,可能直接就被这么多请求弄宕机了。另外,缓存服务宕机也会导致缓存雪崩现象,导致所有的请求都落到了数据库上。有哪些解决办法?针对 Redis 服务不可用的情况:1.采用 Redis 集群,避免单机出现问题整个缓存服务都没办法使用。2.限流,避免同时处理大量的请求。针对热点缓存失效的情况:1.设置不同的失效时间比如随机设置缓存的失效时间。2.缓存永不失效(不太推荐,实用性太差)。3.设置二级缓存。缓存雪崩和缓存击穿有什么区别?缓存雪崩和缓存击穿比较像,但缓存雪崩导致的原因是缓存中的大量或者所有数据失效,缓存击穿导致的原因主要是某个热点数据不存在与缓存中(通常是因为缓存中的那份数据已经过期)。10.Sql题:班级里有张三和李四,张三的两门课程是85和65,李四的两门课程是80和70,查询成绩大于80的人?11.算法题:无重复字符的最长字串?#24届软开秋招面试经验大赏#
点赞 22
评论 1
全部评论
推荐
最新
楼层
滴滴
校招火热招聘中
官网直投
相关推荐
蛋黄酱加满
05-11 17:35
其他汽车制造职位
比亚迪待遇并没有网上说的那么好
入职之后干机械工程师,每天要完成80张图纸,常常加班到晚上十点,周六更是要加班到凌晨四点。月薪只有6500元,没有加班费,公积金也交得不多,养老保险更是要交1000块。工作节奏极快,有无数个人催,压力山大,领导只关心产量,对员工要求严格,招进来的人都是牛马,根本没有人权。食堂的饭菜也很简单,每顿都是大白菜。
投递比亚迪精密制造等公司7个岗位 >
点赞
评论
收藏
转发
匿名牛油
不愿透露姓名的神秘牛友
04-08 00:50
这我真不敢去啊
半夜发消息
点赞
评论
收藏
转发
别刷了开摆
04-22 15:19
重庆理工大学 电子信息类
java找实习要不要换个项目啊。。没多少
要不要花几天换个项目,把外卖换掉,感觉简历送出去没多少面试啊,另外,五月份还有机会找得到实习吗,我只要有实习就行了😢😢😢 #实习,投递多份简历没人回复怎么办# #java#
实习,投递多份简历没人回复怎么办
点赞
评论
收藏
转发
lao_yan
05-16 16:37
已编辑
金山WPS_Android开发实习生(准入职员工)
5.15腾讯cisg客户端一面,高攀不起(居然过了)
面试官说是这个那个确实有点超纲,问的是一个比一个重量级,还非要面快俩小时,记录一下这次5分无语4.9分崩溃0.1分搞笑的面试。1. 一上来没说开摄像头,我已经有点意识到不妙了,面试官问了下base有没有要求和实习时间。2. 问实习,热更新项目如何写的,JSON如何映射成原生组件,项目整体框架,流程,我负责的部分,扯了20分钟,问一些极限情况的处理办法,我……3. Android的xml布局文件支持不编译就可以看到样式,你们的这个支持吗(不支持)4. 支持增量下载吗(???)5. 下载可能失败,你们处理方式是什么(……)6. 自定义控件可以通过设置margin padding改变位置吗,是怎么做...
点赞
评论
收藏
转发
点赞
1
评论
分享
回复帖子
全站热榜
1
...
5.16校招&实习招聘信息汇总
8585
2
...
给25届同学: 永远相信美好的事情即将发生
5881
3
...
送花给牛友,不做“白嫖党”!牛客互动新功能上线啦!
5880
4
...
CS硕 只看40w+且965 能投啥
5879
5
...
腾讯一面凉经 5.16
5832
6
...
阿里oc
5830
7
...
二本漫漫求职路......
3757
8
...
为什么选择做测试开发
3692
9
...
有没有一种可能,仅仅是一种可能
3205
10
...
虎哥の致谢
3205
正在热议
#
牛客帮帮团来啦!有问必答
#
753662次浏览
11985人参与
#
海康威视求职进展汇总
#
94992次浏览
1144人参与
#
你的工作大概什么时候入职?
#
2949次浏览
41人参与
#
非技术2024笔面经
#
181081次浏览
3045人参与
#
非技术岗是怎么找实习的
#
75939次浏览
1417人参与
#
产品实习,你更倾向大公司or小公司
#
37556次浏览
579人参与
#
面试等了一周没回复,还有戏吗
#
41297次浏览
502人参与
#
春招已经启动啦 硬件uu开始投了吗?
#
86391次浏览
676人参与
#
今年形式下双非本找得到工作吗
#
7616次浏览
161人参与
#
如何看待offer收割机的行为
#
226221次浏览
3269人参与
#
学历对求职的影响
#
134894次浏览
1538人参与
#
百度工作体验
#
23956次浏览
246人参与
#
2022届毕业生现状
#
321187次浏览
4447人参与
#
0offer是寒冬太冷还是我太菜
#
418139次浏览
4841人参与
#
本周投递记录
#
200028次浏览
5099人参与
#
铜五铁六真的存在吗?
#
29192次浏览
302人参与
#
想实习转正,又想准备秋招,我该怎么办
#
112123次浏览
1258人参与
#
通信硬件人笔面经互助
#
115820次浏览
2297人参与
#
正在春招的你,也参与了去年秋招吗?
#
134500次浏览
1696人参与
#
荣耀求职进展汇总
#
66733次浏览
672人参与
牛客网
牛客企业服务