首先是自我介绍,然后问了实习和项目,最后问了几道八股和算法题。答案是我面试完自己整理的,仅供参考。1.介绍一下实习中用的测试工具,用测试工具具体干什么?JenkinsJenkins 是一个用于自动化构建、测试和部署软件项目的开源持续集成(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届软开秋招面试经验大赏#
点赞 11
评论 2
全部评论

相关推荐

点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务