T0 大厂 腾讯 一二三面
腾讯 TEG AI Infra 一二三面
腾讯 AI Infra 一二三面面试真题,涵盖算子优化等方向
算子优化
一面
项目经历
- 介绍项目相关经验
数据库
- 聚合函数与 GROUP BY 的底层实现方式
- JOIN 操作的实现方法及优化策略(索引优化、哈希表优化)
- 哈希 JOIN 中若一侧表远大于另一侧,如何进行优化
- 数据库优化器的作用及其实现原理
- EXPLAIN 语句的执行机制
- Buffer Pool 的设计与实现
- 脏页的管理策略及数据丢失问题的解决方案(redo log)
- LRU 算法的缺陷(预读失效、缓存污染)及改进方案
- 并发 B+ 树的实现机制
- 火山模型与其他执行模型(物化模型)的比较
- 行存储与列存储的适用场景分析
- 事务与 MVCC 的基本概念
- 从单机数据库扩展为分布式数据库的设计思路(数据分片、元数据管理、算子执行)
- 哈希分片与范围分片的区别
- 元数据节点的高可用方案(主从复制、分布式一致性协议)
- MySQL 主从复制中如何保证强一致性
SELECT * FROM table的执行计划(Project 投影算子 + TableScan 全表扫描算子)- 分布式场景下需要增加哪些算子来实现跨节点查询
- 带 WHERE 条件和 GROUP BY COUNT 的分布式执行计划设计
操作系统
- Linux 系统的启动过程
- 中断处理模块的实现机制
- CPU 如何处理多个并发中断
- 进程与线程(包括用户态线程)的区别
- 用户态线程的调度方式及可能存在的问题
- 用户态到内核态的切换过程
编程题
- 实现基于内存的文件系统(字典树变体)
二面
项目经历
- 介绍项目分工与个人承担的工作
- 基于 MiniOb 阐述一条 SQL 查询的完整执行流程
- 查询过程中最影响性能的关键环节
- 项目中是否有优化器的设计
- 火山模型与 Pipeline 模型的关系
- 突破现有执行模型瓶颈的优化方向(CRTP 减少虚函数开销、物化模型批量返回数据)
- OceanBase 项目的优缺点分析
- 介绍 xv6 项目及其带来的收益
编程题
- 快慢指针找链表中点 + 反转链表
三面
项目经历
- 介绍简历项目中个人负责的部分及分工情况
- 团队协作中遇到分歧时如何处理
编程题
- 将字符串中的大写字母转为小写,并按字典序排序(不使用库函数)