首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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-13 11:26
网易_SA
网易内推 网易互娱内推
网易游戏(互娱)2025届实习生培养项目启动啦!召唤各路游戏热爱者们速速加入,和我们一起创无界,造未来!1000+offer,机会多多!不能补填内推码,一定要在投递完成前填写内推码!!!今年互娱招聘新玩法:无秋招,实习转正直接拿秋招offer,一定不要错过实习!!!内推码:fG6Tsg内推码:fG6Tsg内推码:fG6Tsg毕业时间:2024年9月-2025年8月(中国大陆地区以毕业证时间为准,非中国大陆地区以学位证时间为准)投递地址:https://game.campus.163.com/position【项目亮点】★打破常规校招模式,全年畅享实习实习期窗口全年开放,从今年7月开始可任意选择...
投递网易等公司9个岗位 >
点赞
评论
收藏
转发
匿名牛油
不愿透露姓名的神秘牛友
04-05 09:23
Java后端简历求指导
目前简历根本过不了中大厂,想知道问题出在哪里,求大佬们的指点#简历被挂麻了,求建议##实习,投递多份简历没人回复怎么办##正在实习的碎碎念##简历#
简历被挂麻了,求建议
实习,投递多份简历没人回复怎么办
点赞
评论
收藏
转发
Stank
05-16 02:58
中山大学 电子信息类
华为实习一面(技术面)
5.14下午两点的面试,岗位:硬件技术工程师里面的高频细分方向。 流程: 首先自我介绍(2~3分钟)不必多说。 然后挑了个竞赛经历问(本人竞赛经历有点多),但这个竞赛(蓝桥杯单片机设计开发)是软件的,而面试官又想考察我硬件的知识,有点小微妙。问的问题里比较普遍的是:1、这个比赛的难点,以及怎么解决。2、从这个比赛里面学到什么。然后问了几句关于项目的东西,但也是很表面,偏向于介绍,可能因为项目里自己承担的部分是算法部分。 然后做两道题,爬涉及到面试保密问题,所以这里就不说具体的问题是啥了。 然后机试的题目里面抽一道出来回答。 总结:一般般吧,表现得不是很优秀,...
点赞
评论
收藏
转发
点赞
收藏
评论
分享
回复帖子
全站热榜
1
...
盲审已过,答辩已过,工作已签
3.1W
2
...
聪明人看的Java后端入门路线(应该比大多数高手给的靠谱)
9181
3
...
【有奖活动】浅聊一下我的实习⭐
8965
4
...
实习难求——做个总结
8749
5
...
pcg qq 一面
8118
6
...
腾讯一面凉经 5.16
6271
7
...
25届暑期实习中后期更容易拿offer
5274
8
...
26届菜鸡投了一个月大厂日常,0面试绷不住了呀。听说9月后机会可能会多起来,感觉要被迫继续沉淀了之前和导师聊,说找到大厂实习的话可以去,对就业帮助大,小厂的话就emmm投了快一个月,老板上打招呼绝大数
4682
9
...
菜鸟一面 无项目 无手撕 1hour
2909
10
...
求各位大佬给个建议吧
2558
正在热议
#
牛客帮帮团来啦!有问必答
#
773472次浏览
12162人参与
#
机械制造薪资爆料
#
313102次浏览
3616人参与
#
海康威视求职进展汇总
#
97164次浏览
1173人参与
#
毕业租房也有小确幸
#
26609次浏览
1477人参与
#
夸夸我的求职搭子
#
65860次浏览
808人参与
#
荣耀求职进展汇总
#
67715次浏览
680人参与
#
宁德时代求职进展汇总
#
36245次浏览
400人参与
#
你的工作大概什么时候入职?
#
4115次浏览
52人参与
#
简历无回复,你会继续海投还是优化再投?
#
22381次浏览
316人参与
#
非技术岗是怎么找实习的
#
76858次浏览
1429人参与
#
打工人的辛酸
#
8936次浏览
146人参与
#
实习生应该准时下班吗
#
79412次浏览
587人参与
#
本周投递记录
#
201719次浏览
5125人参与
#
投递实习岗位前的准备
#
618095次浏览
11019人参与
#
找工作中的意难平
#
193817次浏览
3437人参与
#
产品实习,你更倾向大公司or小公司
#
38408次浏览
590人参与
#
谈薪时HR压价该怎么应对
#
37998次浏览
257人参与
#
Offer比较,你最看重什么?
#
52392次浏览
501人参与
#
如何写一份好简历
#
269331次浏览
4033人参与
#
学历对求职的影响
#
138279次浏览
1574人参与
牛客网
牛客企业服务