Epic Systems(位于 Verona, Wisconsin 的医疗信息巨头)OA 在 2026 招聘季依旧是出名的「混合考核」:情境判断 + 数学逻辑 + 编程三段独立计分。本指南基于 oavoservice 学员复盘整理,按段拆解高频题型与失分点。
一、Epic OA 整体结构
岗位不同,OA 组合不同。最常见的 SDE / SWE 候选人会拿到三段:
| 段落 | 题量 / 时长 | 题型 |
|---|---|---|
| Situational Judgment Test (SJT) | 30 题 / 30 min | 情境判断 |
| 数学 / 逻辑 | 25 题 / 35 min | 推理 + 心算 |
| 编程 (Coding) | 2 题 / 60–90 min | LC Easy–Med |
三段独立计分,任何一段不达线都会直接进 reject 池。编程题不是加分项,而是淘汰项。
二、SJT:题面长,看清「Epic 价值观」
SJT 是大部分候选人栽跟头的地方。题面通常是 200–400 字的工作场景,让你对若干应对方案打分(最佳 / 最差)。
Epic 在意的几个价值观
| 价值观 | SJT 中的表现 |
|---|---|
| Customer first | 客户医院的需求优先于内部排期 |
| Team transparency | 出问题先告诉同事,再去找 fix |
| Ownership | 不甩锅、不指责,亲自跟到底 |
| Direct communication | 不绕弯,直接说现在哪不行 |
学员还原题(脱敏)
你正在交付一个客户医院的紧急 bug fix。同事 A 找你帮忙 review 他另一个项目的 PR,时间冲突。请对以下方案排序: a) 让 A 等到 fix 上线后再 review b) 立刻停下 fix 帮 A c) 让 A 找另一个同事 d) 同时做,质量打折
Epic 期望:a 是最佳(直接、客户优先),d 是最差(质量不可妥协)。注意「立刻停下」这种过度退让选项往往不是 Epic 想要的答案。
三、数学 / 逻辑:每题平均 84 秒
数学段考察的不是难题,而是速度 + 准确率。常见题型:
| 题型 | 出现频次 | 关键技巧 |
|---|---|---|
| 比例 / 百分比 | 极高 | 分数化 + 估算 |
| 概率 | 高 | 互斥 / 独立判断 |
| 数列 / 找规律 | 高 | 二阶差分 |
| 单位换算 | 中 | 量纲优先 |
| 简单组合 | 中 | 乘法原理 |
学员还原题:药品库存
一个仓库每天消耗 X% 的药品库存,消耗后立刻补充 Y 单位。已知 7 天前库存为 1000,现库存 800,每日补充 50。求每日消耗率(保留 1 位小数)。
def solve():
inv = 1000
for _ in range(7):
# 800 = ((1000) * (1-x))*(...) + 50 ...
pass
思路:列方程 inv_{t+1} = inv_t * (1 - x) + 50。代入两端边界求 x ≈ 6.4%。陷阱:补充先后顺序很容易错。
四、编程:2 题,难度 LC Easy–Med
平台是 Epic 自研编辑器(不是 HackerRank),UI 简陋但功能齐全。注意:
- 不允许外部粘贴,但允许编辑器内复制
- 支持 Java / C# / Python / C++ / JavaScript
- 没有自动样例,你要自己写测试用例
学员还原题:药剂师排班冲突检测
给定
shifts[i] = (pharmacist, start, end),判断同一药剂师是否有时间重叠的排班,返回所有冲突对。
from collections import defaultdict
def conflicts(shifts):
by_p = defaultdict(list)
for i, (p, s, e) in enumerate(shifts):
by_p[p].append((s, e, i))
out = []
for p, lst in by_p.items():
lst.sort()
for i in range(1, len(lst)):
if lst[i][0] < lst[i-1][1]:
out.append((lst[i-1][2], lst[i][2]))
return out
复杂度:O(n log n)。坑点:边界 start == end 算不算重叠,要看题面定义;不确定时跟出题人确认是 Epic 鼓励的做法。
学员还原题:病例标签去重
给定一组病例的标签列表
cases[i] = [tags...],返回任意两个病例标签集合相同的所有 case 对。要求 O(N + total) 平均复杂度。
from collections import defaultdict
def dup_cases(cases):
sig = defaultdict(list)
for i, tags in enumerate(cases):
key = frozenset(tags)
sig[key].append(i)
pairs = []
for ids in sig.values():
if len(ids) >= 2:
for a in range(len(ids)):
for b in range(a + 1, len(ids)):
pairs.append((ids[a], ids[b]))
return pairs
追问:如果标签是 100 万种、case 是 1000 万条怎么办?答:把 frozenset 换成有序数组的 hash,避免 hash 冲突;分布式场景用 MinHash 近似。
五、得分阈值与通过率
22 份样本数据:
全段通过 ████ 18%
SJT 卡线 ████████ 35%
数学卡线 ██████ 27%
编程卡线 ████ 18%
其他 █ 2%
通过率约 18%。SJT + 数学是最容易卡的两段。编程段反而通过率较高(题不难,但需要细心)。
六、4 周备战节奏
| 周次 | 任务 |
|---|---|
| W1 | SJT 价值观对齐 + 30 题真题练习 |
| W2 | 数学速算 + 概率 / 数列模板 |
| W3 | LC Easy–Med 限时 mock × 5 |
| W4 | 全段连考模拟 + 失分诊断 |
七、面试官评分维度(来自学员 debrief)
| 维度 | 占比 | 触发关键词 |
|---|---|---|
| 客户视角 | 30% | "patient", "hospital workflow" |
| 沟通透明 | 25% | "I would tell", "share early" |
| 代码可读性 | 20% | 命名 + 注释 + 函数划分 |
| 复杂度意识 | 15% | 主动给 Big-O |
| 边界处理 | 10% | 主动列 edge case |
oavoservice 在 Epic OA 阶段提供 SJT 价值观题库、数学速算包、Coding 限时 mock + 1v1 复盘 一站式方案。
FAQ
Epic 给 OA 邀请后多久要做?
通常 7 天窗口,且只能做一次。建议安排在精神最好的那 3 小时连续做完,中途不能存档。
Epic OA 重考机会?
冷冻期 12 个月,期间换岗位 / 换 BU 可绕开。但 SJT 题库本身就大,重考很难依赖记忆。
Epic 在意学历背景吗?
Epic 招很多非顶校的候选人,OA 表现 + culture fit > 学校排名。但需要愿意搬到 Wisconsin(hybrid)。
数学段允许用计算器吗?
不允许。提前练心算和快速估算是关键。
正在准备 2026 Epic OA?
oavoservice 跟踪 Epic OA 已经超过 3 年,覆盖 SJT / 数学 / 编程三段全流程。提供 题型预测、限时 mock、SJT 价值观对齐、得分诊断 全链路服务。
👉 立即添加微信:Coding0201,获取 Epic 当周 OA 真题与备考方案。
联系方式
Email: [email protected]
Telegram: @OAVOProxy