You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
前端同事版 — Aevatar 架构基础题
这份题不是后端实现考核。你不需要读完整 C# 调用链,也不需要回答 GAgent 内部状态转移细节。目标是确认你知道:前端什么时候发 command,什么时候读 readmodel,什么时候订阅 observation,以及哪些后端内部事实不该被 UI 硬编码依赖。
必读材料
Command / Envelope / Dispatch权威状态 / ReadModel / ProjectionActor 执行模型或Actor 化执行哲学答题时不用逐行贴源码,但要能说清楚依据来自哪份文档、哪个小节。总分 60 分,每题 10 分。
题 01 — 前端动作应该走哪条链路
把下面 5 个前端需求分别归类为
Command/Query(ReadModel)/Observation/本地 UI 状态,并用一句话解释原因。加分点:指出哪一类结果应该带
stateVersion、刷新戳或等价的新鲜度信息。题 02 — ACK 不是完成态
后端给发送消息接口返回:
{ "commandId": "cmd-123", "status": "accepted" }请回答:
题 03 — 最近消息接口怎么设计才不踩线
产品要一个接口:展示当前会话最近 10 条消息。下面 3 个方案里,选出你愿意接的方案,并指出另外两个哪里不对。
方案 A
直接返回 ConversationGAgent 内部 state。
方案 B
后端在请求里读取 event store,现场 replay 出最近消息。
方案 C
后端读取已经物化的 conversation readmodel,并返回
stateVersion。要求:每个方案一句话,不超过 40 字。
题 04 — 不要把后端内部命名写死进 UI
下面这些字段或概念,哪些可以成为前端稳定依赖,哪些不应该?请逐条标
可以 / 不应该 / 视情况,并解释一句。commandIdactorId的字符串前缀,例如agent-run-readmodel.stateVersionAgentRunGAgentPendingApproval / Running / Completed / FailedEventEnvelope内部路由字段题 05 — 小型 PR Review
下面是一个前端实现草案:
请挑出至少 3 个问题。每个问题写:
题 06 — 200 字以内说明题
用不超过 200 字,向另一位前端同事解释:
要求:必须出现
Command、Observation、ReadModel三个词;不要写项目符号。提交方式
答题区
All reactions