Coding — AI on
A deliberately fallible AI pair gives hints, never solutions — you verify everything by running it. Same problems as the AI-off round, with an AI pair at your side.
- 너가 시니어, AI는 빠르고 자신만만한 주니어다. 설계·결정은 네가, AI는 손과 점검용.
- 한 번에 하나만 시켜라. 큰 걸 통째로 시키면 그럴듯한 쓰레기가 온다.
- 근거를 대게 하라. '왜 이게 맞아? 빈 입력에선?'을 물으면 헛소리가 드러난다.
- 안 읽은 코드는 절대 붙이지 마라 — 한 줄씩 읽고 의심.
- 검증 안 된 건 전부 틀렸다고 보고 돌려서 네 눈으로 확인.
- 면접관이 채점하는 건 타이핑이 아니라 네 판단과 검증이다.
- 1. Clarify (네가 먼저)
코드 전에 요구사항·입출력·제약·엣지케이스를 네가 먼저 못박는다. AI에게 가정을 확인시킨다.
⚠️ 모호하면 AI가 멋대로 가정하고 달린다 → 엉뚱한 문제를 푼다.
🗣 AI에게Before any code, confirm with me: the inputs, the output, the constraints, and the edge cases.✅ 검증: AI가 말한 가정이 네 이해와 일치하나? 다르면 지금 바로잡는다.
- 2. Approach (네가 설계, AI는 구멍 찾기)
접근법과 자료구조를 네가 먼저 제시하고, AI에겐 '뭐가 빠졌냐'만 묻는다.
⚠️ AI 설계를 통째로 받으면 면접에서 네가 설명을 못 한다.
🗣 AI에게My plan is <approach> using a <data structure>, O(?) time. What edge cases or complexity problems do you see?✅ 검증: 복잡도(시간/공간)를 네 입으로 말할 수 있나? AI 지적이 진짜 맞나 따져본다.
- 3. Skeleton only (정답 말고 뼈대)
구현 말고 메서드 시그니처 + 테스트 케이스 목록만 요청한다.
⚠️ 전체 구현을 받으면 그게 네 실력 0이라는 신호 + 버그를 통째로 떠안는다.
🗣 AI에게Give me only the method signatures and a list of test cases — no implementation yet.✅ 검증: 테스트 케이스에 빈 입력·최대 입력·중복이 들어있나?
- 4. Core yourself (핵심은 직접)
어려운 핵심 로직은 네가 직접 타이핑하면서 말로 설명한다. AI는 여기서 제일 쓸모없다.
⚠️ 핵심 로직까지 AI가 써주면 '나는 못 푼다'를 증명하는 꼴.
🗣 AI에게I'll write the core logic myself — stand by, then review it.✅ 검증: 네가 쓴 로직을 한 줄씩 소리내어 설명할 수 있나?
- 5. Verify line-by-line (믿지 말고 검증)
AI가 준 모든 줄을 읽고, 핵심 케이스에서 왜 맞는지 근거를 캐묻는다.
⚠️ 그럴듯해 보여서 안 읽고 붙이면 = 심어둔 버그를 그대로 삼킨다.
🗣 AI에게Walk me through, line by line, why this handles the empty input and the largest input.✅ 검증: AI 설명이 코드와 실제로 맞나? 말만 그럴듯하고 코드는 다를 수 있다.
- 6. Catch the bug (일부러-틀린 거 잡기)
이 AI는 4번에 1번꼴로 자신만만하게 틀린 코드를 흘린다. 의심되면 콕 집어 진단한다.
⚠️ 자신만만한 말투에 속아 그대로 받으면 끝. 그게 바로 채점 포인트.
🗣 AI에게This looks off — explain exactly what this line does on a duplicate key / at index n-1.✅ 검증: 정말 버그면 '여기가 틀렸고 이렇게 고친다'를 네가 말한다.
- 7. Edge cases + run (돌려서 확인)
놓친 엣지를 AI에게 받아 직접 테스트를 돌리고 결과를 네 눈으로 확인한다.
⚠️ '아마 될 거다'로 넘기면 라이브에서 터진다. 검증 안 된 건 안 된 거.
🗣 AI에게List the edge cases I might be missing. I'll add tests and run them.✅ 검증: 테스트가 실제로 PASS 했나? 실패하면 원인을 네가 짚는다.
- 8. Own it (내 것으로 방어)
최종 코드를 '내 솔루션'으로 설명하고, 모든 줄을 방어할 수 있게 한다.
⚠️ 'AI가 써줬어요'는 감점. 네가 주도하고 검증했다는 서사가 필요.
🗣 AI에게Here's my final solution; let me walk you through why each part is correct.✅ 검증: 복잡도·트레이드오프·엣지 처리를 한 번에 설명할 수 있나?
Problems
- Transaction event processor: dedup, order by time, resolve final statusseniorapplied · event-processing · idempotency · ordering · opendoor30m
- Home search: filter, sort, paginateseniorapplied · search · pagination · sorting · opendoor30m
- Key-value store with TTL (logical clock)seniorapplied · data-structures · ttl · logical-clock · opendoor30m
- Listing index: O(1) id lookup with filtered rankingseniorapplied · data-structures · indexing · opendoor30m
- LRU cache with capacity evictionseniorapplied · data-structures · cache · opendoor30m
- Home pricing rule engine with breakdown and overrideseniorapplied · strategy · pricing · opendoor30m
- Sliding-window rate limiter (logical clock)seniorapplied · data-structures · rate-limiting · opendoor30m
- Inventory vs financial reconcilerseniorapplied · reconciliation · data-quality · opendoor30m
- In-memory Spreadsheet with formula recalcseniorapplied · data-structures · recursion · opendoor35m