C++로 성능이 중요한 부분, Python으로 나머지를 구현한 사례
이미지 처리 프로젝트에서 픽셀 단위 연산이 많은 필터링 로직은 C++로 구현하고, 전체 파이프라인 제어와 결과 시각화는 Python으로 작성했습니다. 순수 Python으로 구현했을 때 1000장 처리에 42초가 걸렸는데, 연산 부분을 C++로 바꾸고 pybind11로 연동하니 6초로 줄었습니다. 이 경험으로 언어별 강점을 살려 조합하는 방법을 배웠습니다.
면접관이 이 한 문장으로 확인하려는 것들. 각 갈래를 알면 답의 뼈대가 잡혀요.
이미지 처리 프로젝트에서 픽셀 단위 연산이 많은 필터링 로직은 C++로 구현하고, 전체 파이프라인 제어와 결과 시각화는 Python으로 작성했습니다. 순수 Python으로 구현했을 때 1000장 처리에 42초가 걸렸는데, 연산 부분을 C++로 바꾸고 pybind11로 연동하니 6초로 줄었습니다. 이 경험으로 언어별 강점을 살려 조합하는 방법을 배웠습니다.
자료구조 수업 과제로 연결 리스트 기반 캐시를 C++로 구현하면서 초반에는 메모리 해제를 누락해 프로그램이 점점 느려지는 문제를 겪었습니다. Valgrind로 메모리 누수를 확인하고 소멸자를 제대로 구현한 뒤 문제를 해결했습니다. 이후 Python 프로젝트에서도 리소스를 명시적으로 해제해야 하는 상황을 더 잘 인식하게 됐습니다.
코딩 테스트 준비로 알고리즘 문제는 C++로 풀며 시간복잡도를 체감했고, 동시에 반복 업무를 줄이려고 파일 정리 자동화 스크립트를 Python으로 짰습니다. 매주 수십 개씩 쌓이던 실습 파일을 폴더별로 자동 분류하는 스크립트를 만들어 정리 시간을 거의 없앴습니다. 두 언어를 함께 쓰며 목적에 맞는 도구를 고르는 감각을 키웠습니다.
같은 실수가 반복돼요. 이것만 피해도 절반은 갑니다.
진짜 면접은 두 번째 질문부터예요. 이 답 뒤에 따라올 법한 것들.