职业经验 每天一点面试题 (2021/3/1)

**潘 · 2021年03月01日 · 最后由 **潘 回复于 2021年03月03日 · 3005 次阅读

1--------------------------测试基础面试题
问:自动化测试和手工测试的优缺点
答:自动化测试:
优点:①、对程序的回归更加容易;②、能够完成一些手工测试难以完成的测试工作;③、能够最大化利用资源;④、可以运行更繁琐的测试用例;⑤、具有一致性和可重复性
缺点:①、无法完全替代手工测试;②、测试自动化可能会制约软件开发(由于自动测试比手动测试更脆弱,所以维护会受到限制,从而制约软件的开发。);③、对测试质量依赖大;④、自动化测试不会提高有效性;⑤、工具缺乏想象力
手工测试:
优点:①、测试人员具有经验和对错误的猜测能力;②、测试人员具有审美和心理体验能力;③、测试人员有是非判断和逻辑能力
缺点:①、重复的手工测试代价昂贵,容易出错;②依赖于软件测试人员自身的能力

2--------------------------语言类面试题(python)
问:python 的内存池机制
答:python 中申请内存的管理机制是 pymalloc,为防止琐碎的内存申请和释放,影响效率,python 中会提前申请一定数量的,大小相等的内存块留作备用,当有新的需求时,会先从内存池中申请,不够了再申请新的内存(当申请的内存小于 256k 时,会先从内存池中申请,当大于 256k 时会直接调用 new 来申请内存)。内存释放时,也会先归还到内存池中。

3--------------------------操作系统类面试题(linux)
问:linux 主机间传输文件的几种方式
答:(1)、scp 传输;(2)、rsync 差异化传输;(3)、管道传输;(4)、nc 传输(一种网络的数据流重定向);(5)、建立文件服务器
(1)、scp 传输:scp 使用 ssh 通道保证传输的安全性,但传输速度较慢
相关命令:
将本地文件拷贝到远程:scp 文件名 –用户名 @ 计算机 ip/计算机名称:远程路径
从远程拷贝到本地:scp –用户名 @ 计算机 ip/计算机名称:文件名 本地路径
(2)、rsync 差异化传输:支持断点续传,数据同步,是 linux 系统下的文件同步和数据传输工具,采用 “rsync” 算法,可以将一个客户机和远程文件服务器之间的文件同步,也可以在本地系统中将数据从一个分区备份到另一个分区上。如果 rsync 在备份过程中出现了数据传输中断,恢复后可以继续传输不一致的部分。Rsync 可以执行完整备份或增量备份
相关命令:
将一个地方里的所有差异数据同步到另一个地方:
rsync –avDogp<源目标>/<目标目录>
将一个地方里的所有差异数据同步到另一个地方,并且被同步的地方有的数据而原地方没有的数据都将被删除
#rsync –avDogp –delete<源目录>/
<目标目录>
(3)、管道传输:管道是一种特殊类型的文件,存在于内存中
gzip -c sda.img |ssh root@192.168.1.110 "gunzip -c" - >/image/sda.img
# 对 sda.img 使用 gzip 压缩,-c 参数表示输出到 stdout,即通过管道传送
#gunzip -c 中的 - 表示接收从管道传进的 sdtin
(4)、nc 传输:就是在两台电脑之间建立 tcp 或 udp 连接,并在两个端口之间传输数据流,是一种网络的数据流重定向,使用 dd 结合 nc 命令网络克隆磁盘分区:
主机:dd if=/dev/vda |gzip –c|nc –l 50522
待恢复机:nc 192.168.215.63.50522|gzip –dc|dd of=/dev/sda
dd 命令克隆/dev/vda 磁盘,并使用 gzip 押送,吧数据流重定向到本机 50522 端口,待恢复机上使用 nc 连接主机 50522 端口,就能接受主机 50522 端口的比特数据流,然后使用 gzip 解压缩,并恢复到/dev/sda 磁盘
dd 命令读取的是磁盘山区,所以不论磁盘文件系统,或者分区表,吸盘 MBR 信息,dd 都能够复制,可以使用 bs,count 参数控制要克隆的大小
(5)、文件服务器
通过建立文件服务器,然后通过网络挂载的方式传输,适用于经常性的拷贝

4--------------------------计算机网络类面试题
问:输入 url 到页面返回的全过程
答 1:这个过程中发生了网络通信,即利用 tcp/ip 协议族进行网络通信,发送端由应用层往下走,接收端由数据链路层网上走,步骤如下:
(1)我们输入一个域名:www.baidu.com ;
(2)浏览器查找浏览器缓存,如果有域名的 IP 地址则返回,如果没有继续查找;
(3)系统查找系统缓存,如果有域名的 IP 地址则返回,如果没有继续查找;
(4)路由器查找路由器缓存,如果有域名的 IP 地址则返回,如果没有继续查找;
(5)本地域名服务器采用迭代查询,它先向一个根域名服务器查询;
(6)根域名服务器告诉本地域名服务器,下一次应查询的顶级域名服务器 dns.com 的 IP 地址;
(7)本地域名服务器向顶级域名服务器 dns.com 进行查询;
(8)顶级域名服务器 dns.com 告诉本地域名服务器,下一次应查询的权限域名服务器 dns.baidu.com 的 IP 地址;
(9)本地域名服务器向权限域名服务器 dns.baidu.com 进行查询;
(10)权限域名服务器 dns.baidu.com 告诉本地域名服务器,所查询的主机 www.baidu.com 的 IP 地址;
(11)本地域名服务器最后把查询结果告诉主机;
(12)主机浏览器获取到 Web 服务器的 IP 地址后,与服务器建立 TCP 连接;
(13)浏览器所在的客户机向服务器发出连接请求报文;
(14)服务器接收报文后,同意建立连接,向客户机发出确认报文;
(15)客户机接收到确认报文后,再次向服务器发出报文,确认已接收到确认报文;
(16)此处客户机与服务器之间的 TCP 连接建立完成,开始通信;
(17)浏览器发出取文件命令:GET;
(18)服务器给出响应,将指定文件发送给浏览器;
(19)浏览器释放 TCP 连接;
(20)浏览器所在主机向服务器发出连接释放报文,然后停止发送数据;
(21)服务器接收到释放报文后发出确认报文,然后将服务器上未传送完的数据发送完;
(22)服务器数据传输完毕后,向客户机发送连接释放报文;
(23)客户机接收到报文后,发出确认,然后等待一段时间后,释放 TCP 连接;
(24)浏览器显示页面中所有文本。
答 2:
(1)、查询 DNS,获取域名对应的 IP。
①、检查浏览器缓存、检查本地 hosts 文件是否有这个网址的映射,如果有,就调用这个 IP 地址映射,解析完成。
②、如果没有,则查找本地 DNS 解析器缓存是否有这个网址的映射,如果有,返回映射,解析完成。
③、如果没有,则查找填写或分配的首选 DNS 服务器,称为本地 DNS 服务器。服务器接收到查询时:
如果要查询的域名包含在本地配置区域资源中,返回解析结果,查询结束,此解析具有权威性。
如果要查询的域名不由本地 DNS 服务器区域解析,但服务器缓存了此网址的映射关系,返回解析结果,查询结束,此解析不具有权威性。
④、如果本地 DNS 服务器也失效:
如果未采用转发模式(迭代),本地 DNS 就把请求发至 13 台根 DNS,根 DNS 服务器收到请求后,会判断这个域名(如.com)是谁来授权管理,并返回一个负责该顶级域名服务器的 IP,本地 DNS 服务器收到顶级域名服务器 IP 信息后,继续向该顶级域名服务器 IP 发送请求,该服务器如果无法解析,则会找到负责这个域名的下一级 DNS 服务器(如http://baidu.comIP 给本地 DNS 服务器,循环往复直至查询到映射,将解析结果返回本地 DNS 服务器,再由本地 DNS 服务器返回解析结果,查询完成。)的
如果采用转发模式(递归),则此 DNS 服务器就会把请求转发至上一级 DNS 服务器,如果上一级 DNS 服务器不能解析,则继续向上请求。最终将解析结果依次返回本地 DNS 服务器,本地 DNS 服务器再返回给客户机,查询完成。
(2)、得到目标服务器的 IP 地址及端口号(http 80 端口,https 443 端口),会调用系统库函数 socket,请求一个 TCP 流套接字。客户端向服务器发送 HTTP 请求报文:
①、应用层:客户端发送 HTTP 请求报文。
②、传输层:(加入源端口、目的端口)建立连接。实际发送数据之前,三次握手客户端和服务器建立起一个 TCP 连接。
③、网络层:(加入 IP 头)路由寻址。
④、数据链路层:(加入 frame 头)传输数据。
⑤、物理层:物理传输 bit。
(3)、服务器端经过物理层→数据链路层→网络层→传输层→应用层,解析请求报文,发送 HTTP 响应报文。
(4)、关闭连接,TCP 四次挥手。
(5)、客户端解析 HTTP 响应报文,浏览器开始显示 HTML
5--------------------------数据库类面试题(sql,mysql)
问:数据库连接泄露的含义
答:数据库连接泄露指的是如果在某次使用或者某段程序中没有正确的关闭 Connection、statement 和 resultset 资源,那么每次执行都会留下一些没有关闭的连接,这些连接失去了引用而不能得到重新使用,因此就造成了数据库连接的泄露,数据库连接的资源是宝贵而且是有限的,如果在某段使用频率很高的代码中出现这种泄露,那么数据库连接的资源将被耗尽,影响系统的正常运转

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 6 条回复 时间 点赞
**潘 关闭了讨论 09月09日 19:30
陈恒捷 回复

第②点写错了,应该是:测试自动化可能会制约软件开发(由于自动测试比手动测试更脆弱,所以维护会受到限制,从而制约软件的开发。);第③点可以理解自动化测试脚本的正常运转前,需要先经过功能测试的通过(二三点的解释来自于 csdn 中:” 不为人知的自动化测试的优缺点 “)
{我的问题及答案目前都是来自互联网各个网站再+自己的稍微总结一下,如果有问题,欢迎留言讨论}

Vin 回复

跟工作年限没什么关系,跟所测的岗位有关,目前我面试没有遇到过内存机制问题,但是工作中(服务器测试)会涉及到内存机制

想了解下,大概什么级别(或者岗位或工作年限)会问到类似内存机制这样的问题

自动化测试 ②、会限制软件的发展;③、对测试质量依赖大;

这两点不大理解?

自娱自乐 回复

嗯,我找的答案太繁琐了,多谢留言

计算机网络面试题:
输入 url, 三要素:协议类型,host 地址,端口
路由解析 url,找到服务器
与服务器建立链接, 根据 url 的路径,请求指定资源
接受服务器资源
浏览器解析并显示

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册