0Pricing
Coding Interview Prep · 강의

압박감 속에서 스키마 읽기

실시간 면접에서 익숙하지 않은 표 다이어그램을 빠르게 해석하고 적절한 확인 질문을 하는 방법을 알아봅니다.

압박감 속에서 스키마 읽기은(는) CoddyKit의 무료 Coding Interview Prep 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Coding Interview Prep 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Coding Interview Prep 강의에는 총 4개의 강의가 포함되어 있습니다.

실전 면접 기술

실제 면접에서는 익숙하지 않은 스키마를 받고 그 자리에서 쿼리를 작성하라는 요청을 받습니다. 이 수업에서는 시간 압박 속에서도 스키마를 차분하고 반복 가능한 방식으로 읽는 방법을 배웁니다.

1단계: 테이블 목록 파악

1단계: 테이블 목록을 파악합니다. 이름만 읽고 각 테이블이 어떤 개체를 나타내는지 추측하세요. order_items처럼 두 개체의 이름을 결합한 이름은 보통 연결 테이블입니다.

2단계: 기본 키 찾기

2단계: 기본 키를 찾습니다. 기본 키의 이름은 보통 id 또는 <table>_id입니다. 키는 테이블의 행 단위, 즉 한 행이 무엇을 의미하는지 알려 주므로 조인으로 행이 불필요하게 늘어나는 것을 막을 수 있습니다.

3단계: 외래 키 추적하기

3단계: 외래 키를 추적합니다. customer_id와 같은 열은 customers.id를 가리킵니다. 연결 관계를 화살표로 그려 보세요. 이 화살표가 사용할 조인 경로입니다.

-- Inferred join path from the foreign keys
SELECT *
FROM order_items oi
JOIN orders o   ON o.id = oi.order_id
JOIN customers c ON c.id = o.customer_id;

4단계: 키에서 관계의 다중성 읽기

4단계: 키에서 관계의 다중성을 읽습니다. 외래 키를 보유한 테이블이 다 쪽이고, 외래 키가 가리키는 테이블이 일 쪽입니다. 고객 한 명에 주문 여러 건이 대응합니다.

5단계: NULL 허용 여부와 자료형 확인하기

5단계: NULL 허용 여부와 자료형을 확인합니다. NULL을 허용하는 외래 키는 종종 LEFT JOIN이 필요하다는 의미입니다. 또한 날짜가 실제로 DATE인지, 금액이 실제로 숫자형인지 확인하세요.

6단계: 적절한 확인 질문하기

6단계: 확인 질문을 합니다. “어떤 상태가 완료를 의미하나요?” “이메일은 고유한가요?” 면접관은 질문하는지, 아니면 성급하게 진행하는지를 보기 위해 일부러 모호한 부분을 넣는 경우가 많습니다.

실전 예제: 60초 만에 스키마 읽기

이제 모든 내용을 합쳐 보겠습니다. 네 개의 전자 상거래 테이블을 빠르게 읽고 각 테이블의 행 단위와 외래 키를 말해 보세요. 1분도 안 되어 모든 조인 경로를 파악할 수 있고, 어떤 질문에도 답할 수 있게 됩니다.

읽은 내용을 쿼리로 바꾸기

“고객별 총매출”을 구하라는 요청을 받았나요? 먼저 키를 추적했기 때문에 쿼리는 거의 저절로 작성됩니다. 매출은 항목 행 단위에 저장되어 있고, 이를 고객까지 조인하면 됩니다.

SELECT c.id, c.name, SUM(oi.qty * oi.unit_price) AS revenue
FROM customers c
JOIN orders o      ON o.customer_id = c.id
JOIN order_items oi ON oi.order_id = o.id
GROUP BY c.id, c.name
ORDER BY revenue DESC;

주의해야 할 흔한 함정

예측 가능한 함정을 주의하세요. 잘못된 행 단위로 인해 금액을 중복 계산하거나, 내부 조인으로 행을 누락하거나, 이메일을 키로 취급하는 경우가 있습니다. 앞서 배운 여섯 단계가 이러한 문제를 모두 막아 줍니다.

소리 내어 생각하면 좋은 평가를 받습니다

소리 내어 생각하는 것은 좋은 평가로 이어집니다. “이 테이블들은 전자 상거래 테이블처럼 보입니다. 행 단위는 항목 하나이고, 고객까지 조인하겠습니다.”라고 설명해 보세요. 그러면 면접관이 초기에 방향을 바로잡아 줄 수 있습니다.

빠른 확인

익숙하지 않은 스키마에 관계의 다중성 추론을 적용해 보세요.

복습

여섯 단계를 복습해 보겠습니다. 테이블 목록을 파악하고, 행 단위를 알기 위해 기본 키를 찾고, 외래 키를 추적하고, 관계의 다중성을 읽고, NULL 허용 여부를 확인한 다음 질문하세요. 먼저 읽고 나중에 작성합니다.

자주 묻는 질문

“압박감 속에서 스키마 읽기” 강의는 무료인가요?

네 — “압박감 속에서 스키마 읽기” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Coding Interview Prep 강의 전체를 잠금 해제할 수 있습니다. Coding Interview Prep 강의에는 총 4개의 강의가 포함되어 있습니다.

“압박감 속에서 스키마 읽기”에서 뭘 배우나요?

실시간 면접에서 익숙하지 않은 표 다이어그램을 빠르게 해석하고 적절한 확인 질문을 하는 방법을 알아봅니다. 브라우저에서 직접 실행하는 실습 코드로 Coding Interview Prep을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Coding Interview Prep을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Coding Interview Prep은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.

“압박감 속에서 스키마 읽기” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Coding Interview Prep 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Coding Interview Prep 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. SQL이란 무엇이며 면접관은 왜 질문할까요
  2. 논리적 쿼리 실행 순서
  3. 기본 키, 외래 키와 제약 조건
  4. 압박감 속에서 스키마 읽기
← Coding Interview Prep(으)로 돌아가기