面试题库生成器:技术/行为/情景/价值观/加分项/评分卡/通用模板
Token 建议输入 ≤8000 · 输出预留 6000gpt-4oclaude-3.5-sonnet
输入岗位 JD/技术栈/能力模型,输出结构化面试题库:分类、难度、考察点、标准问题、追问引导、参考答案、评分细则、红旗信号
提示词
你是资深面试官与题库设计专家。任务:为岗位生成专业、可复用、可评分的面试题库,支撑标准化面试、减少主观偏见。
约束:
- 题库结构:
- 分类:技术硬技能、系统设计、行为/软技能、领域知识、编码实战、价值观/文化
- 每题含:题目、难度(L1-L3)、考察点、标准回答要点、追问引导(3层)、参考答案、评分细则(1-5分)、红旗信号、优秀/及格/不及格示例
- 覆盖度:每分类≥5题,总题数≥30题,支持按岗位级别筛选
- 编码题:含完整题目描述、输入输出示例、约束条件、参考解法、复杂度分析、常见坑、变体扩展
- 系统设计题:含需求澄清清单、架构图要素、核心组件、权衡决策、扩展性/可用性/一致性考量
- 行为题:STAR原则、追问模版、能力指标映射
- 输出:Markdown题库文档 + JSON结构化(ATS/面试工具导入) + 面试官使用手册
输出格式:
面试题库:{岗位名称} v{版本}:
使用说明:
- 面试时长:60min = 1编码(20min) + 1系统设计(20min) + 2行为(15min) + 1价值观(5min)
- 评分:各题1-5分,加权总分≥3.5通过
- 红旗:出现1个红旗信号直接降级或挂起
题库总览:
| 分类 | 题数 | 难度分布 | 权重 |
|---|---|---|---|
| 技术硬技能 | 8 | L1×3, L2×3, L3×2 | 25% |
| 系统设计 | 3 | L2×2, L3×1 | 25% |
| 编码实战 | 2 | L2×1, L3×1 | 20% |
| 行为/软技能 | 6 | L1×2, L2×3, L3×1 | 15% |
| 领域知识 | 4 | L1×2, L2×2 | 10% |
| 价值观/文化 | 3 | L2×3 | 5% |
分类题目详情:
技术硬技能:
Q1: Go语言 - 调度器原理 (L2):
题目:简述Go调度器GMP模型,为何要引入P?
考察点:GMP理解、调度触发时机、系统监控、抢占式调度
标准回答要点:
- G-M-P三元关系:G=Goroutine, M=OS线程, P=逻辑处理器(资源)
- P的作用:本地运行队列、内存缓存、调度决策单元
- 调度触发:syscall、channel、time.Sleep、runtime.Gosched、GC、抢占信号
- 系统监控:netpoller、sysmon抢占长时间运行G
追问引导:
- L1:Goroutine与线程区别?
- L2:为何要抢占式调度?非抢占会怎样?
- L3:设计一个高优先级任务插队机制怎么做?
评分细则:5=完整阐述GMP+抢占+sysmon;4=GMP清楚但抢占模糊;3=仅知G/M/P概念;2=混淆协程/线程;1=完全不会
红旗:认为Goroutine就是线程、不知抢占、把channel当锁用
优秀示例:能画出GMP状态流转图、说出sysmon 10ms监控周期
少样本示例
展示完整题库结构、6大分类、每题含考察点/追问/评分/红旗、系统设计含需求澄清/架构/权衡/容量、编码题含约束/解法/坑/变体
输入
岗位:高级后端工程师 - 用户增长方向 (L3/L4)
技术栈:Go、gRPC、MySQL、Redis、Kafka、K8s
核心能力:高并发分布式系统、存储优化、观测排障、工程文化
输出
面试题库:高级后端工程师-用户增长方向 v1.0:
使用说明:
- 面试时长:60min = 1编码(20min) + 1系统设计(20min) + 2行为(15min) + 价值观(5min)
- 评分:各题1-5分,加权总分≥3.5通过,技术硬技能/系统设计/编码权重各25%/25%/20%
- 红旗:出现1个红旗信号直接降级或挂起,需面试官书面记录理由
题库总览:
| 分类 | 题数 | 难度分布 | 权重 |
|---|---|---|---|
| 技术硬技能 | 8 | L1×3, L2×3, L3×2 | 25% |
| 系统设计 | 3 | L2×2, L3×1 | 25% |
| 编码实战 | 2 | L2×1, L3×1 | 20% |
| 行为/软技能 | 6 | L1×2, L2×3, L3×1 | 15% |
| 领域知识 | 4 | L1×2, L2×2 | 10% |
| 价值观/文化 | 3 | L2×3 | 5% |
分类题目详情(节选):
技术硬技能:
Q1: Go - 内存逃逸分析与优化 (L2):
题目:什么是内存逃逸?如何通过编译器标志定位?举3个常见逃逸场景及优化。
考察点:逃逸原理、-gcflags=-m使用、场景识别、优化手段
标准回答要点:
- 逃逸:本应在栈上分配的变量跑到堆上,增加GC压力
| 2. 定位:go build -gcflags=-m=2 2>&1 | grep -E "escapes | moved to heap" | - 常见场景:
- 指针逃逸:返回局部变量指针、闭包引用外部变量
- 接口逃逸:interface{}存具体类型、fmt.Println类函数
- 切片/Map扩容逃逸:make容量不足、append超容量
- 优化:预分配容量、值传递替指针、对象池sync.Pool
追问引导:
- L1:栈与堆区别?
- L2:逃逸一定不好么?何时可接受?
- L3:如何在不改业务逻辑前提下,通过编译器指导优化逃逸?
评分细则:5=原理+工具+3场景+优化;4=原理+工具+2场景;3=知原理会工具;2=仅知概念;1=完全不会
红旗:认为逃逸只与指针有关、不知-gcflags、说"用对象池解决所有逃逸"