快手秋招测试开发岗一面面经

首先是自我介绍,然后问了实习和项目,最后问了几道八股和算法题。答案是我面试完自己整理的,仅供参考。

1.介绍一下实习中用的测试工具,用测试工具具体干什么?

Jenkins

Jenkins 是一个用于自动化构建、测试和部署软件项目的开源持续集成(CI)和持续交付(CD)工具。它的目标是简化软件开发生命周期中的重复性任务,提高开发团队的生产力,同时确保软件质量和稳定性。

持续集成和持续交付:Jenkins 可以集成到开发工作流程中,自动执行构建、测试和部署任务。这有助于快速检测和修复代码问题,并确保每次更改都经过自动化测试。

持续集成(Continuous Integration,简称 CI)是软件开发过程中的一种实践和方法,旨在通过频繁、自动化地集成和测试代码,以确保团队的代码库始终保持可靠、稳定和一致。这个概念的核心思想是将代码的变更尽早地集成到主代码库中,以便及早发现和解决潜在的问题,从而提高软件质量、降低开发成本,并加速交付新功能。

CI 系统负责自动化构建(编译)应用程序,并运行自动化测试,包括单元测试、集成测试和功能测试。这有助于及早发现代码中的错误和问题。

2.如何对你的项目测试?

对项目进行测试是确保项目质量和稳定性的重要步骤。测试可以涵盖多个层面,包括单元测试、集成测试、功能测试、性能测试等。

3.什么是稳定性测试和压力测试?

稳定性测试旨在评估系统在持续运行的情况下的稳定性和可靠性。它通常模拟正常使用条件下的负载,检查系统是否能够持续稳定地运行而不崩溃或出现严重错误。

这种类型的测试有助于发现潜在的内存泄漏、资源耗尽、长时间运行后的性能下降等问题。它强调系统的可用性和稳定性

压力测试旨在评估系统在极限负载和异常条件下的性能表现。它模拟系统所能承受的最大负载,并检查系统在这种情况下的响应情况。

压力测试不仅关注系统是否能够处理大量请求和负载,还关注系统在负载超出其设计容量时的表现。这有助于确定系统在高负载情况下是否仍然能够提供合理的性能,或者它会崩溃或出现严重的性能问题。

压力测试的目标是找出系统的瓶颈,以便进行性能优化并改进系统的可扩展性。

4.Java内存区域有什么?每个区域存放什么?

Java将虚拟机分为5大区域,程序计数器,虚拟机栈,本地方法栈,Java堆,方法区。

程序技术器:线程私有的,程序计数器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器,用于记录当前虚拟机正在执行的线程指令地址。它的生命周期随着线程的创建而创建,随着线程的结束而死亡。

虚拟机栈:线程私有的,它的生命周期和线程相同,随着线程的创建而创建,随着线程的死亡而死亡。栈绝对算的上是 JVM 运行时数据区域的一个核心,除了一些 Native 方法调用是通过本地方法栈实现的(后面会提到),其他所有的 Java 方法调用都是通过栈来实现的。栈由一个个栈帧组成,而每个栈帧中都拥有:局部变量表、操作数栈、动态链接、方法返回地址。

本地方法栈:线程私有的,保存native方法的信息,和虚拟机栈所发挥的作用非常相似,区别是:虚拟机栈为虚拟机执行 Java 方法 (也就是字节码)服务,而本地方法栈则为虚拟机使用到的 Native 方法服务。

堆:Java堆是所有线程共享的一块内存,此内存区域的唯一目的就是存放对象实例,几乎所有的对象实例以及数组都在这里分配内存。Java 堆是垃圾收集器管理的主要区域,因此也被称作 GC 堆(Garbage Collected Heap)。

方法区:存放已被加载的类信息,常量,静态变量,jdk1.8中不存在方法区了,被元数据区替代,原方法区被分为两部分:1.加载的类信息 2.运行时常量池。

5.说一下常见的协议,都在哪层?

OSI七层模型:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。

数据链路层:

MAC(介质访问控制),LLC(逻辑链路控制)MAC协议和LLC协议共同工作,以确保数据帧的可靠传输。MAC协议处理物理层和数据链路层之间的物理访问问题,而LLC协议则在数据链路层和网络层之间提供逻辑控制功能。这两个协议一起协调和管理数据链路层的操作,以确保网络通信的可靠性和正确性。

网络层:

IP(网际协议),ARP(Address Resolution Protocol,地址解析协议)用于将IP地址映射到MAC地址。

RIP(Routing Information Protocol,路由信息协议):一种内部网关协议(Interior Gateway Protocol,IGP),也是一种动态路由协议,基于距离向量算法,使用固定的跳数作为度量标准,选择跳数最少的路径作为最佳路径。

BGP(Border Gateway Protocol,边界网关协议):一种用来在路由选择域之间交换网络层可达性信息(Network Layer Reachability Information,NLRI)的路由选择协议,具有高度的灵活性和可扩展性。

传输层:

TCP(Transmission Control Protocol,传输控制协议 ):提供 面向连接 的,可靠 的数据传输服务。

UDP(User Datagram Protocol,用户数据协议):提供 无连接 的,尽最大努力 的数据传输服务(不保证数据传输的可靠性),简单高效。

应用层:

DNS(Domain Name System,域名管理系统): 基于 UDP 协议,用于解决域名和 IP 地址的映射问题。

HTTP(Hypertext Transfer Protocol,超文本传输协议):基于 TCP 协议,是一种用于传输超文本和多媒体内容的协议,主要是为 Web 浏览器与 Web 服务器之间的通信而设计的。当我们使用浏览器浏览网页的时候,我们网页就是通过 HTTP 请求进行加载的

6.算法题:用两个栈实现队列

#24届软开秋招面试经验大赏#

#24届软开秋招面试经验大赏#
全部评论
这算法,, 慕了
点赞 回复 分享
发布于 2023-09-06 20:34 北京
好强看完了楼主秋招分享,好多问题我都遇到过,但我回答的不如楼主一半,楼主表达能力太强了
点赞 回复 分享
发布于 2023-09-08 09:07 上海

相关推荐

面经:1,上来就有一个英文自我介绍,说的稀碎2,让我用中文介绍了读研期间的机械臂项目,并问了ros,相机标定,坐标系转换,算法设计动机,在里面承担什么角色等项目相关的问题3,让我介绍第二个java项目,kafak怎么用的4,为何选择天津和联想(表忠心的时候到了!!!)5,对这个岗位的了解,然后给我介绍了一下岗位,我恩恩啊啊表示很感兴趣(继续发力表忠心)6,找工作看重什么?我说一是行业和我个人的发展,二是和生活的平衡,不要加班太严重,要有双休。面试官表示联想工作氛围还是很好的,更像一个外企(doge)7,反问,还有下一轮面试吗----------------分界线----------------听说写面经会增大面试通过成功的概率,冲冲冲啊----------------分界线---------------- 收到二面通知 二面结束    基本就是hr面主管面1,有英语问题,问你的优缺点。2,对城市的选择。3,对岗位的了解。4,对加班的理解。联想2025届校招正式启动啦!【校招项目】面向应届毕业生,岗位涉及各个业务部门;【全球管培生GFL项目】聚焦全球顶尖院校的高潜质应届生人才,通过轮岗机会/高管一对一指导/定制化培养/优厚的薪酬福利,助你快速提升能力,并致力培养成为联想业务管理者。申请此项目需提交英文简历。❗两个项目可同时投递,早投递早面试,各个专业均有合适的岗位【校招岗位】产品与项目、技术、市场与销售、职能、供应链、设计等【20+工作地点】北京、上海、深圳、天津、武汉、成都、广州、杭州、南京、厦门、长沙、郑州、济南、沈阳、哈尔滨、昆山、南宁、东京、莫里斯维尔等【投递链接】https://talent.lenovo.com.cn/home【内推码】XZLMCWC2025(简历优先筛选,后续有疑问或者流程问题欢迎随时联系)【内推入口】在“联想校招官网”投递校招职位,创建简历时“从哪儿获知招聘信息”选择“联想员工推荐”并且输入推荐人ITcode:XZLMCWC2025大家投递完可以在评论区打上姓名缩写+岗位,我来确认有没有内推成功喽
联想
|
校招
|
超多精选岗位
点赞 评论 收藏
分享
评论
11
59
分享
牛客网
牛客企业服务