面灵AI

腾讯WXG后端开发一二面面经

轮次
一面、二面
结果
OC
时间
2026-09
来源
牛客网

《面试题目》

  1. 请介绍实习经历。
  2. 如何实现 LRU 的变形题?
  3. 给定一个请求体,存在哪些网络安全漏洞?如何防止中间人攻击?
  4. 微信扫码支付中,用户、商家和微信服务器如何交互?
  5. 用户加载收款码后断网,还能否完成扣款?
  6. 二维码或一维码的本质是什么?它们是动态还是固定的?
  7. 为什么收款码和付款码一个动态、一个固定?动态收款码如何绑定固定用户?
  8. 商家和用户都断网时能否完成支付?从产品体验上应如何设计?
  9. 平时如何使用 AI 工具?
  10. 学过哪些专业课程?如何学习其中一门课程?
  11. MySQL 和 PostgreSQL 各有什么优缺点?
  12. 学过哪些编程语言?如何学习其中一门语言?
  13. Go 和 Java 有什么区别?
  14. Go 的 Channel 在什么场景下可以替代锁?
  15. 项目的关键字段和流程为什么这样设计?

《参考解析》

  1. 中间人攻击防护:使用 TLS 验证服务端证书、保护传输机密性与完整性;敏感请求还应校验时效、随机数和签名,防止重放。客户端不能通过“加密请求体”替代正确的证书校验和密钥管理。
  2. 支付断网场景:展示收款码不等于付款已授权,最终扣款要以支付服务端受理并形成可核验订单为准。双方均离线时无法实时获得支付机构授权,产品应明确显示待确认状态,并在恢复网络后以服务端订单结果收敛,不能仅凭本地页面判成功。
  3. Go 与 Java:Go 以轻量协程、组合和显式错误处理见长,运行时和部署模型较简洁;Java 拥有成熟 JVM 生态、丰富框架与更强的运行时工具。选择应结合团队生态、延迟与吞吐目标、交付环境及维护成本。
  4. Channel 与锁:Channel 适合通过消息传递转移数据所有权、串行化状态修改和组织流水线;共享内存上的短临界区用互斥锁往往更直接。Channel 并不天然无锁,其内部实现和阻塞语义仍有同步成本。