# 一些碰到的面试问题

> 摘要

发布：2025-11-20 | 分类：大杂烩


## MySQL 优化查询

1.  通过索引查询。假如我们没有添加索引，那么在查询时就会触发[全表扫描](https://zhida.zhihu.com/search?content_id=163404637&content_type=Article&match_order=1&q=%E5%85%A8%E8%A1%A8%E6%89%AB%E6%8F%8F&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3NjM3NzkyNjQsInEiOiLlhajooajmiavmj48iLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoxNjM0MDQ2MzcsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.DsAqMxI48m3Ps6Ev-pSdn2SdRpJKJShN-YByf4WapPE&zhida_source=entity)，因此查询的数据就会很多，并且查询效率会很低，
2.  尽可能使用主键查询，而非其他索引查询。因为主键查询不会触发[回表查询](https://zhida.zhihu.com/search?content_id=163404637&content_type=Article&match_order=1&q=%E5%9B%9E%E8%A1%A8%E6%9F%A5%E8%AF%A2&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3NjM3NzkyNjQsInEiOiLlm57ooajmn6Xor6IiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoxNjM0MDQ2MzcsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.kkI6DvxbQkveRUWZwXmkPhX6VZhtcuQ2zQitNAE5gk8&zhida_source=entity)，因此节省了一部分时间，变相的提高了查询的性能。
3.  查询具体的字段而非全部字段：要尽量避免使用 select*，而是查询需要的字段，这样可以提升速度，以及减少网络传输的带宽压力。
4.  优化子查询：尽量使用 Join 语句来替代子查询。因为子查询是嵌套查询，而嵌套查询会新创建一张临时表，而临时表的创建与销毁会占用一定的系统资源以及花费一定的时间，但 Join 语句并不会创建临时表，因此性能会更高。
5.  此外，还有数据库结构优化，包括将数据的长度设置为最小，使用最简单的数据类型，减少 text 类型，以及分表等。

### Python 中的“容器”

列表、元组、字符串、集合、字典。

### 列表和元组的区别：

列表和元组，本质上就是一个可以存放**任意数据类型**的有序集合。

区别：

- **列表是动态的**，长度大小不固定，可以增删改查（**mutable**）。
- **元组是静态的**，长度大小固定，一旦确定，只改查，不可增删改（**immutable）。**
- 对于包含同样元素的列表和元组，在存储空间上，元组比列表少了16字节。这是为什么
  事实上，由于列表是动态的，所以它需要存储指针，来指向对应的元素（上述例子中，对于 int 型，8 字节）。另外，由于列表可变，所以需要额外存储已经分配的长度大小（8 字节），这样才可以实时追踪列表空间的使用情况，当空间不足时，及时分配额外空间。
- 效率方面：元组内存和创建时间等性能优于列表，但是元组不可变，这是最大的特点。

1. Java 里的反射
2. 软件测试的测试方法
3. 测试用例包括哪些
4. 堆和栈的介绍
5. 软件测试的工具

### 面对 HR 或者其他 Level 比较低的面试官时

1. **能不能谈谈你作为一个公司老员工对公司的感受?** (这个问题比较容易回答，不会让面试官陷入无话可说的尴尬境地。另外，从面试官的回答中你可以加深对这个公司的了解，让你更加清楚这个公司到底是不是你想的那样或者说你是否能适应这个公司的文化。除此之外，这样的问题在某种程度上还可以拉进你与面试官的距离。)
2. **能不能问一下，你当时因为什么原因选择加入这家公司的呢或者说这家公司有哪些地方吸引你?有什么地方你觉得还不太好或者可以继续完善吗？** （类似第一个问题，都是问面试官个人对于公司的看法，）
3. **我觉得我这次表现的不是太好，你有什么建议或者评价给我吗？**(这个是我个人常问的。我觉得说自己表现不好只是这个语境需要这样来说，这样可以显的你比较谦虚好学上进。不过，也有人认为不要问评价，避免面试官尴尬。)
4. **接下来我会有一段空档期，有什么值得注意或者建议学习的吗？** （体现出你对工作比较上心，自助学习意识比较强。）
5. **这个岗位为什么还在招人？** (岗位真实性和价值咨询)
6. **大概什么时候能给我回复呢？** (终面的时候，如果面试官没有说的话，可以问一下)
7. **如果通过的话，下一面会在什么时候举行，什么形式？** （对下一面具体情况的询问，做到心里有数）
8. …

### 面对部门领导

1. **部门的主要人员分配以及对应的主要工作能简单介绍一下吗？**
2. **未来如果我要加入这个团队，你对我的期望是什么？** （部门领导一般情况下是你的直属上级了，你以后和他打交道的机会应该是最多的。你问这个问题，会让他感觉你是一个对他的部门比较上心，比较有团体意识，并且愿意倾听的候选人。）
3. **公司对新入职的员工的培养机制是什么样的呢？** （正规的公司一般都有培养机制，提前问一下是对你自己的负责也会显的你比较上心）
4. **以您来看，这个岗位未来在公司内部的发展如何？** (在我看来，问这个问题也是对你自己的负责吧，谁不想发展前景更好的岗位呢？)
5. **团队现在面临的最大挑战是什么？** (这样的问题不会暴露你对公司的不了解，并且也能让你对未来工作的挑战或困难有一个提前的预期。)

### 面对 Level 比较高的(比如总裁,老板)

1. **贵公司的发展目标和方向是什么？** （看下公司的发展是否满足自己的期望）
2. **与同行业的竞争者相比，贵公司的核心竞争优势在什么地方？** （充分了解自己的优势和劣势）
3. **公司现在面临的最大挑战是什么？**
   ![](附件/一些碰到的面试问题.md_附件/一些碰到的面试问题-202511251602.png)
