Skip to content

字节跳动测试开发面经


面经一:字节跳动测试开发--二面

来源: https://www.nowcoder.com/discuss/351722

  1. 自我介绍
  2. 项目介绍
  3. 重写与重载
  4. Java集合
  5. HashMap和Hashtable的区别
  6. ArrayList和LinkedList的区别
  7. Map的put方法
  8. 数据库查找
  9. 动态规划的题
  10. 对测开的理解
  11. 冲突解决办法

面经二:字节跳动头条研发---测试开发一面

来源: https://www.nowcoder.com/discuss/351378

  1. 自我介绍
  2. HTTP和HTTPS的区别
  3. HTTP状态码
  4. HTTP劫持
  5. URL相应(响应过程)
  6. 线程与进程的区别
  7. 线程间通信方式
  8. 实现多线程的方式
  9. 西瓜视频的用例测试
  10. 兼容性测试(软件、硬件、网络)
  11. 抖音有哪些需要改进的地方?刷不出来时怎么定位测试?
  12. DNS
  13. HTTP和TCP/IP分别在哪一层
  14. sleep()和wait()方法的区别
  15. 深拷贝和浅拷贝
  16. JDK、JRE
  17. 算法:找出字符串中第一个不重复的字符

面经三:字节测开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

一面

  1. 项目介绍,细节问题
  2. 网络七层有哪些,TCP、UDP、ARP在哪一层,解释DNS
  3. TCP和UDP的特点,什么是无效连接
  4. Tomcat介绍
  5. 软件的生命周期,产品的生命周期
  6. 进程和线程的区别,什么是僵尸进程
  7. Linux命令:pwd、ps、|、grep(含/不含关键字)、du、df
  8. 算法:手撕TopK,时间复杂度及优化方案
  9. 八个球找一个重量是其他1.5倍
  10. 怎么测试微信的搜索功能

二面

  1. DNS是啥,浏览器输入域名发生了什么
  2. 服务器传图片到浏览器用什么协议,怎么渲染
  3. if(a==1&&a==2&&a==3)什么时候返回true(JS)
  4. JS中的闭包是啥
  5. 如果UI和开发消极怠工,怎么办
  6. 如果开发认为测试出来的问题不是他的问题,怎么办
  7. 写个单例,什么情况下会用到
  8. 测试朋友圈发布视频功能
  9. 如果有一部分用户反馈APP视频加载不出来,从哪些方面定位
  10. Android Activity的生命周期,哪些情况下会发生crash
  11. 在一个产品周期中,怎么安排测试工作
  12. 为什么选择测试,对测试工作的期望

三面

  1. 项目细节,实习中的工作细节
  2. 项目中遇到的最难的问题及解决方法
  3. 小程序开发用到了哪些接口
  4. 如果要开发一个新小程序要怎么做
  5. Linux:输出两个文本中的相同内容/不同内容
  6. 怎么测试小程序的并发性
  7. 微信红包功能怎么测试
  8. 算法:实现抢红包随机获取金额的过程
  9. 逻辑题:五升桶、六升桶得到三升水
  10. 逻辑题:10个石头,每人每次拿1-2个,轮流拿,最后一个拿的人输,必赢方案
  11. Java GC(垃圾回收)
  12. 抽象类和接口的区别
  13. 线程的实现方式有哪些

高频题目汇总

必问八股

  • HashMap vs Hashtable
  • ArrayList vs LinkedList
  • 重写 vs 重载
  • TCP vs UDP
  • 进程 vs 线程
  • OSI七层模型
  • HTTP状态码
  • String/StringBuffer/StringBuilder

常考算法

  • 字符串第一个不重复字符
  • 数组最大差值
  • 二叉树层序打印
  • TopK
  • 大数相加
  • 链表相交判断
  • 奇偶数排序

常考逻辑题

  • 小白鼠试毒问题
  • 水桶问题
  • 取石子必胜策略
  • 称重问题

常考场景题

  • 怎么测试微信搜索功能
  • 怎么测试微信红包
  • 怎么测试朋友圈发布视频
  • APP视频加载不出来怎么定位

面经五:字节暑期实习测开(小红书)

来源: 小红书

一、计算机网络 & HTTP 基础

  1. POST 请求和 GET 请求有什么差异?
  2. 业务中哪些接口用 GET、哪些用 POST?为什么这么设计?
  3. TCP 和 UDP 的区别
  4. HTTP1.1、HTTP2、HTTP3 最本质的区别
  5. HTTPS 的 TLS 加密、证书校验流程
  6. TCP 滑动窗口是什么概念?本质解决什么问题?
  7. 常见 HTTP 状态码
  8. 如果出现丢包问题,怎么排查?

二、接口测试 & 幂等性

  1. 黑盒测试的功能点有哪些?功能点背后的接口你知道吗?
  2. 本质测的是 Web 页面吗?
  3. 测过哪些接口?每个接口的功能和参数是什么?
  4. 写操作怎么保证幂等性?如果网络重放、重复请求怎么办?
  5. 用订单号做唯一标识,高并发下系统怎么设计保证只处理一次?

三、数据库 & 索引

  1. 数据库里保证唯一的键值标准名字是什么?
  2. 唯一索引和主键之间的区别是什么?
  3. 唯一索引的底层原理、数据结构是什么?
  4. 简单讲一下 B+ 树是什么?
  5. 为什么 B+ 树适合做唯一索引、做唯一性校验效率高?
  6. B+ 树具体是怎么做唯一性检查的?插入时怎么发现重复?

四、科研项目相关

  1. 讲一个做得比较好的项目,说明项目内容、贡献、难点挑战、怎么克服的
  2. 这个项目的实际价值
  3. 项目里某个技术的本质
  4. 优化过程中会遇到局部最优解问题吗?怎么解决?

五、AI 工具使用

  1. 现在用 AI 会做哪些工作?
  2. 最近一次用 AI 写代码是为了完成什么目标?prompt 怎么写的?
  3. 具体是什么问题现象?怎么让 AI 帮你定位 bug?
  4. 科研大概百分之多少时间花在和 GPT 互动?
  5. 有没有用 GPT 生成论文思路、研究方向?效果怎么样?

六、测试开发理解

  1. 对测试开发的理解
  2. 为什么想面测试开发
  3. AI 时代下测试开发会发生什么变化
  4. AI 可能替代很多测试工作,你觉得人不可替代的部分是什么?

七、手撕代码

  1. 回文

面经六:字节测试开发三面(牛客 171892)

来源: https://www.nowcoder.com/discuss/171892

一面(50min)

  1. 自我介绍,熟悉什么语言
  2. 深复制和浅复制区别
  3. 虚函数和纯虚函数区别
  4. TCP 三次握手四次挥手
  5. HTTP 与 HTTPS 区别
  6. 如何测试用户登录界面
  7. 编程题:给一个数组 a=[2,-2,3,3,6,-9,7],输出正负交替出现的数组,多的那一类放后面
  8. 对上面写的函数如何设计测试用例

二面(40min)

  1. 自我介绍 + 项目介绍
  2. 聊项目(信息隐藏方向,面试官对 hash 算法感兴趣,问了很多)
  3. 编程题:给定数组和目标值 k,输出和为 k 的两个数的位置
    • 例 a=[2,7,3,5,11] k=9 → 输出 0 1
  4. 傅里叶变换(通信方向)
  5. 分析少量联通用户反映刷抖音无法显示的原因
  6. 计算机网络相关问题

三面(40min)

  1. 用 C 语言写宏定义条件编译
  2. 什么时候用宏定义,条件编译?
  3. 浏览器输入网址到显示信息,经过的过程,用到哪些协议
  4. DNS 域名查询的过程
  5. 如何测试抖音点赞功能
  6. 测试中如何模拟网络环境不好的条件

面经七:字节测试开发实习一二三面(牛客 399257)

来源: https://www.nowcoder.com/discuss/399257

一面(1h+)

  1. 自我介绍 + 项目介绍
  2. 对测试开发了解多少
  3. Java 为什么是跨平台的语言?过程是什么?
  4. 计算机网络分层结构,每层协议
  5. 客户端收到服务器消息特别慢,可能原因?
  6. HTTP 用什么协议传输?DNS 呢?
  7. 表连接、自然连接、笛卡尔积是什么连接
  8. 数据库底层原理
  9. 索引有什么用?索引和 primary key 的关系?什么时候索引不好用?
  10. 面向对象三个特征
  11. 多态的底层实现原理
  12. 关系型数据库 vs 非关系型数据库
  13. 线程池了解吗?有哪些线程池?
  14. 实现线程的方法
  15. 进程的状态和转换
  16. Java 堆和栈的区别
  17. 设计模式了解吗?写一个(双安全懒汉)
  18. 排序算法,哪些稳定,什么是稳定性
  19. Hash 的原理,HashMap 和 Hashtable 区别
  20. 编程题:从后往前每 k 个链表翻转,不足 k 个不变

二面(1h)

  1. 项目介绍
  2. 了解什么测试方法?分别介绍
  3. 平时怎么测试自己的项目
  4. 测试微信朋友圈功能
  5. HTTP 和 HTTPS 的区别
  6. 进程间通信方式
  7. Linux 常用命令
  8. 数据库增删改查
  9. SQL:查询学生表中成绩大于80的学生姓名和课程名
  10. 如何设计测试用例

三面

  1. 聊项目
  2. 对测试的理解
  3. 为什么做测试开发
  4. 职业规划

面经八:字节测开一二三面+HR面(牛客 587750)

来源: https://ac.nowcoder.com/discuss/587750

一面(1.11,60min)

  1. 自我介绍
  2. 看你是科班出身,工作内容有50%是业务可以接受吗?
  3. C、C++、Python 最熟悉哪个?
  4. 虚函数、纯虚函数
  5. C 数组退化
  6. 面试官手写代码让分析结果
  7. C 和 C++ 的主要区别

二面

  1. 自我介绍 + 项目
  2. TCP 三次握手为什么不能两次?
  3. UDP 和 TCP 区别
  4. HTTP 和 HTTPS 区别
  5. HTTPS 加密过程
  6. 浏览器输入 URL 后发生什么
  7. DNS 解析过程
  8. 如何测试登录功能
  9. 黑盒测试方法
  10. 项目中遇到的困难

三面

  1. 项目深挖
  2. 对测开的看法
  3. 如何学习新技术
  4. 职业规划

面经九:字节测开连续三面(牛客 289856)

来源: https://www.nowcoder.com/discuss/289856

一面(90min)

  1. 自我介绍 + 实习项目深挖
    • 实习内容是什么
    • 印象最深的 bug
    • 开发的工具怎么做的
    • ffmpeg 可以做什么
  2. HTTP 和 HTTPS 区别
  3. Java 内存模型
  4. Java 垃圾回收机制
  5. Java 抽象类和接口区别
  6. 浏览器输入 URL 后发生了什么
  7. 为什么喜欢用 Go,优势在哪
  8. Go 的锁机制
  9. 用例设计:微信点赞
  10. 手撕代码:求数组中出现次数最多且最大的数

二面(60min)

  1. 自我介绍 + 实习内容
    • 实习最大的收获
    • 能来实习不
  2. TCP 三次握手和四次挥手
  3. TCP 和 UDP 区别
  4. GET 和 POST 区别
  5. Go 垃圾回收机制
  6. Go init 过程
  7. 用例设计:百度登录功能
  8. 手撕代码
    • 有序数组查找目标数字的起始和结束位置
    • 设计一个工具类,把 POST 请求封装起来供别人使用(Python)

三面

  1. 实习期间干了什么
  2. 用例运行的平台,如果让你设计会考虑哪些点
  3. Go 内存模型
  4. Go 中 defer 的作用

Powered by VitePress

🔒 需要口令解锁

关注微信公众号 测开阿Duang
回复关键词 「密码」 获取口令

公众号二维码

解锁后本浏览器长期有效