
Snowflake 公司介紹
Snowflake總部位於美國加州, 全職雇員 5884 人,是一家雲計算初創公司。 Snowflake 提供基於雲的數據存儲和分析服務。 Snowflake 允許企業使用者使用基於雲端的硬體和軟體來存儲和分析數據。 自 2014 年以來,Snowflake 就在 Amazon S3 上運行,從 2018 年開始就在 Microsoft Azure 上運行。 於 2019 年在 Google Cloud Platform 上推出。 其 Snowflake 數據交換可讓客戶發現,交換和安全共用數據,同時和 Snowflake 保持合作關係。 因此,Snowflake 作為新時代的雲服務商,在技術創新上有著絕對的話語權。 所以,儘管 AWS、Azure、Google Cloud 等等和它都是競爭對手關係,但同樣也離不開與它的合作。 事實上,Snowflake 最大的合作夥伴就是亞馬遜 AWS。
Snowflake 面試時間線
4 月 10 日:在學校 Career Fair 投遞
4 月 21 日:收到 OA 並完成
5月16日:HR 电话
6月5日:VO * 2
6月13日:VO * 1
6 月 22 日:HM 電話
6月26日:Reference Check 请求
7 月 21 日:Offer 電話
Snowflake面经 高频真題
Snowflake Tech 高頻題
- Snowflake和传统数据库区别?
為什麼考:面試官想知道你是不是搞懂了企業為啥要從 Oracle、SQL Server 這樣的老牌資料庫遷移到 Snowflake。
高分回答:- Snowflake 是純雲原生、全託管平臺,計算和存儲完全分離,既能彈性擴容又成本可控;
- 多集群架構:高併發時,能自動橫向擴展,保證性能;
- 零拷貝克隆:瞬間克隆資料庫,空間佔用幾乎為零;
- 按需付費:不用的資源自動釋放,帳單也更友好。
举例:
某零售公司每到雙十一、黑五流量激增,Snowflake 自動擴容後端計算集群,根本不卡頓。
- Snowflake 的存儲和計算是怎麼分開的?
為什麼考:要看你对它解耦架构的理解,才能玩转它的优势。
高分回答:- 存儲統一放在雲端(S3、Azure Blob、GCS 等),計算通過虛擬倉庫(Virtual Warehouse)來執行查詢; 兩者獨立擴展,互不影響; 這樣一來,既能性能隨用隨增,也能只為存儲或計算付費。
示例:CREATE OR REPLACE WAREHOUSE my_warehouse WITH WAREHOUSE_SIZE = ‘MEDIUM’ AUTO_SUSPEND = 300 AUTO_RESUME = TRUE;
- 存儲統一放在雲端(S3、Azure Blob、GCS 等),計算通過虛擬倉庫(Virtual Warehouse)來執行查詢; 兩者獨立擴展,互不影響; 這樣一來,既能性能隨用隨增,也能只為存儲或計算付費。
- 什么是 Snowflake 的“时间旅行”(Time Travel)?
為什麼考:看看你懂不懂用它來恢復誤刪/歷史查詢。
高分回答:- Time Travel 能讓你在保留期內(最多 90 天)查詢、恢復歷史數據; 對審計、調試、回滾特別有用。
示例:SELECT * FROM sales_data AT(TIMESTAMP => DATEADD(HOUR, -24, CURRENT_TIMESTAMP()));
- Time Travel 能讓你在保留期內(最多 90 天)查詢、恢復歷史數據; 對審計、調試、回滾特別有用。
- Snowflake 的数据共享(Data Sharing)是什么,为什么这么牛?
為什麼考:企業間即時協同分析的核心利器。
高分回答:- 允許跨組織、即時共享數據,無需 ETL 也不用複製數據;
- 安全又高效,對方直接在自己帳號里就能查詢你的數據。
应用场景:醫療機構把脫敏后的病人分析數據,即時分享給研究所,雙方無需繁瑣的數據搬運。
- Snowflake 的微分區(Micro-Partitions)怎麼回事?
為什麼考:微分区直接决定扫描效率和存储成本。
高分回答:- Snowflake 會自動把表拆成 50–500MB 不等的列式小檔; 查詢時只掃描相關的分區,大幅提升速度。
示例:SELECT SYSTEM$CLUSTERING_INFORMATION(‘sales_data’);
- Snowflake 會自動把表拆成 50–500MB 不等的列式小檔; 查詢時只掃描相關的分區,大幅提升速度。
- Snowflake 怎麼處理半結構化數據?
為什麼考:JSON、Avro、Parquet 很常见,看看你能不能一把梭。
高分回答:- 用
VARIANT
类型存原始数据,不需要预先定义复杂 schema;支持直接在 SQL 里通过点操作符或函数提取字段。
示例:SELECT my_json_column:customer.name, my_json_column:customer.age FROM orders;
- 用
- 怎样优化 Snowflake 查询性能?
為什麼考:性能調優是省錢又提速的關鍵。
高分回答:- 合理建聚簇(Clustering Keys);
- 利用結果快取和元數據緩存;
- 盡量讓過濾條件落在微分區上,實現分區裁剪(Partition Pruning)。
- Snowflake 如何做故障切换和灾难恢复?
為什麼考:業務連續性是重中之重。
高分回答:- Snowflake 提供跨區域複製(Replication)和自動切換(Failover)功能;
- 配置合理的保留期(Data Retention)和恢復策略,素材秒級恢復。
- 配置合理的保留期(Data Retention)和恢復策略,素材秒級恢復。
- 什麼是物化視圖(Materialized Views),何時用?
為什麼考:常用场景下,能让热点查询更快,但会有额外存储开销。
高分回答:- 物化视图把查询结果预先计算并存储,后续读取速度快;适合那些聚合、JOIN 等复杂计算且查询频次高的场景。
示例:CREATE MATERIALIZED VIEW mv_sales AS SELECT customer_id, SUM(amount) AS total_spent FROM transactions GROUP BY customer_id;
- 物化视图把查询结果预先计算并存储,后续读取速度快;适合那些聚合、JOIN 等复杂计算且查询频次高的场景。
- Snowflake 的基於角色的訪問控制(RBAC)怎麼用?
為什麼考:安全和合规永远是大厂的硬指标。
高分回答:- 把权限绑在角色上,再把用户归到角色里,集中管理更简单;支持细粒度到数据库、表、视图层面的授权。
示例:GRANT SELECT ON TABLE customer_data TO ROLE analyst_role;
- 把权限绑在角色上,再把用户归到角色里,集中管理更简单;支持细粒度到数据库、表、视图层面的授权。
Snowflake面经 – Code高频题
- Leetcode212 上來就是這答題, 然後會 challenge 你的 solution, 為什麼用 trie 之類的
- 鍵值圖有很多跟進
- A.提供get set update, delete (直接用 python 里面的dict去实现)
- B.支持ttl,如果expire 要删掉 (加一个新的property ttl)(key, value+ttl)或者这里使用expir timestamp
- C.given a timestamp, how to find all valid key value pairs (for loop 比较)
- 給一個 board,兩個 player 輪流下棋,各自的旗子能四連的話就算贏。 問某個 player 下在(x,y)位置下棋后贏不贏 canPlayWin(board, x, y, player),不難但需要注重代碼的簡潔性。
- 有 nnn(偶數)棟房子排成一排,編號為 1,2,...,n。 一位畫家要用最多三種顏色給這些房子上色,必須滿足兩個條件:
- 相鄰房子顏色不同
也就是說,對於任意 i,房子 i 和房子 i+1i 的顏色不能相同。 - 對稱位置的房子顏色不同
所謂「對稱位置」,指的是距離兩端相同的房子對——即編號為 iii 的房子和編號為 n−i+1 的房子必須顏色不同。
- 相鄰房子顏色不同
如果你也在準備 Snowflake VO —— 我們可以幫你!
Programhelp 團隊專注技術崗面試助攻,服務覆蓋:
OA 代寫 & 高頻題講解
Coding 輪語音協助 + Follow-up 解法準備
System Design 即時輔助提示
HM 面項目包裝 & Behavior 面試框架訓練
我們已説明多位同學上岸 Snowflake / Stripe / Robinhood / Databricks 等北美熱門 Fintech & Infra 廠。 如果你也有 Snowflake 面試在路上,不想一個人硬撐 ——
歡迎私信獲取題庫 +輔助代面機會,給你安排全流程 1v1 支援!