1.前端代码如何区分是CSS还是js
CSS以<style>开始,</style>结束. 负责静态页面布局;
JS以<script type="text/javascript">开始, 以</script>结束,实现网页的动态性,交互性
2.常用xpath定位方法
一般浏览器copy出来都是绝对路径,弊端是只要页面稍有变动,就定位不到了,所以最好自己写相对路径
如:By.xpath(“//a[contains(@alt,'img')]”) 就表示寻找页面中alt属性值包含有img的所有a元素
3.Python常用第三方模块
requests、HTMLTESTRunner、MySQLdb、unittest、urllib2、smtplib
4.HTTP请求中的header部分如何携带
requests.get方法里面可以传header,可选参数,样例:
import requests
payload = {'key1': 'value1', 'key2': 'value2'}
headers = {'content-type': 'application/json'}
r = requests.get("http://httpbin.org/get", params=payload, headers=headers)
5.一名优秀的测试是怎样的?
责任心、精通测试设计、极强的问题定位分析能力、较强的沟通表达能力,更关注整体交付质量,不仅娴熟地使用工具,并且知其原理,还有多个同类工具的优缺点、适用场景以及二次开发能力,最后还有不断学习的能力。
6.如果自动化用例失败了应该怎么办?
1.首先看日志,分析原因;
2.再跑一次确认;
3.手工测试确认到底是bug还是自动化用例写错了
4.加上等待时间
7.购物车测试点
功能:商品能否正常添加至购物车、购物车里显示的商品信息和数据库是否一致,能否正常付款、从购物车里删除、批量删除、分页展示、有无上限
易用性:界面显示美观、操作简单易懂
兼容性:在不同浏览器和各种app上显示均正确
性能:是否需要对接口进行性能测试
8.自动化最大的痛点
不是所有项目都适合自动化,因为自动化是通过写代码检测代码,创建和维护都是需要时间成本的,自动化测试复用次数如果达不到5次以上,那么可能就是得不偿失的。
9.sql如何插入一列
alter table tablename add(cloumname varchar(11));给tablename字段新增加一列cloumname ,类型为字符串类型,最大长度为11
10.sql内联和外联的区别
内连是返回两个表共有的数据,相当于交集;外联是返回两个表所有的数据,相当于并集,外联又分为左外连接,右外连接和外全连接。
11.微服务架构的优势
优势:低耦合、扩展性和可靠性都更好;不足:服务之间的传递比单体低效
12.https和http的区别,为什么?
http传的是纯文本消息,https是通过ssl加密传输二进制消息
13.is和==的区别
is 的作用是用来检查对象的标识符是否一致,也就是比较两个对象在内存中的地址是否一样,而 == 是用来检查两个对象是否相等。
14.同步和异步的区别
同步:所有操作都做完才返回给用户;
异步:用户请求后将请求存入消息队列,先返回结果给用户,再继续完成后续操作
15.http1.0和http2.0的区别
http1.0是短连接,文本消息交互,每个请求都要重新建立连接,请求和响应都需要完整的头信息,http2.0是长连接,二进制交互,用于https,多路复用(多次请求可能只需要一次3次握手),可压缩头信息,加密传输
16.http和websocket的区别
websocket基于http,但http只能有客户端发起请求,socket是两端都可随时发送消息,并且多路复用,不用进行多次三次握手,不用每次都发送header
17.TCP和UDP的区别
tcp面向连接,更可靠,丢包率低,udp实时性更高,支持一对多、多对多,它俩就像手机与对讲机的区别
18.delete与truncate、drop的区别
truncate 和delete只删除数据, drop则删除整个表(结构和数据),delete可以回滚,truncate不能回滚,truncate会释放表和索引的占用空间。
19.内存中为何要区分堆和栈
用途不一样,栈内存是用来存放局部变量用的,用完就释放内存空间,堆用来存放new出来的各种对象,都会分配一个地址值,且有默认初始化值,堆先进先出,栈后进先出。
部分回答加入了个人的理解,如有错误欢迎指正。
网友评论