测试开发面试知识点

220 阅读6分钟

测试开发基本面试知识

www.cnblogs.com/xiaolovewei…

微信测试用例

朋友圈:www.cnblogs.com/shallwebegi…

www.pianshen.com/article/666…

聊天:www.cnblogs.com/shallwebegi…

页面:wenku.baidu.com/view/d68043…

矿泉水瓶测试用例

blog.csdn.net/lengxinxuex…

zhuanlan.zhihu.com/p/94520953

blog.csdn.net/qq_41907993…

微信收发红包需要注意的地方

www.jianshu.com/p/2b0163d37…

hashset和hashmap区别

hashmaphashset
继承Map接口继承Set接口
存储健值对只存储对象
使用健对象计算hashcode使用成员对象计算hashcode
允许重复元素不允许重复元素
继承Collection接口
内部使用了hashmap的key
对象需要实现equals和hashcode方法

http和https区别

httphttps(http+ssl)
超文本传输协议安全套接字层超文本传输协议
明文传输通信加密
不需要证书需要CA证书
端口80端口443
连接简单,无状态可加密传输、身份认证

编程题:最长不重复子串

编程题:字符串反转

给定字符串,反转,但元音字母位置不变。

 def demo(s):
     if len(s) == 0:
         return
     arr = []
     for i in s:
         arr.append(i)
     yuan = "aeiou"
     left = 0
     right = len(arr)-1
     while left < right:
         while arr[left] in yuan and left<right:
             left += 1
         while arr[right] in yuan and left<right:
             right -= 1
         arr[left], arr[right] = arr[right], arr[left]
         left += 1
         right -= 1
     return ''.join(arr)
 print(demo("abcdef"))

SQL题:分别筛选出男女个数

 SELECT sex, count(sex) FROM table_1 group by sex;
 select count(man) as 男, count(woman) asfrom table_1;

RPC和HTTP

juejin.cn/post/686924…


测试开发面试题

zhuanlan.zhihu.com/p/395569156

数据库面试题

www.cnblogs.com/beilai/p/68…

软件分类

  • 系统软件。管理、监控和维护电脑资源。
  • 应用软件。解决实际问题的程序。
  • 程序设计语言。用于编写程序。

接口测试

主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。重点是要检查数据的交换、传递和控制管理过程,以及系统间的相互逻辑依赖关系等。

支付宝付款码测试用例

blog.csdn.net/lurong66/ar…

测试微信群发红包 拼手气红包

blog.csdn.net/Leihenzhike…

www.cnblogs.com/laoluoits/p…

黑盒测试的方法

blog.csdn.net/hongfuqiang…

边界值测试、等价类划分、错误推测法、场景法 、因果图法、判定表组成法、正交实验设计。

白盒测试方法

blog.csdn.net/qq_41431406…

语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。

软件测试的流程

  • 测试需求分析阶段:阅读需求,理解需求,主要就是对业务的学习,分析需求点,参与需求评审会议
  • 测试计划阶段:主要任务就是编写测试计划,参考软件需求规格说明书,项目总体计划,内容包括测试范围(来自需求文档),进度安排,人力物力的分配,整体测试策略的制定。风险评估与规避措施有一个制定。
  • 测试设计阶段:主要是编写测试用例,会参考需求文档(原型图),概要设计,详细设计等文档,用例编写完成之后会进行评审。
  • 测试执行阶段:搭建环境,执行冒烟测试(预测试)-然后进入正式测试,bug管理直到测试结束
  • 测试评估阶段:出测试报告,确认是否可以上线

创建索引的原则

zhuanlan.zhihu.com/p/88963084

事务隔离级别

baijiahao.baidu.com/s?id=166209…

解决的实际问题:

  • 脏读:读到了其他事务未提交读数据。
  • 可重复读:针对UPDATE操作,两次读取的内容一致。MySQL默认。
  • 不可重复读:针对UPDATE操作,两次读取的内容一致。大多数默认。需锁行。
  • 幻读:针对INSERT操作。修改完后发现还有数据没有同步过来。需锁表。

隔离级别:

  • 读未提交read uncommitted:不加锁。
  • 读提交read committed:大多数数据库默认。
  • 可重复读repeatable read:mysql默认。
  • 串行化serializable:读时共享锁,写时排它锁。
事务隔离级别脏读不可重复读幻读
读未提交(read-uncommitted)
读提交(read-committed)
可重复读(repeatable-read)
串行化(serializable)

行级锁、页级锁、表级锁

www.jb51.net/article/500…

行锁页锁表锁
引擎INNODB引擎BDB引擎MyISAM
单独的一行记录加锁一次锁定相邻的一组记录锁住整个表
冲突少,速度慢居中冲突多,速度快
开销大,加锁慢居中开销小,加锁快
会出现死锁会出现死锁不会出现死锁
锁定颗粒度最小居中锁定颗粒度最大
发生锁冲突概率最低居中发生锁冲突概率最高
并发度最高居中并发度最低
适合有大量按索引条件并发更新少量不同的数据,又有并发查询的应用,如OLTP系统适合以查询为主,少量按索引条件更新数据的应用,如WEB应用
共享锁、排他锁表共享读锁、表独占写锁

InnoDB:通过索引条件检索数据时,使用行锁;否则使用表锁。

数据库三范式

(需求 > 性能 > 表结构)

数据库设计所需要满足的规范,不会发生insert、delete、update操作异常。

  • 第一范式:列不可再分。
  • 第二范式:属性完全依赖于主键。
  • 第三范式:属性直接依赖于主键。

cookie和session

会话跟踪技术。

www.cnblogs.com/l199616j/p/…

cookiesession
在客户端记录信息在服务端记录信息
保存在PC本地保存在服务器内存中
固定过期时间每访问一次就更新时间,超时删除
可以永久和暂时存在浏览器页面关闭就消失
不可跨域名性使用cookie作为标识,maxAge=-1
中文需要编码保存
可使用字符、二进制数据
单个cookie保存数据不超过4K大小没有限制

stringbuilder和stringbuffer

StringBuilderStringBuffer
线程安全线程安全(synchronized)
继承AbstractStringBuilder继承AbstractStringBuilder
final类,不允许继承final类,不允许继承

hashmap和hashtable

hashmaphashtable
线程安全(可以使用线程安全的concurrentHashMap,采用了分段锁)hashtable线程安全(每个方法都加了synchronize)
初始长度16,每次扩充为2n,指定长度后自动匹配2的幂次方初始长度11,每次扩充为2n+1,会使用指定的长度
重新计算hash值直接使用对象的hashCode()
可以有null(hash值为0)不能有null

post和get

GETPOST
后退按钮/刷新无害数据会被重新提交(浏览器应该告知用户数据会被重新提交)。
书签可收藏为书签不可收藏为书签
缓存能被缓存不能缓存
编码类型application/x-www-form-urlencodedapplication/x-www-form-urlencoded or multipart/form-data。为二进制数据时使用多重编码。
历史参数保留在浏览器历史中。参数不会保存在浏览器历史中。
对数据长度的限制当发送数据时,GET 方法向 URL 添加数据;URL 的长度是受限制的。无限制。
对数据类型的限制只允许 ASCII 字符。没有限制。也允许二进制数据。
安全性与 POST 相比,GET 的安全性较差,因为所发送的数据是 URL 的一部分。 在发送密码或其他敏感信息时绝不要使用 GET !POST 比 GET 更安全,因为参数不会被保存在浏览器历史或 web 服务器日志中。
可见性数据在 URL 中对所有人都是可见的。数据不会显示在 URL 中。