2023-02-07 16:23:46
自我介绍与项目介绍
需清晰阐述项目背景、技术栈、个人职责及成果,重点突出与测试开发相关的实践(如自动化测试框架设计、性能优化等)。
购物车测试场景
功能测试:添加/删除商品、修改数量、库存校验、价格计算准确性。
兼容性测试:不同浏览器/设备端显示与操作一致性。
异常测试:网络中断、库存不足、并发操作冲突(如多用户同时修改购物车)。
性能测试:高并发下响应时间、服务器资源占用(CPU/内存)。
Redis测试场景
缓存穿透/击穿/雪崩:模拟空请求、热点key过期、大量缓存同时失效场景。
数据一致性:验证缓存与数据库数据同步机制(如双写一致性、失效策略)。
持久化测试:RDB/AOF持久化配置下数据恢复能力。
高可用测试:主从切换、集群故障转移对业务的影响。
Web端上传图片问题排查
前端检查:文件大小限制、格式校验、网络请求是否成功发送顷握。
后端检查:接口参数解析、文件存储路径权限、磁盘空间慧乎察是否充足。
工具辅助:使用Chrome DevTools查看Network请求详情,或通过tcpdump抓包分析。
HTTP请求与响应内容
请求内容:请求行(方法/URL/协议版本)、请求头(Host/User-Agent/Cookie)、请求体(POST数据)。
响应内容:状态行(协议版本/状态码/状态信息)、响应头(Content-Type/Server)、响应体(返回数据)。
HTTP请求方式及GET/POST区别
方式:GET、POST、PUT、DELETE、HEAD等。
GET vs POST:
GET:数据附在URL后,有长度限制,适合获取数据(如搜索)。
POST:数据在请求体中,无长度限制,适合提交数据(如登录)。
生活例子:
进程:工厂生产流程(独立资源分配)。
线程:车间内工人协作(共享资源,分工完成同一任务)。
后端认为不是Bug的处理
复现问题:确认环境、步骤、数据是否一致。
沟通确认:提供日志/截图,明确需求文档中的预期行为。
妥协方案:若为非核心功能,可记录为“待优化项”并评估影响范围。
数据库索引相关
索引类型:B-Tree(普通索引)、Hash(等值查询)、全前茄文索引(文本搜索)。
加索引后测试:
执行EXPLAIN分析SQL执行计划,确认索引是否被使用。
对比加索引前后查询时间(如使用time命令或性能监控工具)。
定量分析:通过压测工具(如JMeter)统计QPS、响应时间提升比例。
Linux命令
切换路径:cd /target/path
实时显示日志:tail -f /var/log/app.log
显示error关键字上下10行:grep -A 10 -B 10 "error" /var/log/app.log
MySQL命令
创建数据库:CREATE DATABASE test_db;
查询表结构:DESCRIBE users;
插入数据:INSERT INTO users (name, age) VALUES ('Alice', 25);
手撕代码:两个列表组成字典
keys = ['a', 'b', 'c']values = [1, 2, 3]result = dict(zip(keys, values)) # 输出: {'a': 1, 'b': 2, 'c': 3}共享单车二维码测试
功能测试:扫码跳转正确页面、车辆解锁/上锁状态同步。
兼容性测试:不同扫码工具(微信/支付宝/专用App)、二维码破损/遮挡。
安全测试:防伪造二维码攻击、用户权限校验(如非会员限制使用)。
自我介绍与项目介绍
重点突出技术深度(如算法优化、复杂场景测试方案)及跨团队协作经验。
医学算法转测开动机与收获
动机:结合医学背景与测试技术,提升算法鲁棒性(如医疗影像识别中的异常数据处理)。
收获:掌握全链路测试方法(单元/集成/系统测试)、熟悉医疗行业数据规范(如HIPAA)。
接口实现流程(登录)
前端发送用户名/密码至后端。
后端验证数据合法性,查询数据库匹配用户信息。
生成JWT令牌并返回,前端存储令牌用于后续请求认证。
JWT机制确认账号信息
从HTTP请求头(Authorization: Bearer <token>)解析JWT。
验证签名(防止篡改),解码Payload获取用户ID等字段。
根据用户ID查询数据库或缓存获取详细信息。
项目中间件
常用中间件:Redis(缓存)、RabbitMQ(消息队列)、Kafka(日志收集)、Nginx(负载均衡)。
MySQL设计考虑问题
范式化:避免数据冗余(如用户表与订单表分离)。
索引优化:高频查询字段加索引,避免过度索引影响写入性能。
分库分表:数据量过大时按业务或ID范围拆分。
Nginx介绍
功能:反向代理、负载均衡、静态资源服务、SSL终止。
配置示例:
upstream backend { server 127.0.0.1:8080; server 127.0.0.1:8081;}server { location / { proxy_pass数据一致性
Redis与MySQL:通过消息队列(如RocketMQ)实现最终一致性,或使用事务保证强一致性。
MySQL锁:
悲观锁:SELECT ... FOR UPDATE锁定行。
乐观锁:版本号控制(如UPDATE table SET version=version+1 WHERE id=1 AND version=0)。
前后端分离优缺点
优点:解耦开发、独立部署、技术栈灵活。
缺点:跨域问题、SEO优化困难、首次加载慢(需加载JS框架)。
查询接口测试用例设计
正常场景:有效ID返回对应数据。
异常场景:无效ID(返回404)、超长ID(边界值测试)、SQL注入(如id=1 OR 1=1)。
性能场景:高并发下接口响应时间。
接口测试工具
Postman(手动调试)、JMeter(压测)、Fiddler(抓包分析)。
Fiddler测试HTTP/HTTPS区别
HTTP:直接抓包查看明文请求/响应。
HTTPS:需安装Fiddler根证书并配置解码SSL流量,否则显示加密数据。
新员工试用期通过流程
直属领导评估(KPI完成度、团队协作)、HR面谈(文化适配性)、最终审批。
业务开发流程
需求评审→技术设计→开发→自测→提测→测试→上线→监控。
应用层协议
HTTP:无状态,明文传输,默认端口80。
HTTPS:HTTP+SSL/TLS加密,默认端口443。
浏览器输入URL流程
DNS解析→建立TCP连接→发送HTTP请求→服务器处理→返回响应→渲染页面。
浏览器解析文件顺序
HTML解析构建DOM树→CSS解析构建CSSOM树→合并为Render Tree→布局(Layout)→绘制(Paint)→复合(Composite)。
JS会阻塞DOM构建(除非异步加载)。