后端开发工程师一面面经
完整信息
本篇目录
字节一面(Trae)
流程:自我介绍 → 实习项目深挖(知识库平台 + API-K 鉴权 + 缓存方案)→ Redis 基础 → 用户与组织结构 → 热门文档推荐 → MySQL → HTTPS → 代码测试(SQL + 链表回文)→ 反问。
面试官问题
一、实习项目(架构与功能)
简单自我介绍一下。
你在实习公司其实主要是做知识管理(知识库管理)是吧?
这个项目的总体架构是怎么样的?
你做的功能有哪些呢?
你那个 API-Key 管理是什么意思?
用户在 Coze 这种平台上可以捏一个 Agent,知识库从你们那边获取,那他要获取知识库本身需要通过工具来获取,这个工具封装谁做的?
二、鉴权机制
鉴权方式还有哪一些?
JWT 的结构是怎么样的?为什么 JWT 你觉得它是安全的?
OAuth 的流程?
你做的这个 API 管理,是先创建一个新的(API-Key),然后再做鉴权是吗?
三、QPS 与缓存方案
QPS 多高?
如果我想让你支持千万级 QPS,你有哪些方案?
我问的是固定的,如果(请求)不一样你怎么做缓存呢?
你刚才说引入了 Redis 缓存实现了热门文档统计与查询,将 MySQL 压力缓解,是这么回事吗?
对于 API-Key 管理这边会多次查数据库,你打算用缓存,怎么使用这个缓存?
用户都有一个 API-Key 吗?是用户概念还是公司概念?
你这个方案会不会导致内存爆掉?
四、Redis 基础
Redis 的数据类型有哪些?
Hash 的 Key 数量多和少对存储有影响吗?
Redis 查询比较慢,你有什么方案分析?
五、用户与组织结构
简单介绍一下用户删除/组织结构这部分。
为什么公司的组织结构你们是怎么拿到的?
那为什么能够拿到对方公司的组织结构呢?
刚才说同步数据的时候也同步了组织结构,这句话怎么理解?
你不是说如果一个人离职了,他的一些权限会向上给到上一级负责人吗?这一块是怎么拿到这个数据的?
那这个(团队与管理员的)关联表有关联搭建吗?
这个团队跟组织是没有关系的,是吧?
那你们为什么还要通过他们的业务信息跟组织(关联)呢?
六、热门文档推荐
这个热门文档推荐大概是怎么做的?
你说的只是文档(不分片),他其实不是分片的是吧?
那这个加一(浏览量加一)是?
你所谓的浏览是要点进去是吧?
那这个地方你是怎么确定的(实现浏览量加一的逻辑)?
你写的是啥(往数据库同步怎么写)?
那 zset 的话是不是有可能也很大(大 Key)?
如果慢慢的一天打开了 100 万,不也是会有 100 万吗?
那 zset 为什么要过期?
你们捞出来的时候是捞 20 条,但推荐是 8 条,20 条直接 order by?
但是有些文章已经被删除了?
现在这套方案涉及 Redis 往数据库同步,又涉及数据库往 Redis 同步,有没有别的方案可以做得更好一点?还要保证数据不丢失、准确不丢失。
那你如果是以 Redis 为主的话,你怎么保证这次的量(更新)特别多呢?同时写呢?
你把什么消息队列来把 Redis 数据往数据库里导?
七、MySQL
MySQL 你了解哪些存储引擎?
在 InnoDB 的存储引擎下,有哪一些行级别的锁?
想加一把排他锁可以用什么命令?
快照读和当前读有什么区别?
快照读底层的逻辑?
八、网络
HTTPS 的建立过程是怎么样的?
九、代码测试
一道简单的 SQL 题:有一张成绩表,有学生 id、课程 id、成绩,要求查询至少两门课程及格的学生学号。直接写 SQL。
(另一个算法题)判断链表是否回文,说一下思路并实现。
反问
您所在小组大概是做什么业务的?(面试官回答)做 Trae 的,Trae 是字节做 AI 代码(AI Coding)的。
您认为 Trae 跟像国外的一些编程助手,核心的优势或不足能简单介绍一下吗?(面试官回答)未具体展开(仅简单应答)。
您怎么看编程助手对技术人员的提效以及替代近况?(面试官回答)需求量会先少,高级程序员可能受影响多一点。以前大型项目是高级程序员出架构方案、中级程序员去研发,现在随着能力提升可能他自己一个人就干了。短期完全替代不可能,因为模型还没发展到那种程度。
阿里校招内推码:2T4VR26T
本篇目录
- 01
简单自我介绍一下。
- 02
这个项目的总体架构是怎么样的?
- 03
你做的功能有哪些呢?
- 04
你那个 API-Key 管理是什么意思?
- 05
用户在 Coze 这种平台上可以捏一个 Agent,知识库从你们那边获取,那他要获取知识库本身需要通过工具来获取,这个工具封装谁做的?
- 06
鉴权方式还有哪一些?
- 07
JWT 的结构是怎么样的?为什么 JWT 你觉得它是安全的?
- 08
OAuth 的流程?
- 09
你做的这个 API 管理,是先创建一个新的(API-Key),然后再做鉴权是吗?
- 10
QPS 多高?
- 11
如果我想让你支持千万级 QPS,你有哪些方案?
- 12
我问的是固定的,如果(请求)不一样你怎么做缓存呢?
- 13
你刚才说引入了 Redis 缓存实现了热门文档统计与查询,将 MySQL 压力缓解,是这么回事吗?
- 14
对于 API-Key 管理这边会多次查数据库,你打算用缓存,怎么使用这个缓存?
- 15
用户都有一个 API-Key 吗?是用户概念还是公司概念?
- 16
你这个方案会不会导致内存爆掉?
- 17
Redis 的数据类型有哪些?
- 18
Hash 的 Key 数量多和少对存储有影响吗?
- 19
Redis 查询比较慢,你有什么方案分析?
- 20
简单介绍一下用户删除/组织结构这部分。
- 21
为什么公司的组织结构你们是怎么拿到的?
- 22
那为什么能够拿到对方公司的组织结构呢?
- 23
刚才说同步数据的时候也同步了组织结构,这句话怎么理解?
- 24
你不是说如果一个人离职了,他的一些权限会向上给到上一级负责人吗?这一块是怎么拿到这个数据的?
- 25
那这个(团队与管理员的)关联表有关联搭建吗?
- 26
这个团队跟组织是没有关系的,是吧?
- 27
那你们为什么还要通过他们的业务信息跟组织(关联)呢?
- 28
这个热门文档推荐大概是怎么做的?
- 29
你说的只是文档(不分片),他其实不是分片的是吧?
- 30
那这个加一(浏览量加一)是?
- 31
你所谓的浏览是要点进去是吧?
- 32
那这个地方你是怎么确定的(实现浏览量加一的逻辑)?
- 33
你写的是啥(往数据库同步怎么写)?
- 34
那 zset 的话是不是有可能也很大(大 Key)?
- 35
如果慢慢的一天打开了 100 万,不也是会有 100 万吗?
- 36
那 zset 为什么要过期?
- 37
你们捞出来的时候是捞 20 条,但推荐是 8 条,20 条直接 order by?
- 38
但是有些文章已经被删除了?
- 39
现在这套方案涉及 Redis 往数据库同步,又涉及数据库往 Redis 同步,有没有别的方案可以做得更好一点?还要保证数据不丢失、准确不丢失。
- 40
你把什么消息队列来把 Redis 数据往数据库里导?
- 41
那你如果是以 Redis 为主的话,你怎么保证这次的量(更新)特别多呢?同时写呢?
- 42
MySQL 你了解哪些存储引擎?
- 43
在 InnoDB 的存储引擎下,有哪一些行级别的锁?
- 44
想加一把排他锁可以用什么命令?
- 45
快照读和当前读有什么区别?
- 46
快照读底层的逻辑?
- 47
HTTPS 的建立过程是怎么样的?
- 48
有一张成绩表,有学生 id、课程 id、成绩,要求查询至少两门课程及格的学生学号。直接写 SQL。
- 49
判断链表是否回文,说一下思路并实现。
- 50
您所在小组大概是做什么业务的?
- 51
您认为 Trae 跟像国外的一些编程助手,核心的优势或不足能简单介绍一下吗?
- 52
您怎么看编程助手对技术人员的提效以及替代近况?
