本文共 3126 字,大约阅读时间需要 10 分钟。
面试题
- 自我介绍
- 测试用例设计 微信发红包 页面刷不出来问题排查
- 算法题 有序数组插入数字
- Java基础知识 对多态的理解 ==和equals的区别 重载和重写的区别 hashmap和hashtable的区别 接口和抽象类的区别 arraylist与linklist区别 数组和链表的区别
- Linux命令 查看日志某个关键字的前后50行
- 网络基础知识 tcp http header包含的字段
- 测试项目介绍,包括测试框架和被测系统框架 Spring和springboot的区别 怎么展开测试 被测系统的技术都有哪些,数据流向 zookeeper通信 mq介绍
答案
2.微信发红包测试用例
给单个好友发红包
- 金额输入框测试 1)只能输入数字校验 2)钱数校验 200 0.01 0 200.01 199.99
- 备注测试 1)不输入空白/空格 2)汉字,英文,符号,表情,纯数字,汉字英语符号 3)输入长度长度测试
- 支付测试 1)余额支付/银行卡支付 2)余额/银行卡金额不足 3)密码正确/错误 4)指纹支付-正确/错误 5)支付成功后余额或银行卡钱对应减少 6)不支付返回-取消发红包
- 收取红包 1)对方收取 余额钱正确增加 2)自己收取-无法收取 3)过期收取 /过期后钱原路退回 4)断网时收取红包
- 连续发红包
- 特殊情况测试 1)发红包时切换应用 2)发红包时接到电话
- 兼容测试 1)安卓/苹果手机收发红包正常 2)不同分辨率的手机 3)pc端收发红包 4)网络兼容:3g/4g ,Wi-Fi
- 性能 1)发红包和收红包成功后的跳转时间 2)收发红包的耗电量 3)退款到账的时间
- 易用性
- 界面 页面布局,文案
- 安全性 APP页面刷不出来问题排查 1)排查手机自身的问题,网络,内存 2)如果是WebView加载的H5页面,如果是https协议,查看是否是证书配置问题 3)后台问题。 可能是后台的sql有问题。当查询的数据量过大时,而当前的sql不够优化,查询起来很费时,甚至出现无法获取最终结果的可能 服务端挂机
5.查看日志常用命令
- 查看实时的日志 tail -f filename //会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容 -f 循环读取
- 查看指定字符的日志 cat filename | grep abc cat filename | grep abc -A4 //查看filename中含有abc所在行后4行内容 cat filename | grep abc -B4 //查看filename中含有abc所在行前4行内容 cat filename | grep abc -C4 //查看filename中含有abc所在行前、后4行内容
- 日志内容特别多,打印在屏幕上不方便查看 cat -n filename |grep “debug” |more 这样就分页打印了,通过点击空格键翻页
- 查看头10行的日志 head -n 10 filename
7.网络基础知识
- 网络体系结构 OSI七层协议:物理层,数据链路层,网络层,运输层,会话层,表示层,应用层 五 层 协 议 : 物理层,数据链路层,网络层,运输层,应用层
- 网络层:IP 运输层:TCP/UDP 应用层:HTTP,DNS TCP和UDP的区别: 1)TCP是面向连接的;UDP是无链接的,即发送数据之前不需要建立连接 2)TCP提供可靠的服务,也就是说,通过TCP连接传送的数据,无差错、不丢失、不重复、并且按序到达;UDP使用尽最大努力交付,即不保证可靠交付 3)TCP是面向字节流的,TCP把数据看成一连串的无结构的字节流;UDP是面向报文的,对应用层交付下来的报文,既不合并,也不拆分, UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等) 4)每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信 5)TCP首部开销20字节;UDP的首部开销小,只有8个字节 HTTP链接请求过程: 链接是:http://www.tsinghua.edu.cn/chn/yxsz/index.htm 1)浏览器分析链接指向页面的URL; 2)浏览器向DNS请求解析www.tsinghua.edu.cn的IP地址; 3)域名系统DNS解析出清华大学服务器的IP地址为XX.XX.XX.XX; 4)浏览器和服务器建立TCP连接; 5)浏览器发出请求数据命令:GET/chn/yxsz/index.htm; 6)服务器给出响应,把数据发送给浏览器; 7)释放TCP连接; 8)浏览器中展示 HTTP协议本身是无连接的,且是无状态的 HTTP请求消息头: 从第二行到空白处都叫消息头 1)Accept:浏览器可接受的MIME类型。告诉服务器客户端能接受什么样类型的文件 2)Accept-charset:浏览器通过这个头告诉服务器,它支持哪种字符集 3)Accept-Encoding:浏览器能够进行解码的数据编码方式,比如gzip 4)Accept-Language:浏览器所希望的语言种类,当服务器能够提供一种以上的语言版本时要用到,可以在浏览器中进行设置 5)Host:初始URL的主机和端口 6)Reffer:包含一个URL,用户从该URL代表的页面出发访问当前请求的页面 7)Content-Type:内容类型,告诉服务器浏览器传输数据的MIME类型,文件传输的类型,applocation/x-ww-form-urlencoded(默认类型) 8)If-Modify-Since:Web,02 Feb 2011 12:04:56 GMT 利用这个头与服务器的文件进行对比,如果一致,则从缓存中直接读取文件 9)User-Agent:浏览器类型 10)Content-length:表示请求消息正文的长度 11)Connection:表示是否需要持久连接,如果服务器看到这里的值为‘keep-alive’,或者看到请求使用的时Http1.1(Http1.1默认进行持久连接) 12)Cookie 13)Date:Mon,22 Aug 2011 01:55:39 GMT 请求时间GMT 消息正文: 当请求方式是POST方式时,才能看到消息正文 响应消息行: HTTP/1.1 200 OK 协议/版本 响应状态码 对应响应码的描述 Date:Mon,22 Aug 2011 01:55:39 Content-Type: Content-length: 空行 响应正文
8. 服务端相关知识
zookeeper:
- 是什么 用于分布式中一致性处理的框架,解决了分布式系统的一些难点,使用zookeeper开发者可以很轻松的实现:配置管理,命名服务,分布式锁,集群关系操作,检测节点的加入和离开
- 提供了什么? 1)文件系统 2)通知机制
- zookeeper的简单总结 zookeeper主要用于担任服务生产者和服务消费者的注册中心,服务生产者将自己提供的服务注册到Zookeeper中心,服务的消费者在进行服务调用的时候先到Zookeeper中查找服务,获取到服务生产者的详细信息之后,再去调用服务生产者的内容与数据
- zookeeper和dubbo的关系 dubbo是一种rpc框架,provider将接口在zookeeper中注册,consumer订阅接口,然后就可以在代码中像调用本地方法一样,调用远程方法
转载地址:http://rkrlf.baihongyu.com/