Python
Python/Django 기술면접 질문
두잇 두두
2025. 3. 5. 22:32
728x90
🟢 Python 기초 및 언어적 특징
- Python의 GIL(Global Interpreter Lock)이란 무엇이며, 어떤 영향을 미치는가?
- deepcopy와 shallow copy의 차이는?
- Python에서 is와 ==의 차이는?
- __new__와 __init__의 차이는?
- Python의 메모리 관리 방식(Garbage Collection 포함)을 설명하라.
- @staticmethod, @classmethod, @property의 차이는?
- Python의 데이터 구조(리스트, 튜플, 딕셔너리, 셋)의 내부 동작 방식은?
- Python의 언패킹(*args, **kwargs)과 활용 예시는?
- Python의 다중 상속과 MRO(Method Resolution Order)의 동작 방식은?
- Python에서 예외 처리의 원리와 raise, try-except-else-finally의 동작 방식은?
🔵 Python 성능 최적화 및 동시성
- multiprocessing과 threading의 차이는?
- CPU-bound 작업과 I/O-bound 작업에서 어떤 동시성 기법이 적절한가?
- asyncio의 동작 방식과 await, async def의 역할은?
- yield와 yield from의 차이는? (제너레이터 활용 포함)
- __slots__를 사용하면 어떤 장점이 있는가?
- dataclass와 일반 클래스의 차이점 및 장점은?
- deque(collections 모듈)와 일반 리스트의 성능 차이는?
- ORM의 select_related()와 prefetch_related() 차이는?
- Django ORM에서 bulk_create(), bulk_update(), update()의 차이는?
- 데이터베이스 연결 개수를 최적화하는 방법은?
🟣 Django 기본 및 ORM
- Django의 MTV(Model-Template-View) 아키텍처를 설명하라.
- Django ORM의 N+1 문제란 무엇이며, 해결 방법은?
- Django에서 OneToOneField, ForeignKey, ManyToManyField의 차이는?
- related_name과 related_query_name의 차이는?
- Django에서 QuerySet이 Lazy Evaluation(지연 평가) 방식으로 동작하는 이유는?
- select_related()와 prefetch_related()의 차이와 사용 예시는?
- Django의 signals는 언제 사용하면 좋은가?
- Django의 middleware는 어떻게 동작하는가?
- Form과 ModelForm의 차이점은?
- Django에서 Serializer(DRF)와 ModelForm의 차이는?
🟠 Django 성능 최적화 및 대규모 시스템 설계
- Django에서 캐싱을 적용하는 방법과 종류(per-site, per-view, per-template, low-level)?
- Redis를 Django에서 활용하는 방법은?
- Django에서 대량의 데이터를 효율적으로 처리하는 방법은?
- Django에서 DB 성능을 최적화하기 위한 인덱스 전략은?
- DATABASE_ROUTERS를 활용한 Master-Slave(읽기/쓰기 분리) DB 설정 방법은?
- Django의 connection.queries를 사용하여 쿼리 실행 시간을 분석하는 방법은?
- Django에서 raw SQL을 직접 실행하는 방법과 주의할 점은?
- Django의 transaction.atomic을 사용할 때 주의해야 할 점은?
- Django에서 요청(Request)의 Lifecycle을 설명하라.
- Django의 StreamingHttpResponse와 SSE(Server-Sent Events)의 차이는?
🟡 배포 및 실무 관련
- Django 애플리케이션을 배포할 때 WSGI와 ASGI의 차이점은?
- Django에서 Gunicorn + Nginx 조합을 사용할 때 고려할 점은?
- Django에서 Celery를 활용한 비동기 작업 처리 방식은?
- Django에서 API Rate Limit을 적용하는 방법은?
- Django 애플리케이션을 컨테이너(Docker) 환경에서 운영할 때의 베스트 프랙티스는?
- Django에서 JWT(JSON Web Token) 인증을 구현하는 방법은?
- Django에서 WhiteNoise를 이용해 정적 파일을 처리하는 방식은?
- Django 애플리케이션을 서버리스(Serverless) 환경에서 운영할 수 있는 방법은?
- Django에서 ALLOWED_HOSTS를 설정하는 이유와 보안적 고려사항은?
- Django에서 CORS(Cross-Origin Resource Sharing) 문제를 해결하는 방법은?
🏆 추가로 공부하면 좋은 개념
- Django ORM 내부 동작 원리
- Django에서 ViewSet과 APIView의 차이
- Django의 pagination(페이지네이션) 구현 방법
- Django에서 WebSocket과 Channels를 이용한 실시간 통신
- Django에서 데이터 마이그레이션 전략