1. 아키텍처 상 다양한 기술(nginx, ec2, docker, redis, jenkins 등)을 사용하셨는데요. 어떠한 이유로 해당 기술스택을 사용하게 되었나요?
  1. 코드 컨벤션 상 jpa의 엔티티에는 builder 어노테이션을 사용하기로 설정하셨는데요. builder 패턴을 쓰면 어떤 이점이 있을까요?

  2. 서비스 레이어 간 순환참조가 발생하는 이슈로 트러블 슈팅 경험을 작성하셨는데요. 구체적으로 어떤 케이스에 발생하였고 어떤 방식으로 해결하셨나요? 해결한 방식으로 어떤 이점을 얻을 수 있었고 아쉬운 점은 무엇인가요?

  3. spring security를 이용해 인증/인가를 구현하셨는데요. 동작방식에 대해 자세히 설명해주세요. 또 jwt 토큰을 이용한 로그인에서는 완전한 의미의 로그아웃 구현이 어려운데 그 부분은 어떻게 해결하셨나요? 해결하지 못하셨다면 어떻게 해결하면 안전한 로그아웃을 구현할 수 있을까요?

  4. 트랜잭션 처리를 적절히 잘 해주셨습니다.

  1. https 적용을 고려하셨는데 http 와 https 의 차이는 무엇인가요? https 를 도입했을 때 실무에서 어떤 이점이 있을까요?
  1. ERD 설계 상 enum 타입을 쓰셨는데 enum 타입의 특징과 한계는 무엇이 있을까요? (enum타입은 데이터베이스 표준은 아니기 때문에 실무에서는 잘 사용하지 않습니다.) 그러면 db에서는 enum 타입을 사용하지 않고 java 레벨에서는 enum을 사용하려면 어떤 방식으로 구현해야할까요?
  1. ERD 상에 문자열을 String 타입으로 설정하셨는데 Mysql 에서 일반적인 문자는 char, varchar 타입으로 저장합니다. char, varchar 의 차이점은 무엇일까요? 또 실서비스에서 유지보수를 고려한다면 주로 어떤 타입으로 정의하는 것이 좋을까요?