自我介绍
怎么看待测开
介绍下覆盖率 异常怎么去考虑测试:构造异常的特殊情况,覆盖每一个条件case
异常情况很多的情况下怎么覆盖: 等价类、判定表等等
项目介绍
短信验证码登陆业务介绍:从cookie到sessioo到redis的优化
难点和挑战性内容:拦截器、双层过滤、锁的优化、事务失效的处理、超买超卖、一人一单、缓存三大问题、雪花算法唯一id
怎么考虑项目上线的优化和缺陷 :用户量预估、服务器准备、流量控制(限流(令牌桶、漏桶)、降级保证基础功能)
数据结构
队列、栈、堆介绍以及优缺点:
队列讲了下数组、链表两种实现,先入先出;
栈后入先出,讲了下程序维护虚拟机栈,保存栈帧,实现递归操作,可以做括号匹配啊之类的;
堆的话完全二叉树,大根堆、小根堆,讲了下TopK问题,讲了下桶排序,可以维护数据量很大时候部分数据在磁盘的排序,排行榜。
网络
常见http状态码
1xx、2xx、3xx、4xx、5xx分别对应什么和举例
假设你前端的按钮点击没有效果,你会怎么去排查这个bug?
前端:控制台、看url、协议、端口、参数是否传递正确,看响应码、相应的对应响应体
后端:看后端日志、数据库相关数据变化、redis等缓存的数据变化
浏览器输入baidu.com到游览器解析页面的全过程
这个是url嘛,dns从域名获取到ip,简单讲了下dns缓存,上游服务器,根服务器。
然后http连接前建立tcp三次握手,简单讲了下三次握手和对应状态
然后发送http请求和连接,顺带讲了下http和https的区别,讲了下非对称、对称加密
最后结束回话四次挥手断开连接
怎么解析http响应
会有个标识相应类型 比如html 然后游览器进行解析渲染
场景
微信发红包进行测试,说说你的思路?
功能测试、性能测试、兼容性测试、界面测试、安全性测试
代码:
设计一对一发红包和群红包(等分/拼手气)?
思路:考虑下存储的数据类型,精确处理金额,做个最大限额、最小值限定、非负。均分or随机若干份最小和累加为总量即可。然后每一份仅能由一个用户id获得,多线程考虑下线程安全问题,其实就是类似超买超卖(接受多了or少了钱)、一人一单(不能多抢)。
反问
我们这边在主要做什么
为什么选择测开
个人规划
实习时间、最早到岗时间