面试面到了童年回忆

相信不少00后应该都听说或者是玩过赛尔号和摩尔庄园,有幸约到了这家公司面试
📍面试公司:淘米
🕐面试时间:03/16
💻面试岗位:golang服务器开发
❓面试问题:
1. Go 语言中 channel 的底层数据结构是什么样的?
2. channel 为什么要这样设计?解决了什么问题?
3. 有缓冲 channel 和无缓冲 channel 的区别是什么?
4. 有缓冲和无缓冲 channel 分别对应哪些应用场景?
5. 如何用 channel 设计一个生产者消费者模型?
6. Go 语言中的锁你了解多少?
7. Go 里排他锁和读写锁的区别是什么?
8. Go 中 map 的底层实现原理是什么?
9. Go 的 map 是并发安全的吗?
10. 怎么让 map 变成并发安全?
11. Go 的 map 是有序的吗?
12. 你怎么理解 goroutine?
13. goroutine 和线程有什么区别?
14. 为什么 TCP 连接需要三次握手?
15. 为什么要有 TIME_WAIT 状态?
16. TIME_WAIT 太多会有什么问题,怎么解决?
17. Redis 用过吗?有哪几种数据结构?
18. 平时用 Redis 来做什么?
19. 分布式锁怎么设计?
20. Go 语言中怎么使用分布式锁?

面试感想:
感谢童年善待了我,问题都很简单,也是当场一面过了,然后让HR跟我约二面,面试官是一个很和蔼的人,一直笑眯眯的很有亲和力
#发面经攒人品#
全部评论
赛尔号一二都不错
1 回复 分享
发布于 03-16 14:34 河北
赛尔号yyds
1 回复 分享
发布于 03-16 14:34 河北
淘米面经mark
1 回复 分享
发布于 03-16 14:25 河北
佬,你是在哪投的,boss吗
点赞 回复 分享
发布于 03-17 13:32 湖南
没有算法吗
点赞 回复 分享
发布于 03-17 13:28 河南
点赞 回复 分享
发布于 03-16 21:00 江西

相关推荐

04-28 22:40
门头沟学院 C++
1、工具调用失败或 LLM 幻觉,怎么办?"我会把这个问题拆成两个子问题,因为工具失败和 LLM 幻觉是完全不同的故障模式,解法不能混用。工具失败有明确信号——异常、超时、错误码——我的处理是三层:先用指数退避重试,重试前让 LLM 反思上次参数哪里出了问题,相当于让模型自我纠错;重试耗尽后降级到备用逻辑,比如换一个工具或走规则引擎;如果涉及写操作,每次执行前必须记 Checkpoint,失败后能回滚到上一个干净状态,且写操作要做幂等,防止重放。LLM 幻觉更难检测,因为没有报错。我的做法是:对关键推理结果做 Self-consistency 验证,同一问题采样三次,少数服从多数;对外部事实型问题,用第二个模型做交叉 Fact-check;对于高风险操作,强制加 Human-in-the-loop 确认节点,不管模型多确定都要过人工。生产上我会为每个 Agent 实例暴露健康度指标:工具失败率、幻觉拦截率、平均重试次数,超阈值自动熔断并告警。这样从 demo 到上线,容错体系才是完整的。"2、Agent 的 Memory 怎么设计?"我把 Agent Memory 设计成三层,对应人类记忆的三种形式。第一层是 Working Memory,就是当前 LLM 的 Context Window,存当前任务的执行状态和工具调用历史。它的核心问题是容量管理——超出 window 时我不会直接截断,而是对老的消息做摘要压缩,保留语义但压缩 token。第二层是 Episodic Memory,存历史任务轨迹和用户偏好,用向量数据库按相似度检索。写入是任务结束后异步进行,不阻塞主链路。这层需要遗忘机制——我用一个重要性评分:访问频率乘以时效性衰减再乘以任务相关度,低分记录定期压缩,避免向量库无限膨胀。第三层是 Semantic Memory,存领域知识。这里有一个选型决策点:非结构化知识用向量检索,强结构化的多跳实体关系用 Knowledge Graph——向量库做多跳关系推理效率很差,这是实际踩过的坑。多 Agent 场景还要解决共享 Memory 的一致性问题:写操作加版本号做乐观锁,读操作做版本校验,防止多个 Agent 并发写入产生脏数据。"
查看2道真题和解析
点赞 评论 收藏
分享
评论
14
16
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务