随笔 - 94  文章 - 0  评论 - 2  阅读 - 12万

面试题

1.介绍自己

2.测试流程

3.工作中用什么工具?缺陷管理?用例文档的管理?

4.测试用例以什么方式写?

5.你觉得测试和开发有什么区别?

6.数组和链表插入一个数据的时间复杂度是多少?

7.单向链表和双向链表有什么区别?

8.栈和队列的区别?

9.有在哪些实际应用场景用到过栈?

9.2.满二叉树和完全二叉树有什么区别?

10.说一下计算机网络的体系模型?七层?五层?每一层都说一下?

11.除了ARP,你知道R-ARP协议吗?有哪些应用场景呢?

12.知道dns协议吗?大概说一下。

12.2.拥塞控制说一下?

12.3你说的拥塞控制是比较传统的一种,有没有想过它有什么缺陷?

12.4建议了解一下新的拥塞算法。

13.性能测试需要关注哪些指标?

14.并发用户数和吞吐量之间有什么关系?

15.jmter怎么用的?

16.tcp是哪层的?ip呢?

17.网络编程,socket达成连接和进行数据传输的端口是不是同一个?

18.linux常用的命令有哪些?

19.说下top命令中都有什么信息?

20.top之后,和cpu有关的字段有哪些?怎么理解?

21.说下mysql和redis的区别?为什么要拿redis做缓存?

22.公司的代码管理工具?

23.谈谈对性能测试的理解?

24.说下软件测试的目的?

 

 

部分答案

 

1.介绍自己

 

学校,学院,专业。近期的实习,实习公司以及实习的工作内容。再往前的项目开发经验,编程语言。

 

2.测试流程

 

需求评审、用例编写、用例评审、冒烟测试、测试环境的轮次测试、模拟环境回归、线上环境回归。

 

3.工作中用什么工具?缺陷管理?用例文档的管理?

 

缺陷管理:jira、文档共享:confluence、接口测试:postman、抓包工具:fiddler、性能测试:jmeter。

 

4.测试用例以什么方式写?

 

测试点:xmind、processon以思维导图的形式;

 

测试用例:excle以表格的形式。

 

5.你觉得测试和开发有什么区别?

 

开发者:从0到1去创造一个软件,可能完成度达到90%就觉得这个软件可以交付给测试了,开发者是软件实现者,底层逻辑都是开发人员更懂;

 

测试者:一开始拿到的东西就是有基本形状的,不用考虑细节如何实现,只需要找到软件与需求描述不一致的地方,比如界面、功能、性能等等。测试者主要起到一个质量把控的作用。

 

6.数组和链表插入一个数据的时间复杂度是多少?

 

假设为:在p,q之间插入m

 

数组插入一个数据,需要移动插入位置之后的元素,腾出一个位置给待插入数据,然后再插入该数据。根据所插入位置的不同,需要移动元素的个数也不同,取平均状态,时间复杂度为O(N);

 

链表插入一个数据,只需要改动插入位置前的节点的指针,首先把带插入元素m的指针指向p->next,再把p->next  = m就完成了,所以时间复杂度为O(1)。

 

7.单向链表和双向链表有什么区别?

 

首先,节点的结构是不同的。单向链表的节点由一个数据域和一个指针域组成,所有指针域都指向一个方向。而双向链表的节点是由一个数据域和两个指针域组成的,两个指针域可以分别指向上一个元素和下一个元素。

 

其次,对于查找数据来说,单向链表只能从头开始,顺序往下找,而且不能找前驱。双向链表就可以找后继也可以找前驱。

 

但是双向链表在空间上,是占用比较多的。

 

引用一段博客内容:单向链表和双向链表

 

8.栈和队列的区别?

 

栈:前进后出,有栈顶和栈底,出栈和入栈都是通过栈顶;

 

队列:先进先出,有队头和队尾,队头出,队尾入。

 

9.有在哪些实际应用场景用到过栈?

 

栈的使用场景:

 

1.逆序输出

 

2.语法检查,括号匹配

 

3.十进制转二进制

 

栈的使用场景

 

9.2.满二叉树和完全二叉树有什么区别?

 

满二叉树:叶子结点只能在最后一层出现

 

完全二叉树:叶子结点只能在最后一层及倒数第二层出现,且在同一层,不允许左边有叶子,右边有子节点的情况。

 

10.说一下计算机网络的体系模型?七层?五层?每一层都说一下?

 

osi:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层

 

tcp/ip:物理层、数据链路层、网络层、传输层、应用层

 

物理层:基本传输单位为比特,相关协议有IEEE 802.3之类。传输介质有双绞线、同轴电缆、光缆等等。

 

数据链路层:基本传输单位:帧。

 

主要:(1)封装成帧;(2)流量控制;(3)确认和重传机制

 

主要协议有:ppp网络层:基本传输单位:分组

 

主要功能:将报文分成一个个的分组,通过网络设备,从源端传到目的端。

 

提供的服务:(1)电路服务;(2)数据包服务。

 

主要协议:ICMP,IGMP,IP,ARP,RARP

 

传输层:基本传输单位:报文

 

主要功能:实现端到端的传输

 

主要协议:TCP,UDP

 

应用层:基本传输单位:报文

 

主要协议:HTTP,HTTPS,FTP,DNS,

 

11.除了ARP,你知道R-ARP协议吗?有哪些应用场景呢?

 

盲猜是拿mac找ip,结果猜对了。ARP-地址解析协议,拿ip地址找mac地址。以广播的形式将询问报文发给各个设备,对应ip地址的设备会返回报文,其中含有mac地址。

 

12.3你说的拥塞控制是比较传统的一种,有没有想过它有什么缺陷?

 

第一、阈值的选定,对于不同的网络环境,可能效果有好有坏

 

第二、在发生超时或者丢包之后,才会进行相关措施,但错误已经发生了,并没有规避风险。在一定程度上是亡羊补牢。

 

13.性能测试需要关注哪些指标?

 

我说了cpu占用、磁盘使用、吞吐量,提示我还有响应时间等。

 

14.并发用户数和吞吐量之间有什么关系?

 

饱和值前是线性关系,饱和值后可能不变,可能下降。

 

18.linux常用的命令有哪些?

 

提到了文件查看的:cat tac more less head tail

 

权限:chmod chown

 

其他:top

 

 

21.说下mysql和redis的区别?为什么要拿redis做缓存?

 

因为快,某些一定会追问为什么redis快?但是没有。

 

22.公司的代码管理工具?

 

git,以为会问我git命令呢,但是没有,哎

posted on   卡哇伊的蜗牛  阅读(242)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示