【软件测试面试题】WEB功能测试(持续更新)

Hi,大家好。最近很多朋友都在说今年的互联网行情不好,面试很难,不知道怎么复习,我最近总结了一份在软件测试面试中比较常见的WEB功能测试面试面试题合集,希望对大家有帮助。

建议点赞+收藏再阅读,防止丢失!只收藏不点赞都是坏人呀!

废话少说,直上干货。

目录

1.Student-coures-Studentcourse表关系如下:

2.请说出XHTML和HTML的区别

3.很多网站不常用table iframe这两个元素,知道原因吗

4.jpg和png格式的图片有什么区别?

5.简述—下src与href的区别

6. :before和::before区别?

7.如何理解HTML结构的语义化?

8.常见的视频编码格式有几种?视频格式有几种?

9.JS中null, undefined的区别?

10.什么是sql注入,什么是跨站脚本,什么是跨站请求伪造?

1.Student-coures-Studentcourse表关系如下:

student(sno,sname,age,sdept)学生表

course(cno,cname,teacher)课程表

Studentcourse(sno,cno,grade)选课表写出sql语句:

·查询所有课程都及格的学生号和姓名·查询平均分不及格的课程号和平均成绩

找出各门课程的平均成绩,输出课程号和平均成绩

找出没有选择c2课程的学生信息

2.请说出XHTML和HTML的区别

1、文档顶部doctype声明不同,xhtml的doctype顶部声明中明确规定了xhtml DTD的写法;

2. html元素必须正确嵌套,不能乱;3、属性必须是小写的;

4、属性值必须加引号;

5、标签必须有结束,单标签也应该用“/”来结束掉;

3.很多网站不常用table iframe这两个元素,知道原因

因为浏览器页面渲染的时候是从上至下的,而table和iframe这两种元素会改变这样渲染规则,他们是要等待自己元素内的内容加载完才整体渲染。用户体验会很不友好。

4.jpg和png格式的图片有什么区别?

jpg是有损压缩格式,png是无损压缩格式。所以,相同的图片,jpg体积会小。

比如我们一些官网的banner图,一般都很大,所以适合用jpg类型的图片。

但png分8位的和24位的,8位的体积会小很多,但在某些浏览器下8位的png图片会有锯齿。

5.简述—下src与href的区别

浏览器会识别href引用的文档并行下载该文档,并且不会停止对当前文档的处理

当浏览器解析到src引|用时,会暂停浏览器的渲染,直到该资源加载完毕。这也是将js脚本放在底部而不是头部的原因。

6. :before和::before区别?

单冒号(t)用于CSS3伪类,双冒号(:)用于CSS3伪元素。

对于CSS2之前已有的伪元素,比如:before,单冒号和双冒号的写法::before作用是一样的。

7.如何理解HTML结构的语义化?

所谓标签语义化,就是指标签的含义。语义化的主要目的就是让大家直观的认识标签(markup)和属性(attribute)的用途和作用,对搜索引擎友好,有了良好的结构和语义我们的网页内容便自然容易被搜索引擎抓取,这种符合搜索引擎收索规则的做法,网站的推广便可以省下不少的功夫,而且可维护性更高,因为结构清晰,十分易于阅读。这也是搜索引擎优化SEO重要的一步。

8.常见的视频编码格式有几种?视频格式有几种?

视频格式:MPEG-1、MPEG-2和MPEG4 、AVl .RM、ASF和WMV格式

视频编码格式:H.264、MPEG-4、MPEG-2.WMA-HD以及VC-1

9.JS中null, undefined的区别?

null表示一个对象被定义了,但存放了空指针,转换为数值时为0。

undefined表示声明的变量未初始化,转换为数值时为NAN。

typeof(null) - object;

typeof(undefined) - undefined

10.什么是sql注入,什么是跨站脚本,什么是跨站请求伪造?

SQL注入攻击是注入攻击最常见的形式(此外还有OS注入攻击( Struts 2的高危漏洞就是通过OGNL实施OS注入攻击导致的)),当服务器使用请求参数构造SQL语句时,恶意的SQL被嵌入到SQL中交给数据库执行。SQL注入攻击需要攻击者对数据库结构有所了解才能进行,攻击者想要获得表结构有多种方式:

1.如果使用开源系统搭建网站,数据库结构也是公开的(目前有很多现成的系统可以直接搭建论坛,电商网站,虽然方便快捷但是风险是必须要认真评估的);

2.错误回显(如果将服务器的错误信息直接显示在页面上,攻击者可以通过非法参数引发页面错误从而通过错误信息了解数据库结构,Web 应用应当设置友好的错误页,一方面符合最小惊讶原则,一方面屏蔽掉可能给系统带来危险的错误回显信息);

3.盲注。防范SQL注入攻击也可以采用消毒的方式,通过正则表达式对请求参数进行验证,此外,参数绑定也是很好的手段,这样恶意的SQL会被当做SQL的参数而不是命令被执行,JDBC中的PreparedStatement 就是支持参数绑定的语句对象,从性能和安全性上都明显优于Statement。

xss (Cross Site Script,跨站脚本攻击)是向网页中注入恶意脚本在用户浏览网页时在用户浏览器中执行恶意脚本的攻击方式。跨站脚本攻击分有两种形式:

反射型攻击(诱使用户点击一个嵌入恶意脚本的链接以达到攻击的目标,目前有很多攻击者利用论坛、微博发布含有恶意脚本的URL就属于这种方式)

持久型攻击(将恶意脚本提交到被攻击网站的数据库中,用户浏览网页时,恶意脚本从数据库中被加载到页面执行,QQ邮箱的早期版本就曾经被利用作为持久型跨站脚本攻击的平台)。

CSRF 攻击(Cross Site Request Forgery,跨站请求伪造)是攻击者通过跨站请求,以合法的用户身份进行非法操作(如转账或发帖等)。CSRF的原理是利用浏览器的Cookie或服务器的Session ,盗取用户身份,其原理如下图所示。防范CSRF的主要手段是识别请求者的身份,主要有以下几种方式:

1.在表单中添加令牌(token) ;

2.验证码;

3.检查请求头中的Referer (前面提到防图片盗链接也是用的这种方式)。

令牌和验证都具有一次消费性的特征,因此在原理上一致的,但是验证码是一种糟糕的用户体验,不是必要的情况下不要轻易使用验证码,目前很多网站的做法是如果在短时间内多次提交一个表单未获得成功后才要求提供验证码,这样会获得较好的用户体验。

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走! 

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。


http://www.ppmy.cn/news/1526480.html

相关文章

uView使用心得

说实话我不爱用这个库,感觉很鸡肋,坑很多,可能没用习惯 picker选择器 绑定默认值是通过设置index,并且这个index需要通过api设置进去,设置defalutindex绑定值无效(只有初始化可以,后面动态改变…

uni-app 应用名称 跟随系统语言 改变

官方已确认BUG::https://ask.dcloud.net.cn/question/164804 { "name" : "%app.name%",//这里随便写,配置了 locales,name 就不生效了 "appid" : "", "description" : "", "versi…

虚幻引擎 | (类恐鬼症)玩家和NPC语音聊天(下)

上下文Conversation Array 要让GPT记住上下文,实现GPT4里的连续对话功能,需要把以下内容存入conversation array中去。 NPC background storyuser input promptNPC anwser open AI API的JsonObject JSONObject是一种数据结构,可以理解为JSO…

【Linux 20】进程控制

文章目录 🌈 一、创建线程⭐ 1. 线程创建函数⭐ 3. 给线程传参⭐ 4. 创建多线程⭐ 5. 获取线程 ID 🌈 二、终止线程⭐1. 使用 return 终止线程⭐ 2. 使用 pthread_exit 函数终止线程⭐ 3. 使用 pthread_cancel 函数终止线程 🌈 三、等待线程⭐…

企微无限群发:精准营销与合规边界的探索

在数字化营销日益成熟的今天,企业微信(简称“企微”)作为连接企业与客户的重要桥梁,其强大的群发功能成为了众多企业推广产品、传递信息、增强客户粘性的首选工具。然而,“企微无限群发”这一概念,在实际操…

2024.9.11(k8s环境搭建)

一、k8s环境搭建 编号主机名称ip配置1k8s-master192.168.8.1772k8s-node1192.168.8.1783k8s-node2192.168.8.168 1、免密登录 [rootk8s-master ~]# ssh-keygen [rootk8s-master ~]# ssh-copy-id root192.168.8.178 [rootk8s-master ~]# ssh-copy-id root192.168.8.168 2、3台…

【裸机装机系列】5.kali(ubuntu)-安装linux所需软件-中文输入法,浏览器,字体等等

如果你执行完上面步骤,那恭喜你,你可以正常使用了。 接下来是安装linux里常用的软件 1> apt方式安装的软件: sudo apt install -y terminator fcitx redshift-gtk dbeaver gwenview flameshot vlc mpv alsa-utils imagemagick lshw…

在安全验证流程中,风险评估与智能判断有以下具体应用:

一、用户行为分析 1. 登录模式识别 - 分析用户的登录时间、地点和设备信息。如果用户经常在特定的时间段、特定的地理位置以及固定的设备上登录,系统可以将其识别为低风险行为。例如,一个用户通常在晚上 7 点到 10 点之间,从家庭住址所在…

【面试八股总结】GC垃圾回收机制

垃圾回收策略(Garbage Collection,GC)用于回收不再使用的内存,避免系统的内存被占满。Go1.3之前采用标记清除法, Go1.3之后采用三色标记法,Go1.8采用三色标记法混合写屏障。 前置概念: 1&#x…

保姆级离线+windows环境+大模型前端UI安装(二)

看到很多文章采用docker在windows环境安装python或者是linux环境再装webui的,感觉比较麻烦,不够简洁,本文采用nodejs,来作为客户端引擎。 这篇只讲客户端安装,需要安装后端大模型及其运行的可以参考第一篇&#xff1a…

WPF 依赖属性与附加属性(面试长问)

在WPF中,**依赖属性(Dependency Property)和附加属性(Attached Property)**是WPF依赖属性系统的重要组成部分。它们虽然都基于依赖属性系统,但用途、定义方式和使用场景有显著差异。以下是两者的详细解释及…

Spark_natural_join

在 Apache Spark 中,NATURAL JOIN 和 INNER JOIN 是两种不同的连接操作,它们在合并数据集时有不同的行为和用途。 INNER JOIN INNER JOIN 是一种基本的连接操作,它返回两个数据集(DataFrame 或表)中匹配指定连接条件…

计算机毕业设计 乡村生活垃圾管理系统的设计与实现 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…

SprinBoot+Vue社区生鲜团购系统的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍:CSDN认证博客专家,CSDN平台Java领域优质…

面试问题001

进程和线程的区别 进程是资源分配和调度的基本单位。 线程是程序执行的最小单位,线程是进程的子任务,是进程内的执行单元。 一个进程至少有一个线程,一个进程可以运行多个线程,这些线程共享同一块内存。 资源开销: 进…

无人机PX4飞控ROS应用层开发:MAVROS 功能包介绍与飞控消息汇总(一)

概述 这个软件包提供了针对各种自动驾驶仪(如PX4,Ardupilot)使用 MAVLink 通信协议的通信驱动程序。 此外,它还提供了用于地面控制站(例如 QGroundControl)的 UDP MAVLink 桥接功能。 通常与PX4的offboard模式联合使用 Offboard控制背后的想…

俄罗斯方块——C语言实践(Dev-Cpp)

目录 1、创建项目(尽量不使用中文路径) 2、项目复制 3、项目配置 ​1、调整编译器 2、在配置窗口选择参数标签 3、添加头文件路径和库文件路径 4、代码实现 4.1、main.c 4.2、draw.h 4.3、draw.c 4.4、shape.h 4.5、shape.c 4.6、board.h 4.7、board.c 4.8、cont…

三十七、Gin完成登陆功能

目录 一、完成dao 二、services包下新建login.go 三、路由绑定 一、完成dao 这个方法意思是通过这个userid查询数据 func (a *AccountDao) Fist(UserID string) (*model.Account, error) {var account model.Accounterr : a.db.Where("user_id ?", UserID).Fir…

NLP(文本处理技术)在数据分析中的应用实例

在Python中,你可以实现多种自然语言处理(NLP)技术。Python拥有丰富的库和框架,使得NLP任务变得更加容易和高效。接下来将列举一些NLP(文本处理技术)具体功能的Python实现。 一:文本预处理 1:英文版 # 文…

使用豆包MarsCode编程助手提升开发效率的实战分享!

作为一名开发者,我们总是追求高效、快速的编码体验。在日常开发工作中,代码的自动补全、优化建议、单元测试生成、Bug修复等功能都是提高开发效率和质量的关键。而豆包MarsCode编程助手正是这样一款工具,它通过AI技术为开发者提供了智能化的解…