腾讯IEG春招技术面二面面经
《面试题目》
技术八股考察
- 在公司的持久化方法中,你了解AOF和ROF这些原理吗?
- 你对MySQL的原理了解吗?比如回表是什么意思?
- 对于TCP协议中的黏包和滑动窗口机制,你有何了解?
- 操作系统层面的内存管理中,虚拟地址和物理地址有何区别?
- 是否使用过top命令查看内存占用情况,能否区分虚拟地址和物理地址?
- 解释什么是死锁以及如何避免?读写锁的特点是什么?
- 分布式原理:强同步、常同步、异步同步、分布式一致性协议、两阶段提交协议。
- 如何在分布式系统中保证全局一致性或通过分布式锁实现原子性操作?
AI与大模型相关
- AI Agent的工作原理是什么?
- 与大模型通信的部分实现逻辑及系统提示词/助手提示词的理解。
- 大模型的历史记录是如何实现的?
- 如何进行提示词压缩以降低Token消耗?
项目与实习经历
- 数据库服务平台建设中的难点及解决思路。
- 如何优化数据库查询性能?是否有自然语言生成查询语句的开发经验?
- RAG中的向量库技术及搜索服务实现。
- 数据库同步技术(哨兵/分片)、Raft协议的应用。
《参考解析》
- MySQL回表:指在非聚簇索引(二级索引)查询时,如果查询的列不在索引树中,需要根据主键ID回到聚簇索引树中获取完整行数据的过程。
- TCP黏包:因TCP是流式协议,接收方无法区分数据包界限。解决方法包括定长报文、加特殊分隔符(如\n)、或在消息头中添加长度字段。
- 死锁与避免:死锁是多个进程争夺资源导致无限等待。避免方法:破坏死锁四个必要条件(互斥、持有并等待、不可剥夺、循环等待),如按顺序加锁、使用tryLock超时机制。
- 分布式一致性(2PC/Raft):2PC将提交分为准备和提交阶段,存在单点故障风险;Raft是强一致性共识算法,通过Leader复制日志来保证集群数据同步。
- RAG向量库:通过Embedding模型将文本转化为向量存储在Milvus或Pinecone中,通过相似度计算(余弦相似度等)检索相关上下文并喂给大模型以减少幻觉。