周测 + 第一份经营周报
第一周结束。老板要一份「本周经营周报」,你就用它来验收自己这周学的一切。
复盘 · 10 min
测评 + 周报 · 110 min
- 70 分钟闭卷做 30 道单表查询题(LeetCode 简单难度 + 自出题)
参考答案
闭卷 70 分钟,30 题做完再对答案,中途不查任何资料。出题范围就是 D1–D6:SELECT/WHERE/ORDER BY/LIMIT、NULL 三值逻辑、聚合与 GROUP BY、CASE、日期函数与补零。
- 错题全部重写一遍,写进 mistakes.md
参考答案
重写错题时先默写「我当时的思路」,再写正确答案,两句并排放--差异在哪一步,就是下次的检查点。
- 错题归因:分成「没懂概念 / 记不住语法 / 看错题意」三类统计
参考答案
归因模板:① 没懂概念(回当天「学」栏重看并口述一遍);② 记不住语法(连续 3 天每天默写一次);③ 看错题意(以后读题先圈名词和限定词)。统计三类各占几个,集中在哪类就补哪类。
- 写出给老板的周报:总单量 / GMV / 状态分布 / 近 7 天趋势(每日一行,缺日补 0)
参考答案
周报的每个数字都来自这三条查询;面试官追问「这个占比怎么算的」你要能当场说出分母是什么。
-- 总单量 / GMV select count(*) as 总单量, sum(total_amount) as gmv from orders; -- 状态分布(含占比) select coalesce(status::text, '未知') as 状态, count(*) as 单数, round(count(*) * 100.0 / sum(count(*)) over (), 1) as 占比 from orders group by 1 order by 单数 desc; -- 近 7 天趋势(缺日补 0) select d::date as 日期, count(o.id) as 单数, coalesce(sum(o.total_amount), 0) as gmv from generate_series(current_date - 6, current_date, interval '1 day') d left join orders o on o.created_at >= d and o.created_at < d + interval '1 day' group by d order by d; - 把「逻辑执行顺序」和「NULL 三值逻辑」各写成 5 句话的口述稿
参考答案
口述稿结构:一句话结论 -> 为什么这样设计 -> 一个例子 -> 一个边界/反例。每篇念出来控制在 60 秒内,念不顺就是还没懂。