哈饥米腾讯PCG应用效能技术

被 PCG 同一个部门捞了两次,第一次是后台开发,第二次是运营开发,应该是 KPI,综合了一下两次的面经。

Go#

  1. errgroup 和 waitgroup 区别。
  2. errgroup 如果子协程抛出错误,其他协程不想取消怎么办?比如定时扫描任务一个失败,其他任务应该取消吗?
  3. GMP 的 P 在没有主动设置的情况下,它的数量是等于多少的?

设计与架构#

  1. 什么是策略模式?
  2. 你的服务瓶颈应该在哪里,怎么判断和扩容?

LLM 与 Agent#

  1. LLM 自己死循环了怎么解决?
  2. LLM 会反复调用同一个工具,这种死循环你要怎么去避免?
  3. 有的时候 LLM 可能做了一些危险的操作,要怎么去做一个人工介入/确认的功能呢?
  4. Function call 的能力和 MCP 这两个有什么区别?
  5. RAG 文档切分的方式。
  6. 假如向量数据库现在用户量比较大,用户会频繁地更新这个知识库里面的文档。那你要怎么去做这个数据库的索引?
  7. 如果工具特别多,怎么避免把上下文挤爆?

MySQL#

  1. MySQL 死锁的场景。

网络#

  1. SSE 的原理,如果不用 SSE 还有什么方法能立即推送?

手撕#

  1. 206。
  2. 198。
  3. 多协程任务调度器。
  4. 10 个数求平方,同时最多 2 个协程运行,收集所有结果到数组。