Python

Python/Django 기술면접 질문

두잇 두두 2025. 3. 5. 22:32
728x90

🟢 Python 기초 및 언어적 특징

  1. Python의 GIL(Global Interpreter Lock)이란 무엇이며, 어떤 영향을 미치는가?
  2. deepcopy와 shallow copy의 차이는?
  3. Python에서 is와 ==의 차이는?
  4. __new__와 __init__의 차이는?
  5. Python의 메모리 관리 방식(Garbage Collection 포함)을 설명하라.
  6. @staticmethod, @classmethod, @property의 차이는?
  7. Python의 데이터 구조(리스트, 튜플, 딕셔너리, 셋)의 내부 동작 방식은?
  8. Python의 언패킹(*args, **kwargs)과 활용 예시는?
  9. Python의 다중 상속과 MRO(Method Resolution Order)의 동작 방식은?
  10. Python에서 예외 처리의 원리와 raise, try-except-else-finally의 동작 방식은?

🔵 Python 성능 최적화 및 동시성

  1. multiprocessing과 threading의 차이는?
  2. CPU-bound 작업과 I/O-bound 작업에서 어떤 동시성 기법이 적절한가?
  3. asyncio의 동작 방식과 await, async def의 역할은?
  4. yield와 yield from의 차이는? (제너레이터 활용 포함)
  5. __slots__를 사용하면 어떤 장점이 있는가?
  6. dataclass와 일반 클래스의 차이점 및 장점은?
  7. deque(collections 모듈)와 일반 리스트의 성능 차이는?
  8. ORM의 select_related()와 prefetch_related() 차이는?
  9. Django ORM에서 bulk_create(), bulk_update(), update()의 차이는?
  10. 데이터베이스 연결 개수를 최적화하는 방법은?

🟣 Django 기본 및 ORM

  1. Django의 MTV(Model-Template-View) 아키텍처를 설명하라.
  2. Django ORM의 N+1 문제란 무엇이며, 해결 방법은?
  3. Django에서 OneToOneField, ForeignKey, ManyToManyField의 차이는?
  4. related_name과 related_query_name의 차이는?
  5. Django에서 QuerySet이 Lazy Evaluation(지연 평가) 방식으로 동작하는 이유는?
  6. select_related()와 prefetch_related()의 차이와 사용 예시는?
  7. Django의 signals는 언제 사용하면 좋은가?
  8. Django의 middleware는 어떻게 동작하는가?
  9. Form과 ModelForm의 차이점은?
  10. Django에서 Serializer(DRF)와 ModelForm의 차이는?

🟠 Django 성능 최적화 및 대규모 시스템 설계

  1. Django에서 캐싱을 적용하는 방법과 종류(per-site, per-view, per-template, low-level)?
  2. Redis를 Django에서 활용하는 방법은?
  3. Django에서 대량의 데이터를 효율적으로 처리하는 방법은?
  4. Django에서 DB 성능을 최적화하기 위한 인덱스 전략은?
  5. DATABASE_ROUTERS를 활용한 Master-Slave(읽기/쓰기 분리) DB 설정 방법은?
  6. Django의 connection.queries를 사용하여 쿼리 실행 시간을 분석하는 방법은?
  7. Django에서 raw SQL을 직접 실행하는 방법과 주의할 점은?
  8. Django의 transaction.atomic을 사용할 때 주의해야 할 점은?
  9. Django에서 요청(Request)의 Lifecycle을 설명하라.
  10. Django의 StreamingHttpResponse와 SSE(Server-Sent Events)의 차이는?

🟡 배포 및 실무 관련

  1. Django 애플리케이션을 배포할 때 WSGI와 ASGI의 차이점은?
  2. Django에서 Gunicorn + Nginx 조합을 사용할 때 고려할 점은?
  3. Django에서 Celery를 활용한 비동기 작업 처리 방식은?
  4. Django에서 API Rate Limit을 적용하는 방법은?
  5. Django 애플리케이션을 컨테이너(Docker) 환경에서 운영할 때의 베스트 프랙티스는?
  6. Django에서 JWT(JSON Web Token) 인증을 구현하는 방법은?
  7. Django에서 WhiteNoise를 이용해 정적 파일을 처리하는 방식은?
  8. Django 애플리케이션을 서버리스(Serverless) 환경에서 운영할 수 있는 방법은?
  9. Django에서 ALLOWED_HOSTS를 설정하는 이유와 보안적 고려사항은?
  10. Django에서 CORS(Cross-Origin Resource Sharing) 문제를 해결하는 방법은?

🏆 추가로 공부하면 좋은 개념

  • Django ORM 내부 동작 원리
  • Django에서 ViewSet과 APIView의 차이
  • Django의 pagination(페이지네이션) 구현 방법
  • Django에서 WebSocket과 Channels를 이용한 실시간 통신
  • Django에서 데이터 마이그레이션 전략