목차/차례
1. 본인이 경험한 프로젝트 중 가장 어려웠던 문제와 해결 방법에 대해 설명해 주세요.
2. 프론트엔드와 백엔드 개발 시 각각 어떤 기술 스택을 선호하며 이유는 무엇인가요
3. REST API와 GraphQL의 차이점과 각각의 장단점에 대해 설명해 주세요.
4. 클린 코드의 중요성에 대해 설명하고, 이를 위해 어떤 노력을 하고 있나요
5. 데이터베이스 설계 시 어떤 기준으로 정규화를 진행하나요
6. 배포 과정에서 발생할 수 있는 문제와 이를 해결하는 방법에 대해 설명해 주세요.
7. 버전 관리 시스템(Git)을 사용할 때 중요한 브랜치 전략이나 워크플로우는 무엇인가요
8. 최근에 학습하거나 관심 있게 보고 있는 최신 기술이나 트렌드에 대해 말씀해 주세요.
본문/내용
1. 본인이 경험한 프로젝트 중 가장 어려웠던 문제와 해결 방법에 대해 설명해 주세요.
가장 어려웠던 문제는 한 프로젝트에서 실시간 데이터 동기화 문제였습니다. 당시 구축한 채팅 애플리케이션에서 수시로 발생하는 데이터 지연과 누락 문제들이 있었으며, 사용자 수는 1만 명 이상으로 급증하던 시점이었습니다. 이 문제는 서버와 클라이언트 간의 WebSocket 연결 안정성 문제와 메시지 전달 순서 불일치에서 비롯된 것이었습니다. 해결을 위해 먼저 서버 쪽에 메시지 큐 시스템을 도입하여 각 메시지를 순차적으로 처리하게 하였고, Redis를 활용한 pub/sub 구조를 설계해 실시간 데이터 전파 속도를 30% 이상 향상시켰습니다. 또한, 클라이언트와 서버 간의 연결 상태를 지속적으로 체크하는 Heartbeat 기능을 강화하였고, 장애 발생 시 자동 재연결과 메시지 재전송 로직을 구현하여 누락률을 0. 1% 이하로 낮췄습니다. 결국, 이 솔루션 도입 이후 평균 메시 전달 지연 시간은 200ms 이하로 줄고, 데이터 동기화 신뢰도는 9 9% 이상으로 향상되어 사용자 불편을 크게 감소시켰습니다.
2. 프론트엔드와 백엔드 개발 시 각각 어떤 기술 스택을 선호하며 이유는 …