返回文章列表

面试题库应该考察真实工程能力

高级 PHP / Go 面试不仅问概念,还要看并发、数据库、缓存、MQ、网络排障和分布式取舍。

知识库依据

基于《来源_招聘需求》《来源_面试题参考》《测试工程师面试文档_面试官版》和技术招聘画像实体页整理。

从岗位目标反推题目

面试题库不应该只是技术名词列表。真正有效的题目来自岗位要解决的问题:这个人是否能独立交付业务模块,是否能定位线上问题,是否理解数据库和缓存边界,是否能在成本、复杂度和稳定性之间做取舍。

后端、前端、测试、移动端和 UI 的题库都应该围绕真实交付场景设计。

  • 考察原理,也考察排障。
  • 考察设计,也考察落地成本。
  • 考察个人能力,也考察协作习惯。
  • 避免只背 API 的题目。

高级后端怎么问

高级 PHP / Go 后端可以从框架、中间件、并发、数据库、缓存、消息队列、网络和系统设计展开。题目要鼓励候选人讲出机制、风险和替代方案,而不是给出唯一标准答案。

比如问缓存击穿时,不只问定义,还要问业务中哪些 key 风险最高、如何设置互斥、是否允许短暂脏读、失败时如何降级。

  • 数据库:索引、事务、锁、慢查询。
  • 缓存:穿透、击穿、雪崩、一致性。
  • MQ:幂等、重试、顺序、死信。
  • 网络:DNS、TLS、超时、连接池。

测试和前端也要场景化

测试岗位要看接口测试、自动化、性能、SQL、Linux、CI/CD 和问题定位。前端岗位要看 Vue 体系、状态管理、组件设计、工程化、性能、移动端兼容和用户体验细节。

面试最终不是为了难倒候选人,而是判断他能否进入团队现有交付体系。

  • 给一个真实缺陷,看定位思路。
  • 给一个复杂表单,看拆解能力。
  • 给一个发布事故,看复盘框架。
  • 给一个需求变更,看取舍表达。

岗位画像比题库更重要

知识库中的招聘资料覆盖 PHP、Go、前端、测试、移动端和 UI。题库只是工具,真正决定面试质量的是岗位画像:这个岗位进入团队后要解决什么问题,独立交付到什么程度,和谁协作,最容易踩什么坑。

如果没有画像,面试就会变成技术点抽查。候选人可能答对很多问题,但无法判断是否适合当前团队。

  • 先定义岗位要交付的业务模块。
  • 再定义必须能力、加分能力和风险信号。
  • 题目围绕真实工作场景设计。
  • 面试记录要能支持录用或不录用判断。

后端题目要追问机制和取舍

高级 PHP / Go 面试可以覆盖框架、中间件、并发、数据库、缓存、MQ、网络和系统设计。但每个问题都应该追问机制和取舍。比如问 Redis,不只问数据类型,还要问缓存一致性、击穿防护、热点 key、降级策略和监控指标。

候选人能不能讲清楚边界,比能不能背出标准定义更重要。

  • 数据库问题追问索引、锁、事务和慢查询定位。
  • 缓存问题追问穿透、击穿、雪崩和一致性。
  • MQ 问题追问幂等、重试、顺序和死信。
  • Go 问题追问 goroutine 泄漏、context、channel 和调度。

测试岗位要看问题闭环

测试工程师不只是点页面。知识库里的测试面试材料强调功能、接口、自动化、性能、SQL、Linux 和 CI/CD。更重要的是问题闭环:发现问题、定位问题、复现问题、推动修复、补充用例。

一个好的测试候选人会主动问业务风险,而不只是照着需求文档逐条执行。

  • 给一个接口异常,让候选人说排查路径。
  • 给一个业务流程,让候选人设计用例。
  • 给一个线上缺陷,让候选人描述复盘。
  • 关注 SQL、日志、抓包和 CI 使用能力。

评分表要减少拍脑袋

面试之后最怕一句“感觉还行”。建议用结构化评分表,把能力拆成基础能力、工程经验、问题定位、沟通协作、业务理解、成长性和风险点。

评分表不是为了机械化,而是为了让多个面试官可以对齐口径。

  • 每个维度给 1-5 分和证据。
  • 记录候选人的具体回答和案例。
  • 区分不会、没做过、做过但讲不清。
  • 明确录用建议和入职后培养重点。