字节跳动测试开发面经
面经一:字节跳动测试开发--二面
来源: https://www.nowcoder.com/discuss/351722
- 自我介绍
- 项目介绍
- 重写与重载
- Java集合
- HashMap和Hashtable的区别
- ArrayList和LinkedList的区别
- Map的put方法
- 数据库查找
- 动态规划的题
- 对测开的理解
- 冲突解决办法
面经二:字节跳动头条研发---测试开发一面
来源: https://www.nowcoder.com/discuss/351378
- 自我介绍
- HTTP和HTTPS的区别
- HTTP状态码
- HTTP劫持
- URL相应(响应过程)
- 线程与进程的区别
- 线程间通信方式
- 实现多线程的方式
- 西瓜视频的用例测试
- 兼容性测试(软件、硬件、网络)
- 抖音有哪些需要改进的地方?刷不出来时怎么定位测试?
- DNS
- HTTP和TCP/IP分别在哪一层
- sleep()和wait()方法的区别
- 深拷贝和浅拷贝
- JDK、JRE
- 算法:找出字符串中第一个不重复的字符
面经三:字节测开1-4面(收到意向书)
来源: https://www.nowcoder.com/discuss/304858
一面
- Java多态是什么
- Java内存分区
- varchar、var以及text的区别
- 算法:数组最大值差 a[j]-a[i](j>i)
二面
- String、StringBuffer、StringBuilder的区别
- Collection框架介绍
- 算法:层序打印二叉树
- 算法:字符串"abc"求子集(二进制位标识)
三面
- OSI七层模型
- HTTP、TCP、IP分别在哪一层
- TCP和UDP的区别,为什么TCP是可靠的
- 算法:两个单链表,判断是否相交
- 算法:无序数组排序,奇数在前偶数在后,相对位置不变
- 算法:int数组求子集
四面
- Redis缓存(伪代码)
- SQL:重复城市的表,查哪些城市重复了
- 算法:大数相加(String字符串相加)
- 逻辑题:1000瓶水1瓶有毒,10只小白鼠找出毒水瓶
- 逻辑题:10堆苹果每堆10个,9堆每个50g有一堆40g,称一次找出
面经四:字节跳动抖音测试工程师(1-3面)
来源: https://www.nowcoder.com/discuss/344652
一面
- 项目介绍,细节问题
- 网络七层有哪些,TCP、UDP、ARP在哪一层,解释DNS
- TCP和UDP的特点,什么是无效连接
- Tomcat介绍
- 软件的生命周期,产品的生命周期
- 进程和线程的区别,什么是僵尸进程
- Linux命令:pwd、ps、|、grep(含/不含关键字)、du、df
- 算法:手撕TopK,时间复杂度及优化方案
- 八个球找一个重量是其他1.5倍
- 怎么测试微信的搜索功能
二面
- DNS是啥,浏览器输入域名发生了什么
- 服务器传图片到浏览器用什么协议,怎么渲染
- if(a==1&&a==2&&a==3)什么时候返回true(JS)
- JS中的闭包是啥
- 如果UI和开发消极怠工,怎么办
- 如果开发认为测试出来的问题不是他的问题,怎么办
- 写个单例,什么情况下会用到
- 测试朋友圈发布视频功能
- 如果有一部分用户反馈APP视频加载不出来,从哪些方面定位
- Android Activity的生命周期,哪些情况下会发生crash
- 在一个产品周期中,怎么安排测试工作
- 为什么选择测试,对测试工作的期望
三面
- 项目细节,实习中的工作细节
- 项目中遇到的最难的问题及解决方法
- 小程序开发用到了哪些接口
- 如果要开发一个新小程序要怎么做
- Linux:输出两个文本中的相同内容/不同内容
- 怎么测试小程序的并发性
- 微信红包功能怎么测试
- 算法:实现抢红包随机获取金额的过程
- 逻辑题:五升桶、六升桶得到三升水
- 逻辑题:10个石头,每人每次拿1-2个,轮流拿,最后一个拿的人输,必赢方案
- Java GC(垃圾回收)
- 抽象类和接口的区别
- 线程的实现方式有哪些
高频题目汇总
必问八股
- HashMap vs Hashtable
- ArrayList vs LinkedList
- 重写 vs 重载
- TCP vs UDP
- 进程 vs 线程
- OSI七层模型
- HTTP状态码
- String/StringBuffer/StringBuilder
常考算法
- 字符串第一个不重复字符
- 数组最大差值
- 二叉树层序打印
- TopK
- 大数相加
- 链表相交判断
- 奇偶数排序
常考逻辑题
- 小白鼠试毒问题
- 水桶问题
- 取石子必胜策略
- 称重问题
常考场景题
- 怎么测试微信搜索功能
- 怎么测试微信红包
- 怎么测试朋友圈发布视频
- APP视频加载不出来怎么定位
面经五:字节暑期实习测开(小红书)
来源: 小红书
一、计算机网络 & HTTP 基础
- POST 请求和 GET 请求有什么差异?
- 业务中哪些接口用 GET、哪些用 POST?为什么这么设计?
- TCP 和 UDP 的区别
- HTTP1.1、HTTP2、HTTP3 最本质的区别
- HTTPS 的 TLS 加密、证书校验流程
- TCP 滑动窗口是什么概念?本质解决什么问题?
- 常见 HTTP 状态码
- 如果出现丢包问题,怎么排查?
二、接口测试 & 幂等性
- 黑盒测试的功能点有哪些?功能点背后的接口你知道吗?
- 本质测的是 Web 页面吗?
- 测过哪些接口?每个接口的功能和参数是什么?
- 写操作怎么保证幂等性?如果网络重放、重复请求怎么办?
- 用订单号做唯一标识,高并发下系统怎么设计保证只处理一次?
三、数据库 & 索引
- 数据库里保证唯一的键值标准名字是什么?
- 唯一索引和主键之间的区别是什么?
- 唯一索引的底层原理、数据结构是什么?
- 简单讲一下 B+ 树是什么?
- 为什么 B+ 树适合做唯一索引、做唯一性校验效率高?
- B+ 树具体是怎么做唯一性检查的?插入时怎么发现重复?
四、科研项目相关
- 讲一个做得比较好的项目,说明项目内容、贡献、难点挑战、怎么克服的
- 这个项目的实际价值
- 项目里某个技术的本质
- 优化过程中会遇到局部最优解问题吗?怎么解决?
五、AI 工具使用
- 现在用 AI 会做哪些工作?
- 最近一次用 AI 写代码是为了完成什么目标?prompt 怎么写的?
- 具体是什么问题现象?怎么让 AI 帮你定位 bug?
- 科研大概百分之多少时间花在和 GPT 互动?
- 有没有用 GPT 生成论文思路、研究方向?效果怎么样?
六、测试开发理解
- 对测试开发的理解
- 为什么想面测试开发
- AI 时代下测试开发会发生什么变化
- AI 可能替代很多测试工作,你觉得人不可替代的部分是什么?
七、手撕代码
- 回文