목차/차례
1. RESTful API 설계 시 고려해야 할 주요 원칙은 무엇인가요
2. 데이터베이스 설계 시 정규화와 비정규화의 차이점에 대해 설명해주세요.
3. 서버 사이드에서 비동기 처리를 구현하는 방법에는 어떤 것이 있나요
4. OAuth2 인증 방식을 설명하고, 이를 활용한 인증 흐름을 간단히 설명해주세요.
5. 예외 처리와 에러 핸들링을 효과적으로 하기 위한 전략은 무엇인가요
6. 캐시(Cache)의 역할과 구현 방법에 대해 설명해주세요.
7. 마이크로서비스 아키텍처의 장단점은 무엇이라고 생각하나요
8. 테스트 주도 개발(TDD)의 개념과 이를 적용했을 때 기대하는 효과는 무엇인가요
본문/내용
1. RESTful API 설계 시 고려해야 할 주요 원칙은 무엇인가요
RESTful API 설계 시 고려해야 할 주요 원칙은 일관성, 명확성, 확장성, 그리고 사용자 친화성입니다. 일관성 있는 URI 구조를 유지해야 하며, 자원을 명확하게 표현하는 것이 중요합니다. 예를 들어, 사용자 정보를 조회하는 경우 "/users/{id}"와 같은 직관적인 경로를 사용합니다. 또한, HTTP 메서드(GET, POST, PUT, DELETE 등)를 적절히 활용하여 각 요청의 의도를 명확히 해야 합니다. 예를 들어, 신규 데이터를 생성할 때는 POST, 데이터를 수정할 때는 PUT 또는 PATCH를 사용합니다. 상태 코드 역시 중요한데, 성공 시에는 200번대 코드를, 클라이언트 오류 시 400번대, 서버 오류 시 500번대 코드를 활용하여 클라이언트가 요청 처리 상태를 빠르게 파악하게 해야 합니다. 그리고 응답 데이터 포맷은 JSON을 표준으로 사용하는 것이 일관성을 확보하고, 문서화와 연동이 용이하게 만듭니다. 확장성을 위해 API 버전 관리를 고려하며, 예를 들어 "/api/v1/"와 같이 명시합니다. 또한, 페이지네이션, 필터링, 정렬 기능을 제공하여 대량 데이터 처리에 효율성을 높이며, 이는 사용…