AI 摘要

在互联网这个快速发展的时代,大学生们面临着层层信息的挑战。通过掌握Linux命令、用户设备判断及HTTP状态码等技能,他们能有效部署和测试网页,提高网络安全性和用户体验。本文深入探讨这些核心截面,揭示设备检测的原理与最佳实践,帮助大学生们在技术浪潮中立足。让我们一起探索这些知识的奥秘,激发你的学习热情!

1. 请列举几个你知道的Linux命令及其作用

参考答案

Linux 命令大全 | 菜鸟教程

2. 如何判断用户访问我们的网页时使用的设备(简要描述原理即可,无需说出具体代码)

参考答案(言之有理即可,无需回答所有方法)

使用用户代理字符串(User-Agent)

用户代理字符串包含了浏览器类型、版本、操作系统等信息,可以通过分析这些信息来大致判断用户的设备类型。navigator.userAgent 属性用于获取用户代理字符串。

使用视口尺寸

有时候用户代理字符串可能不够准确或被修改,此时可以根据视口尺寸作为补充手段。通过检测屏幕的宽度,你可以推断出设备的大致类别。

使用CSS 媒体查询

虽然CSS媒体查询主要用于响应式设计,但你也可以在 JavaScript 中使用 window.matchMedia() 方法来判断设备类型。这提供了一种基于 CSS 媒体查询语法来检测设备/视口特性的方式。

注意

用户代理字符串被视为不可靠:由于用户代理字符串可以被修改,某些情况下可能不能准确反映用户的设备信息。

响应式设计原则:在进行设备检测时,最佳实践是根据内容和功能的需要来适应不同设备,而不是针对特定设备进行优化或限制。

综上,设备检测方法多种多样,选择合适的方法取决于你的具体需求和场景。在可能的情况下,优先考虑使用响应式设计原则,来创建能够在不同设备上良好工作的网页。

3. 你在测试中发现了一个bug,但是开发经理认为这不是一个bug,你应该怎样解决?

参考答案

首先,将问题提交到缺陷管理库里面进行备案。

然后,要获取判断的依据和标准:

  • 根据需求说明书、产品说明、设计文档等,确认实际结果是否与计划有不一致的地方,提供缺陷是否确认的直接依据;
  • 如果没有文档依据,可以根据类似软件的一般特性来说明是否存在不一致的地方,来确认是否是缺陷;
  • 根据用户的一般使用习惯,来确认是否是缺陷;
  • 与设计人员、开发人员和客户代表等相关人员探讨,确认是否是缺陷;

合理的论述,向测试经理说明自己的判断的理由,注意客观、严谨,不参杂个人情绪。

等待测试经理做出最终决定,如果仍然存在争议,可以通过公司政策所提供的渠道,向上级反映,并有上级做出决定。

4. 给你一个网站,你如何测试?

参考答案

查找需求说明、网站设计等相关文档,分析测试需求。

制定测试计划,确定测试范围和测试策略,一般包括以下几个部分:功能性测试;界面测试;性能测试;数据库测试;安全性测试;兼容性测试。

5. 一台客户端有三百个客户与三百个客户端每个客户端一个客户对服务器施压,有什么区别?

参考答案

300个用户在一个客户端上,会占用客户机更多的资源,而影响测试的结果。线程之间可能发生干扰,而产生一些异常。

300个用户在一个客户端上,需要更大的带宽。

IP地址的问题,可能需要使用 IP Spoof 来绕过服务器对于单一IP地址最大连接数的限制。

所有用户在一个客户端上,不必考虑分布式管理的问题;而用户分布在不同的客户端上,需要考虑使用控制器来整体调配不同客户机上的用户。同时,还需要给予相应的权限配置和防火墙设置。

6. 你是否知道HTTP状态码?请举出一个例子(状态码及对应含义)

参考答案

HTTP 状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 (500–599):

分类分类描述
1**信息,服务器收到请求,需要请求者继续执行操作
2**成功,操作被成功接收并处理
3**重定向,需要进一步的操作以完成请求
4**客户端错误,请求包含语法错误或无法完成请求
5**服务器错误,服务器在处理请求的过程中发生了错误
状态码状态码英文名称中文描述
100Continue继续。客户端应继续其请求
101Switching Protocols切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议,例如,切换到HTTP的新版本协议
200OK请求成功。一般用于GET与POST请求
201Created已创建。成功请求并创建了新的资源
202Accepted已接受。已经接受请求,但未处理完成
203Non-Authoritative Information非授权信息。请求成功。但返回的meta信息不在原始的服务器,而是一个副本
204No Content无内容。服务器成功处理,但未返回内容。在未更新网页的情况下,可确保浏览器继续显示当前文档
205Reset Content重置内容。服务器处理成功,用户终端(例如:浏览器)应重置文档视图。可通过此返回码清除浏览器的表单域
206Partial Content部分内容。服务器成功处理了部分GET请求
300Multiple Choices多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择
301Moved Permanently永久移动。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替
302Found临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有URI
303See Other查看其它地址。与301类似。使用GET和POST请求查看
304Not Modified未修改。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源
305Use Proxy使用代理。所请求的资源必须通过代理访问
306Unused已经被废弃的HTTP状态码
307Temporary Redirect临时重定向。与302类似。使用GET请求重定向
400Bad Request客户端请求的语法错误,服务器无法理解
401Unauthorized请求要求用户的身份认证
402Payment Required保留,将来使用
403Forbidden服务器理解请求客户端的请求,但是拒绝执行此请求
404Not Found服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置"您所请求的资源无法找到"的个性页面
405Method Not Allowed客户端请求中的方法被禁止
406Not Acceptable服务器无法根据客户端请求的内容特性完成请求
407Proxy Authentication Required请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权
408Request Time-out服务器等待客户端发送的请求时间过长,超时
409Conflict服务器完成客户端的 PUT 请求时可能返回此代码,服务器处理请求时发生了冲突
410Gone客户端请求的资源已经不存在。410不同于404,如果资源以前有现在被永久删除了可使用410代码,网站设计人员可通过301代码指定资源的新位置
411Length Required服务器无法处理客户端发送的不带Content-Length的请求信息
412Precondition Failed客户端请求信息的先决条件错误
413Request Entity Too Large由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息
414Request-URI Too Large请求的URI过长(URI通常为网址),服务器无法处理
415Unsupported Media Type服务器无法处理请求附带的媒体格式
416Requested range not satisfiable客户端请求的范围无效
417Expectation Failed(预期失败)服务器无法满足请求头中 Expect 字段指定的预期行为。
418I'm a teapot状态码 418 实际上是一个愚人节玩笑。它在 RFC 2324 中定义,该 RFC 是一个关于超文本咖啡壶控制协议(HTCPCP)的笑话文件。在这个笑话中,418 状态码是作为一个玩笑加入到 HTTP 协议中的。
500Internal Server Error服务器内部错误,无法完成请求
501Not Implemented服务器不支持请求的功能,无法完成请求
502Bad Gateway作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应
503Service Unavailable由于超载或系统维护,服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的Retry-After头信息中
504Gateway Time-out充当网关或代理的服务器,未及时从远端服务器获取请求
505HTTP Version not supported服务器不支持请求的HTTP协议的版本,无法完成处理

7. 什么是域名?

参考答案

域名就是“互联网门牌号”,是用来替代复杂 IP 地址的便捷访问入口。

每一个网站在互联网上都有一个对应的数字地址,叫做 IP(如:123.45.67.89)。但这个数字既难记又不好打,域名就像一个“别名”,让用户可以用更容易记住的方式打开网站。比如,输入“www.anka2.top”,背后其实是访问安卡服务器的某个 IP 地址。

有了域名,用户无需记住复杂数字,只需输入一个简单的文字地址即可快速访问对应网站。

8. DNS域名系统和操作系统中的Hosts文件有什么关系?

参考答案

互联网早期,网络只有几台电脑,所以可以使用Hosts文件记录域名到IP的映射,后来网络越来越大,hosts就无法记录这么多映射关系了,所以现在都是使用DNS来完成从域名到IP地址的解析,但是Hosts文件仍然保存在操作系统中,Hosts文件的优先级高于DNS查询,操作系统会在Hosts文件中找域名对应的IP地址,没有找到它才会去问DNS服务器。

9. 请问你最喜欢的编程语言是什么?为什么喜欢呢?

这个没有标准答案

10. 在访问一些网页时,会出现Cookie使用请求,请问Cookie是什么?

参考答案

Cookie,有时也用其复数形式Cookies。类型为“小型文本文件”,是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息。