
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之类的
- key value map 有很多follow up
- 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 支持!