字节测开面经
1. 自我介绍一下。
2. 你是哪里人?
3. 聊聊简历里的某个项目,它的具体业务是什么?你主要负责测试哪些内容和模块?
4. 你觉得你负责的这些模块(比如数据连接管理、用户管理、权限管理)中,测试的风险点有哪些?
5. Python 面向对象的三个基本特征是啥?
6. Python 的深拷贝和浅拷贝有什么区别?
7. Python 的列表和元组有什么不同?
8. Python 的字典有什么特点?
9. 了解 Python 的装饰器吗?是用来干嘛的?
10. Python 里的 `__init__` 和 `__new__` 方法有什么区别?
11. 了解 Python 的生成器吗?
12. Python 里的迭代器是干什么用的?
13. Python 里的 `self` 关键字是做什么的?
14. 了解 Python 的序列化和反序列化吗?
15. 数据结构里的链表了解吗?
16. 给定一个单向链表的头指针,怎么找到倒数第五个节点的值?
17. 了解排序算法吗?哪个排序算法比较快?
18. 为什么快速排序的平均时间复杂度是 O(n*log n)?
19. 栈和队列有什么特点?分别在什么场景下使用?
20. 了解二叉树吗?有哪几种遍历方式?
21. 了解红黑树吗?
22. 什么是数据库索引?
23. 为什么用索引能加快查询速度?
24. B+ 树是什么?
25. 数据库事务的 ACID 指的是什么?
26. 数据库的 Join 有几种?
27. 用手机打开一个网页,到内容完全显示出来,这个过程涉及了哪些关键技术?
28. Python 会发生内存泄漏吗?怎么避免?
29. 进程和线程的基本概念和区别是什么?
30. 手撕:给定一个驼峰写法的字符串,比如 `AaADbDEeEbcvQv`,过滤掉像 `AaA`、`vQv` 这种样式,最后输出 `bc`。
31. 场景题:为微信扫码支付功能设计测试用例。
32. 智力题:你有一根金条,要给一个为你工作 7 天的工人发工资,工资日结,每天都要付当天的工钱。你只能切两次金条,怎么分?