|
基本信息面试流程 一面通过 → 二面通知 → 参加视频面试 → 项目深度追问 → 系统设计题 → 进阶技术问答 → 反问环节 → 退场。 面试问题及参考回答
一、项目深挖(核心)
1. 请详细介绍你的核心项目,你在其中的角色和贡献。 参考回答:(采用STAR原则)
2. 项目中遇到过什么技术难题?如何解决的? 参考回答:在[项目名称]中,我遇到了[具体问题]。我通过[查阅资料/方案对比/多轮实验],最终采用[解决方案],使[指标]提升了XX%。
3. 项目上线后的QPS是多少?做过哪些性能优化? 参考回答:项目上线后,峰值QPS约为[具体数值]。优化措施包括:数据库索引优化、Redis缓存、SQL优化、代码层面优化等。
二、系统设计题
4. 如何设计一个秒杀系统? 参考回答:秒杀系统设计要点: 前端限流:按钮置灰、验证码 网关限流:令牌桶算法、Nginx限流 Redis预扣库存:Lua脚本原子操作 消息队列削峰:异步处理订单 数据库乐观锁:防止超卖
5. 如何设计一个短视频推荐系统? 参考回答:推荐系统设计要点: 数据采集:用户行为日志、视频信息 召回层:协同过滤、向量召回 排序层:CTR预估模型 重排层:多样性、去重 AB测试:效果评估
三、数据库
6. MySQL的索引结构为什么使用B+树? 参考回答:B+树非叶子节点只存键值,树高更低;叶子节点形成链表,支持范围查询;磁盘IO效率高。
7. 什么是索引失效?有哪些常见场景? 参考回答:索引失效的常见场景: 在索引列上使用函数 使用LIKE '%keyword' 数据类型隐式转换 使用OR连接条件 使用!=或<>操作符
|