어떤 Snowflake 면접 질문을 예상해야 하나요?
작성자 Aaron Cao · 업데이트

아키텍처 질문(스토리지와 컴퓨팅의 분리, 가상 웨어하우스, 클라우드 서비스 계층), 스토리지 질문(마이크로 파티션, 클러스터링 키, 프루닝), 데이터 수명 주기 질문(Time Travel, 제로카피 복제, Snowpipe, 스트림과 태스크), 그리고 웨어하우스가 지나치게 크거나 쿼리가 너무 많은 데이터를 스캔하는 비용 또는 성능 시나리오를 예상하세요. 암기보다 추론 능력을 평가합니다.
Snowflake 면접은 어떤 아키텍처 질문으로 시작하나요?
Snowflake 면접은 이후의 모든 질문이 아키텍처에 기반하므로 여기서 시작합니다. 세 계층을 자신의 말로 설명할 수 있어야 합니다. 스토리지 계층은 클라우드 객체 스토리지에서 압축된 열 기반 마이크로 파티션 형태로 데이터를 보관하고, 컴퓨팅 계층은 각각 독립적인 쿼리 실행 클러스터인 가상 웨어하우스로 구성되며, 클라우드 서비스 계층은 인증, 메타데이터, 쿼리 구문 분석과 최적화, 트랜잭션을 처리합니다. 첫 번째 후속 질문은 스토리지와 컴퓨팅을 분리하는 이유이며, 답은 독립성입니다. 여러 팀이 프로세서를 두고 경합하지 않으면서 같은 데이터에 각자의 웨어하우스를 사용할 수 있고, 웨어하우스가 실행되는 동안에만 컴퓨팅 비용을 지불합니다.
- 가상 웨어하우스. 크기, 자동 일시 중단과 자동 재개, 동시 처리를 위한 멀티 클러스터 웨어하우스. 후속 질문: 더 큰 웨어하우스는 무엇을 빠르게 하며, 무엇은 빠르게 하지 못하나요?
- 결과 및 메타데이터 캐싱. 동일한 쿼리가 반복되면 결과 캐시에서 응답할 수 있습니다. 캐시를 무효화하는 조건을 설명하세요.
- 에디션과 계정. 액세스 제어를 위한 역할, 사용자, 역할 계층 구조를 이해하고 사용자 대신 역할에 권한을 부여하는 방식이 확장성에 유리한 이유를 설명할 수 있어야 합니다.
- 반정형 데이터.
VARIANT유형, JSON의 저장 및 쿼리 방식, 열로 평면화해야 하는 시점.
메커니즘과 그에 따른 결과 하나를 함께 답하세요. 컴퓨팅을 독립적으로 확장할 수 있다는 말은 구호에 불과합니다. 더 큰 웨어하우스는 대규모 스캔에는 도움이 되지만 지연 시간의 제약을 받는 작은 쿼리에는 효과가 없다고 설명하는 것이 면접관이 원하는 수준입니다.
어떤 스토리지 및 성능 질문을 준비해야 하나요?
Snowflake를 매일 사용하지만 질문이 평소 작성하는 SQL보다 더 깊게 들어갈까 걱정될 수 있습니다. 실제로 그렇기 때문에, 일반적인 질문 순서와 각 항목에 따라오는 후속 질문에 맞춰 스토리지 모델을 정리했습니다.
- 마이크로 파티션. 데이터는 각 열의 값 범위에 관한 메타데이터가 포함된 변경 불가능한 청크로 저장됩니다. 후속 질문: 옵티마이저는 이 메타데이터로 어떻게 파티션을 건너뛰며, 프루닝은 무엇에 좌우되나요?
- 클러스터링. 자연 클러스터링은 로드 순서에서 비롯됩니다. 클러스터링 키는 해당 열에 대한 필터가 효과적으로 프루닝되도록 대형 테이블을 재구성합니다. 후속 질문: 클러스터링이 공짜로 얻는 이점이 아니라 비용인 이유는 무엇이며, 테이블에 필요한지 어떻게 판단하나요?
- 쿼리 프로필. 쿼리가 느릴 때 확인할 사항은 전체 파티션 대비 스캔된 파티션, 로컬 또는 원격 스토리지로의 스필, 급격히 커지는 조인입니다.
- 구체화된 뷰와 검색 최적화. 각각 무엇을 빠르게 하며 어떤 유지 관리 비용을 추가하는지 설명하세요.
- Time Travel과 Fail-safe. 보존 기간 내에서 변경 전 상태의 데이터를 쿼리하거나 복원하는 기능입니다. 보존 기간이 설정이자 비용이라는 점과 Fail-safe의 용도를 설명하세요.
- 제로카피 복제. 한쪽이 변경될 때까지 복제본이 원본의 마이크로 파티션을 공유하므로 대형 테이블도 빠르게 복제되며 초기에는 비용이 들지 않습니다.
모든 기능에 대해 어떤 비용이 드는지 말하세요. Snowflake 비용을 실제로 지불하는 회사의 면접관은 기능 이름보다 비용을 짚는 습관을 더 중요하게 봅니다.
파이프라인과 비용 시나리오 질문은 어떻게 진행되나요?
시니어 면접 과정에서는 상황이 제시됩니다. 대표적인 예로, 보험사의 분석 플랫폼 직무에 지원한 데이터 엔지니어에게 데이터 양은 거의 늘지 않았는데 월간 Snowflake 비용이 두 배가 되었다는 상황을 제시할 수 있습니다. 좋은 답변은 다음 순서로 조사합니다. 어떤 웨어하우스가 가장 많은 크레딧을 사용했는지, 유휴 웨어하우스에서 과금이 멈추도록 자동 일시 중단이 설정되었는지, 예약 작업이 지나치게 큰 웨어하우스에서 실행되는지, 반복 실행되는 대시보드가 결과 캐시를 활용하지 못하는지, 일부 쿼리가 데이터가 클러스터링되지 않은 열로 필터링하여 전체 테이블을 스캔하는지 확인합니다. 면접관은 하나의 해결책이 아니라 조사 순서를 평가합니다.
그 밖에 자주 나오는 시나리오는 Snowpipe를 이용한 연속 수집과 예약된 COPY 로드의 비교 및 각각의 지연 시간, 스트림과 태스크를 통한 변경 사항 캡처와 태스크를 멱등성 있게 만드는 방법, 누군가 실수로 자른 테이블을 Time Travel로 복원하는 방법, 데이터를 복사하지 않고 파트너에게 읽기 권한을 제공하기 위한 보안 데이터 공유, 성장하는 조직을 위한 역할 설계입니다. 제약 조건을 밝히고, 메커니즘을 선택한 뒤, 비용을 설명하세요.
면접 전에 후속 질문까지 소리 내어 연습하세요. 모의 면접 모드는 시나리오 질문을 제시하고 답변을 반박하며, 다른 데이터 및 엔지니어링 질문 모음은 직무 및 주제별 면접 질문에서 확인할 수 있습니다.
AI 면접 어시스턴트가 Snowflake 질문에 도움이 되나요?
대화형 면접에서는 명확한 한계 내에서 도움이 됩니다. SubcueAI의 네이티브 macOS 및 Windows 데스크톱 앱은 시스템 오디오와 마이크 입력을 캡처하고 로컬 오버레이에 짧은 답변 제안을 표시합니다. 따라서 면접관이 클러스터링 키가 프루닝을 위해 무엇을 감수하는지 물으면, 화면에 표시된 메커니즘을 참고해 자신의 말로 설명할 수 있습니다. 브라우저 확장 프로그램은 회의 탭의 오디오만 캡처하여 Chrome과 Edge에서 진행되는 브라우저 탭 통화를 지원합니다. 봇이 통화에 참여하지 않으며 회의 페이지에 어떤 것도 삽입되지 않습니다. 설정 방법은 튜토리얼 페이지에서 확인할 수 있습니다.
지원 범위에는 한계가 있습니다. 감독하에 진행되는 SQL 평가, 화면이 녹화되는 평가, 회사에서 관리하는 노트북, 또는 관찰하에 쿼리를 작성하는 실시간 과제는 지원하지 않습니다. SubcueAI의 창립자 Aaron Cao는 이 제품을 지식을 대체하는 수단이 아니라 이미 알고 있는 내용을 떠올리게 하는 프롬프트라고 설명합니다. 그래서 사용자의 이력서와 표현 방식을 바탕으로 작동하며, 구체적인 경계는 탐지 가능성 주제 모음에 정리되어 있습니다.