腾讯WXG后端开发一二面面经
- 轮次
- 一面、二面
- 结果
- OC
- 时间
- 2026-09
- 来源
- 牛客网
《面试题目》
- 请介绍实习经历。
- 如何实现 LRU 的变形题?
- 给定一个请求体,存在哪些网络安全漏洞?如何防止中间人攻击?
- 微信扫码支付中,用户、商家和微信服务器如何交互?
- 用户加载收款码后断网,还能否完成扣款?
- 二维码或一维码的本质是什么?它们是动态还是固定的?
- 为什么收款码和付款码一个动态、一个固定?动态收款码如何绑定固定用户?
- 商家和用户都断网时能否完成支付?从产品体验上应如何设计?
- 平时如何使用 AI 工具?
- 学过哪些专业课程?如何学习其中一门课程?
- MySQL 和 PostgreSQL 各有什么优缺点?
- 学过哪些编程语言?如何学习其中一门语言?
- Go 和 Java 有什么区别?
- Go 的 Channel 在什么场景下可以替代锁?
- 项目的关键字段和流程为什么这样设计?
《参考解析》
- 中间人攻击防护:使用 TLS 验证服务端证书、保护传输机密性与完整性;敏感请求还应校验时效、随机数和签名,防止重放。客户端不能通过“加密请求体”替代正确的证书校验和密钥管理。
- 支付断网场景:展示收款码不等于付款已授权,最终扣款要以支付服务端受理并形成可核验订单为准。双方均离线时无法实时获得支付机构授权,产品应明确显示待确认状态,并在恢复网络后以服务端订单结果收敛,不能仅凭本地页面判成功。
- Go 与 Java:Go 以轻量协程、组合和显式错误处理见长,运行时和部署模型较简洁;Java 拥有成熟 JVM 生态、丰富框架与更强的运行时工具。选择应结合团队生态、延迟与吞吐目标、交付环境及维护成本。
- Channel 与锁:Channel 适合通过消息传递转移数据所有权、串行化状态修改和组织流水线;共享内存上的短临界区用互斥锁往往更直接。Channel 并不天然无锁,其内部实现和阻塞语义仍有同步成本。