AI 면접 후기: 어댑터 패턴, JS Map, 그리고 직무 전환 이야기

by DD
3주 전
조회수 58

AI Native 빌더 면접 후기로, 어댑터 패턴(Adapter Pattern)JS Map 활용 등 기술적 경험 공유

Interface Hub 프로젝트에서 어댑터 패턴(Adapter Pattern) 적용, 5가지 프로토콜(REST, SOAP, MQ, BATCH, SFTP) 처리

Cost Compass 프로젝트에서 326건 데이터 집계를 위해 JS Map 사용, 추상화(Abstraction)를 통해 유연성 확보

면접에서 직무 전환 관련 질문에 대한 답변을 통해 AI를 활용한 빠른 성취에 대한 흥미를 강조

어댑터 패턴(Adapter Pattern) 적용: Interface Hub

본문에서는 Interface Hub 프로젝트에서 어댑터 패턴(Adapter Pattern)을 적용하여 5가지 프로토콜(REST, SOAP, MQ, BATCH, SFTP)을 처리한 경험을 설명한다.

문제점: 초기 if-else 분기 방식은 프로토콜 추가 시 코드 비대화 및 유지보수성 저하

해결책: 공통 인터페이스(Common Interface)를 두고 각 프로토콜이 이를 구현하는 방식으로 변경

장점: 실행 엔진은 프로토콜 종류를 몰라도 동작하며, 새 프로토콜 추가 시 어댑터 파일과 registry만 추가

결과적으로 코드의 유연성(Code Flexibility)을 확보하고, 새로운 기술 도입에 대한 확장성(Extensibility)을 높였다.

JS Map을 활용한 데이터 집계: Cost Compass

글에서는 Cost Compass 프로젝트에서 326건의 소규모 데이터 집계를 위해 JS Map을 사용한 이유를 분석한다.

상황: SQL GROUP BY 대신 JS Map을 사용, 100KB 미만의 데이터는 메모리에서 처리

장점: 단순한 코드로 디버깅 용이, UI 변경 없이 SQL로 전환 가능

추상화(Abstraction): 함수 내부 구현(JS Map or SQL)과 무관하게 UI는 반환 타입만 참조

결론적으로 데이터 규모(Data Size)에 따라 적절한 기술을 선택하고, 추상화(Abstraction)를 통해 유연성을 확보하는 것이 중요하다.

추상화(Abstraction)의 중요성

글쓴이는 추상화(Abstraction)를 통해 코드의 유연성을 확보하고, 변경에 용이한 설계를 강조한다.

개념: 함수 내부 구현을 숨기고, 외부에서는 인터페이스만 사용

장점: 구현 변경 시 UI 등 다른 부분에 영향 최소화, 유지보수성 향상

비용: 초기 설계 시 추가적인 시간 소요

결과적으로 추상화(Abstraction)는 코드의 복잡성을 관리하고, 변화에 대응하는 데 필수적인 기술이다.

바이브코딩의 학습 곡선과 병목 구간

글쓴이는 바이브코딩을 통해 AI와 함께 코드를 작성하는 과정에서 겪는 학습 곡선과 병목 구간을 제시한다.

문제점: AI가 생성한 코드를 이해하고 설명하는 능력 부족

해결책: AI가 생성한 코드의 설계 의도를 파악하고, 자신의 언어로 설명하는 연습 필요

중요성: AI 활용 능력을 넘어, 자신의 지식으로 만드는 과정(Knowledge Creation)이 중요

결론적으로 바이브코딩은 AI를 활용한 개발 생산성을 높이는 동시에, 자신의 역량을 강화(Skill Enhancement)하는 기회가 될 수 있다.

바이브코딩 직무 면접 회고