商米科技一面
📍面试公司:商米科技
🕐面试时间:05/20
💻面试岗位:golang后端开发
❓面试问题:
- Go 语言中 map 使用有哪些注意事项?
- Go map 底层数据结构是什么?
- map 桶元素增多时,溢出桶机制是怎样的?
- 时间复杂度变化?
- map 写入数据量超过初始容量时,什么时候触发扩容、怎么扩容(等量 / 双倍扩容)?
- 如何用 Go 实现流量控制、限流(上游 QPS 有限,控制并发不超上限)?
- Go 语言有哪些会导致内存泄漏的场景?除了 channel 未关闭还有哪些?高并发 & 接口性能优化类(读多写少资讯首页场景)
- 资讯首页读多写少、全国 / 全球用户访问,如何最大化保证接口响应速度、降低延迟?
- 从服务端、网络、架构层面,有哪些提速优化方案?
- 仅存标题、发布时间、ID 三个字段,还能从哪些维度做接口优化?
- 数据库层面怎么优化这类查询?索引如何设计?
- 数据库自增 ID 不想对外暴露,如何用 UUID / 外部 ID 替代?会有什么隐患(页分裂)?
- 用 Redis 实现两种消息消费模式:共享消费(一条消息只能被一个消费者拿走)、广播消费(每个消费者各自完整消费全量数据),分别用什么数据结构、怎么实现?
- 生产者如何保证多队列广播消费的数据完全一致?
- 遇到 Redis 实例重启、网络中断、密码配置错误等异常,怎么保证消费数据一致性不偏差?
- JWT 是分布式认证还是集中式认证?
- 多台服务器集群部署,不同服务节点能不能解析同一个 JWT 登录态?原因是什么?
- 你在智能招聘项目中负责哪一块?系统架构是自己设计还是他人设计你来实现?
- RAG 知识库已有检索能力,为什么还必须接入大模型,不能直接检索返回?
- RAG 系统服务端架构、面向 B 端还是 C 端?
- 如何验证 RAG 知识库回答结果的准确性?评测方式和指标提升情况?
- 百万级文档的知识库,如何做文档更新、删除?是全量重构还是增量更新?
- 了解 ECC 吗?
- 了解对称加密、非对称加密吗(AES 等)?
面试了半个小时,复盘发现都问了这么多的问题