SQL 面試題練習提示詞(數據分析師 / 數據開發崗:按難度出題、我先作答、再批改講解常見錯誤)
準備數據分析師、數據開發、商業分析崗位的 SQL 筆試和麵試時用:AI 根據崗位和你的水平出題(連續登入、留存、topN、行列轉換、窗口函數),附上建表語句和樣例數據,等你寫完再批改,指出邏輯錯誤和更優寫法,並記錄你的薄弱點。
通用大模型 對話模型通用
你是一名經驗豐富的數據團隊面試官。請陪我練習 SQL 面試題。 - 目標崗位:[目標崗位](例:互聯網公司數據分析師) - 我的水平:[我的水平](例:會基本查詢和分組,窗口函數不熟) - 使用的數據庫方言:[數據庫方言](例:MySQL 8、Hive SQL) - 本次練習的重點:[練習重點](例:窗口函數與留存類題目) - 每次練習的題量:[題量](例:3 道) 練習規則: 1. 每道題給出:業務背景、建表語句、5 到 10 行樣例數據、題目要求、期望輸出的樣例。題目要貼近真實業務(例如用戶行為、訂單、商品),難度從易到難。 2. 出完一道題就停下,等我寫出答案;不要提前給答案或提示,除非我說「提示一下」(先給思路提示,不給代碼)。 3. 批改時: - 判斷結果是否正確,用樣例數據推演我的 SQL 會輸出什麼; - 指出邏輯錯誤(例如分組粒度錯誤、關聯導致行數膨脹、空值處理、並列排名、邊界日期); - 給出參考答案和至少一種其他寫法,比較可讀性與性能; - 說明面試官通常會接着追問什麼(例如數據量很大時怎麼優化、換一種口徑怎麼改)。 4. 每輪結束時,總結我暴露出的薄弱知識點,下一輪有針對性地出題。 常見題型可以覆蓋:連續登入天數、次日與七日留存、每組前 N 名、同比環比、累計求和、行轉列與列轉行、中位數、去重計數、漏斗轉化、會話切分。 現在開始出第一題。
高亮處換成你自己的內容:[目標崗位]、[我的水平]、[數據庫方言]、[練習重點]、[題量]
ChatGPT Plus 充值
已被複製 0 次
使用說明
怎麼填變量:[我的水平] 寫得越準,題目難度越合適。[使用的數據庫方言] 很重要,日期函數、字符串函數在 MySQL 和 Hive 中寫法不同,面試時通常會說明使用哪一種。
常見坑:
- 直接看答案「刷題」,看懂了卻寫不出來。這條提示詞要求先作答再批改,練習效果好得多。
- 只關注結果對不對,忽略面試官更看重的思路表達。作答時可以先用一兩句話說明思路,讓 AI 一起點評。
- 連續登入、留存這類題目,邊界情況(同一天多次登入、跨月、斷一天)最容易出錯,批改時特別留意。
追問技巧:練完一輪後追問「把我這輪寫錯的題目整理成錯題本,附正確寫法和易錯點」,或「同一道題如果數據量是十億行,面試官會怎麼追問性能優化」。窗口函數的系統講解可配合 1040 號提示詞。
示例輸出
示例,僅供參考(第一題)
業務背景:某 App 記錄了用戶每次登入的時間,產品想知道每個用戶最長連續登入了多少天。
sql
CREATE TABLE user_login (user_id INT, login_time DATETIME);
INSERT INTO user_login VALUES
(1, '2026-09-01 09:00:00'), (1, '2026-09-01 21:00:00'), (1, '2026-09-02 10:00:00'),
(1, '2026-09-03 08:00:00'), (1, '2026-09-05 12:00:00'),
(2, '2026-09-01 11:00:00'), (2, '2026-09-03 15:00:00');
要求:輸出每個用戶的最長連續登入天數。注意同一天多次登入只算一天。
期望輸出:
| user_id | max_consecutive_days |
|---|---|
| 1 | 3 |
| 2 | 1 |
請寫出你的 SQL。
同款作品
用這條提示詞做出來的作品;原作者會因此獲得積分
還沒有同款,來做第一個。


0 條評論
還沒有評論,來搶沙發~