Devin.KR

근거로 면접 답변 준비

80분 안팎

학습 목표

신입 면접 여섯 질문에 원본 표·테스트·지표·그래프 경로를 근거로 답하고 한계를 기록합니다.

개념

면접 답변을 주장과 근거로 나눕니다

마지막 레슨에서는 트랙의 여섯 질문을 실제 파일로 답합니다. 잘 암기한 용어보다 본인이 확인한 작은 사례와 그 한계를 설명하는 것이 신입의 작업 능력을 보여 줍니다. interview.json의 각 항목에 질문, 상대 파일 경로, 답변, 한계를 적습니다. 근거 파일이 존재하는지 테스트하지만 내용이 질문을 실제로 뒷받침하는지는 동료가 검토합니다. 파일을 보여 준 뒤 수치가 어디에서 나왔는지 따라 설명할 수 있어야 자신의 프로젝트를 인계한 상태라고 볼 수 있습니다.

답변은 문제 상황, 확인 순서, 관측 결과, 선택한 조치, 남은 한계의 흐름으로 작성합니다. 모든 질문에 같은 성공 이야기를 반복하지 않습니다. 예를 들어 조인 질문에는 키 중복과 건수 보존을 보여 주고 평균 질문에는 표본 수와 분포의 부족을 보여 줍니다. 테스트가 존재한다는 사실만 말하기보다 해당 검사가 어느 실패를 막는지 설명합니다. 코드 줄을 외우지 않아도 입력 계약과 출력 의미를 연결할 수 있다면 다른 자료를 받았을 때도 조사 순서를 세울 수 있습니다.

조인 증가를 관측 단위에서 설명합니다

조인 후 합계가 커졌다면 queries/join.sql, join-audit.json과 원본 키를 봅니다. 교통 한 지역·날짜에 날씨 여러 행이 직접 연결되면 통행량이 반복될 수 있습니다. 현재 프로젝트는 관측소 자료를 지역·날짜 단위로 묶고 매핑 키를 점검하여 결합 전후 6행·합계 390을 유지합니다. SELECT DISTINCT를 뒤에 붙이는 것으로 정정본 충돌을 해결했다고 하지 않습니다. 같은 키의 다른 값은 공급 확인과 선택 근거가 필요하다는 제한까지 답변에 포함합니다.

질문을 받은 뒤 눈앞의 합계만 맞추지 않습니다. 지역 키가 잘못 매핑되면 합계가 보존되어도 다른 지역의 날씨가 연결될 수 있습니다. 키 유일성, 매핑 누락, 관측 단위와 수치 보존을 함께 확인합니다. join-audit의 rain_missing과 weather_missing은 날씨가 존재하지만 측정이 결측인 경우와 날씨 행 자체가 없는 경우를 나눕니다. 이 차이를 설명하면 단순 건수 일치가 전체 데이터 의미의 정확성을 증명하지 않는다는 판단도 보여 줄 수 있습니다.

결측 처리의 영향을 파일로 설명합니다

결측값을 삭제할지 채울지는 관측 의미, 질문, 누락 패턴에 따라 결정합니다. out/clean-audit.json과 README-cleaning.md에서 영점 보존, 전체 6행과 비교 4행, 지역별 결측률을 확인합니다. 이번 표본은 비교 지표에서 두 측정 모두 있는 행을 사용하고 모르는 강수량을 비강수 0으로 채우지 않습니다. 완전 행만 남기면 비교 대상이 달라질 수 있다는 제한을 답변에 적습니다. 삭제가 항상 안전하거나 평균 채우기가 항상 좋다고 일반화하지 않습니다.

평균만으로 행동을 설명하기 어려운 질문에는 metrics-out/metrics.csv를 연결합니다. 평균과 중앙값·최솟값·최댓값·n을 함께 보며 지역 구성이나 이상값에 영향을 받는지 확인합니다. 현재 그룹당 한 행의 지역 표에서는 평균과 중앙값이 같아도 분포를 충분히 관찰했다는 뜻은 아닙니다. 전체 강수와 비강수 평균 차이는 그룹 표본 구성의 차이일 수 있습니다. 이 자료의 한계를 인정하면서 더 긴 기간과 요일별 비교를 제안하면 수치를 과도하게 해석하지 않는 태도를 보여 줍니다.

그래프 신뢰성은 계산과 해석을 함께 봅니다

그래프 질문에는 source.json, chart-data.csv와 figure-metadata.json을 제시합니다. 출처의 합성 여부와 사용 조건, 관측 단위, 기간, 축 단위, 강수 기준, 유효 n, 결측 제외가 같은지 확인합니다. 표와 그림의 값은 visual.reconcile이 대조합니다. 표본이 작고 실제 기관 관측이 아니므로 현실 정책 효과를 설명하지 않습니다. 실행 검사가 통과한 그림도 질문에 적절한 자료인지 사람이 판단해야 합니다. 코드로 확인한 사항과 내용 검토로 확인한 사항을 구분해 답합니다.

그래프를 신뢰한다는 말은 예쁜 모양이나 코드 성공을 뜻하지 않습니다. 축이 잘려 차이가 과장되지 않는지, NA가 실제 영점처럼 그려지지 않았는지, 그룹 n이 표와 같은지도 읽습니다. 보고서 캡션의 단위는 차량 총수와 평균 대/지역·날짜를 구분합니다. 수치 표시가 40.0이라고 해서 측정 정확도까지 소수점으로 보장된다는 뜻은 아닙니다. 질문의 관측 단위를 유지하면서 그림을 읽고 남은 비교 조건을 설명하는 것이 이 답변의 중심입니다.

중복 방지는 재실행 반례로 설명합니다

매일 같은 파일을 읽는 처리에는 incremental/merge.py의 기본키와 upsert, tests/test_incremental.py를 연결합니다. 지역·날짜 키가 같으면 값을 갱신하고 같은 입력 재실행으로 논리 행이 늘지 않는지 확인합니다. delivery.py도 첫 새 폴더를 다시 실행해 상태를 비교합니다. 한 번 성공한 실행 화면만으로 중복 방지를 증명하지 않습니다. 오래된 정정본이 뒤늦게 와도 자동 거절하지 않는 한계와 동시 실행을 지원하지 않는 경계를 함께 설명합니다.

같은 입력 해시와 같은 실행 ID는 다른 개념입니다. 동일 파일을 다시 처리해도 시도 ID는 새로 생기고 저장 상태는 유지될 수 있습니다. 재현 대조에서는 실행 시각을 제외하지만 실패 전후 마지막 성공 파일 보존 검사에서는 바이트 해시 유지가 유효합니다. 어떤 비교를 하는지 설명하지 않은 채 모든 해시가 같아야 한다고 말하면 정상 재시도를 오류로 오해합니다. 질문의 대상이 입력 버전인지 저장 결과인지 공개 상태인지 먼저 정하고 그에 맞는 근거를 선택합니다.

수치 불일치는 최초 차이부터 좁힙니다

보고서와 원본의 수치가 다르면 기간, 시간대, 필터, 조인, 집계 순서로 대조합니다. 원본 중복 제거 합계 390과 유효 쌍 합계 300은 이번 표본에서 제외 정의 차이입니다. quality/run.py의 policy와 tests/test_quality.py가 공개 대상과 실패 상태를 보여 줍니다. 최신 lineage는 실패 시도일 수 있으므로 보고서 내부 성공 계보를 먼저 연결합니다. 차이가 정상 정의로 설명되면 안내를 보완하고 오류라면 입력과 코드를 수정하여 전 산출물을 다시 생성합니다.

최종 검토에서는 여섯 답변의 근거 파일을 열고 상대 경로가 ZIP에서 유효한지 확인합니다. 임시 개인 경로나 접근 불가능한 운영 로그를 증거로 쓰지 않습니다. 수행하지 않은 실험과 적용하지 않은 권한은 계획 또는 미적용으로 표시합니다. 선택 경로 문서와 상대 직무 질문도 함께 제출합니다. 동료에게 재현 명령을 읽게 하고 질문 하나를 골라 수치·테스트·한계까지 설명하게 합니다. 모르는 사항을 장식된 용어로 덮기보다 추가로 확인할 입력과 작업을 구체적으로 적어 마무리합니다.

따라하기

조인 건수와 합계 대조

다음 독립 예제를 Python으로 실행하여 판단 기준을 확인합니다.

before=(6,390); after=(6,390)
print('count_total_equal',before==after)
print('mapping_review','still required')

실행 결과

count_total_equal True
mapping_review still required

같은 자료의 새 시도

다음 독립 예제를 Python으로 실행하여 판단 기준을 확인합니다.

runs=[{'hash':'same','id':'r1'},{'hash':'same','id':'r2'}]
print('same_input',runs[0]['hash']==runs[1]['hash'])
print('same_attempt',runs[0]['id']==runs[1]['id'])

실행 결과

same_input True
same_attempt False

제외 차이 설명

다음 독립 예제를 Python으로 실행하여 판단 기준을 확인합니다.

source_total=390; paired_total=300
print('excluded_total',source_total-paired_total)
print('paired_rows',4)

실행 결과

excluded_total 90
paired_rows 4

확인 문제

실습

interview.json에 여섯 면접 질문별 근거 파일·답변·한계를 작성합니다. 질문마다 관측한 수치나 테스트 실패 사례를 연결하고 자신의 말로 설명합니다. 선택 경로 문서와 상대 직무 검토 질문, README의 재현 명령을 함께 제출하며 동료가 근거를 열어 반론 하나씩 검토합니다.

더 읽기

면접 질문

  • 조인 후 합계가 커진 상황을 어떻게 확인하는지 설명해 주시면 됩니다.
  • 결측값을 삭제할지 채울지 판단하는 과정을 설명해 주시면 됩니다.
  • 보고서의 수치와 원본 데이터가 다를 때 확인할 순서를 설명해 주시면 됩니다.