# 플래시카드를 활용하여 코딩 면접을 통과하는 방법

최고의 기술 기업(종종 FAANG 또는 MAANG으로 불림)에서의 기술 면접 준비는 압도적으로 느껴질 수 있습니다. 암기해야 할 수백 가지의 자료 구조, 알고리즘, 시스템 설계 개념이 있기 때문에 단순히 LeetCode 문제를 푸는 것만으로는 충분하지 않을 때가 많습니다.

성공적인 많은 소프트웨어 엔지니어들은 복잡한 기술적 개념을 기억하기 위한 비밀 무기로 **간격 반복 플래시카드**를 사용합니다. Flashcards World를 활용하여 다음 코딩 면접을 준비하는 방법은 다음과 같습니다.

## 1. 시간 및 공간 복잡도 암기(Big O 표기법)

코딩 면접 중에 당신은 단지 문제를 해결하는 것만이 아니라 솔루션의 효율성도 알아야 합니다. 면접관이 "O(N^2)보다 더 나은 방법이 있습니까?"라고 묻는다면 대안이 되는 자료 구조의 시간 복잡도를 즉시 알아야 합니다.

**플래시카드 만드는 방법:**
*   **앞면:** 해시 맵(Hash Map)에서 검색하는 데 평균 및 최악의 경우 시간 복잡도는 얼마입니까?
*   **뒷면:** 평균: O(1). 최악의 경우: O(N) (해시 충돌이 많은 경우).
*   **앞면:** 병합 정렬(Merge Sort)을 사용하여 배열을 정렬할 때의 시간 복잡도는 얼마입니까?
*   **뒷면:** 평균 및 최악의 경우 모두 O(N log N). 공간 복잡도는 O(N)입니다.

"Big O 복잡도" 전용 덱을 만들고 매일 복습하세요.

## 2. 알고리즘 패턴 인식하기

500가지의 다른 문제에 대한 정확한 코드 솔루션을 외우려 하지 말고, 플래시카드를 사용하여 **패턴**을 외우세요. 패턴을 인식하면 코드를 작성할 수 있습니다.

**플래시카드 만드는 방법:**
*   **앞면:** 패턴 트리거: "가중치가 없는 그래프에서 최단 경로 찾기."
*   **뒷면:** 큐(Queue)를 사용하는 너비 우선 탐색(BFS).
*   **앞면:** 패턴 트리거: "배열의 모든 조합 또는 순열 찾기."
*   **뒷면:** 재귀를 사용하는 백트래킹 / 깊이 우선 탐색(DFS).
*   **앞면:** 패턴 트리거: "고정된 크기 K의 최대 부분 배열 합 찾기."
*   **뒷면:** 슬라이딩 윈도우(Sliding Window) 기법.

## 3. 시스템 설계 어휘 및 트레이드오프

시스템 설계 면접에서는 다양한 아키텍처의 트레이드오프를 비교해야 합니다. 플래시카드는 다양한 기술의 장단점을 암기하는 데 완벽합니다.

**플래시카드 만드는 방법:**
*   **앞면:** SQL 대 NoSQL: 언제 NoSQL을 선택해야 합니까?
*   **뒷면:** 1. 데이터가 비정형이거나 스키마가 없을 때. 2. 빠른 수평 확장(샤딩)이 필요할 때. 3. 빠른 프로토타이핑을 위해.
*   **앞면:** 롱 폴링, WebSockets, 서버 전송 이벤트(SSE)의 차이점은 무엇입니까?
*   **뒷면:** (실시간 채팅 앱에 WebSocket을 사용하는 것과 같이 각각에 대한 정의와 특정 사용 사례를 나열합니다).

## 4. 구문 및 언어별 특성

면접 중에는 IDE의 자동 완성이나 StackOverflow에 접근할 수 없습니다. 선택한 언어(Python, Java, C++ 등)의 구문을 완벽하게 알아야 합니다.

*   **앞면(Python):** 딕셔너리를 값에 따라 내림차순으로 어떻게 정렬합니까?
*   **뒷면:** `sorted(my_dict.items(), key=lambda x: x[1], reverse=True)`

## 코딩 준비에 Flashcards World를 사용해야 하는 이유

*   **구문 강조(Syntax Highlighting):** 마크다운(Markdown) 연동을 사용하여 플래시카드에 코드 조각을 쉽게 추가할 수 있습니다.
*   **크로스 플랫폼:** 출퇴근이나 통학 중에 스마트폰으로 Big O 표기법을 복습하세요.
*   **간격 반복:** 우리의 알고리즘은 이미 알고 있는 기본 구문보다 가장 어려운 시스템 설계 질문을 더 자주 복습하도록 보장합니다.

"코딩 인터뷰 완전 분석(Cracking the Coding Interview)" 책을 수동적으로 다시 읽는 것을 멈추세요. 플래시카드로 정보를 적극적으로 상기하기 시작하고 자신감을 가지고 다음 기술 면접에 임하세요.
