Skip to content

2주차 과제 리뷰 (4팀) #3

@Integerous

Description

@Integerous

2주차 과제 수고하셨습니다!

전반적으로 핵심답변의 내용이 명료하고 핵심을 잘 찌르고 있습니다!
다른 팀들보다 답변 수준이 높아서, 제가 피드백 드릴게 많지 않네요ㅎ

정리한 내용들 퀄리티가 좋아서, 스터디 기간이 끝나도 저도 이 저장소에 계속 머물고 싶을 정도에요ㅎ
정리하느라 고생하셨겠어요. 훌륭합니다!

POJO

예상 추가질문

  1. POJO와 Java bean, Spring bean는 같은 것들인가요?

DI/IoC

예상 추가질문

  1. IoC가 무엇인지는 아시는 것 같은데, IoC가 필요한 이유는 무엇인가요? 왜 외부에서 제어 흐름을 관리해야하죠?
  2. BeanFactory와 ApplicationContext는 각각 무엇인가요?

MVC - 프론트 컨트롤러 패턴

피드백

  • 프론트 컨트롤러 패턴은 신입 개발자 면접에서 나올만한 질문은 아닙니다. 프론트 컨트롤러 패턴은 디자인 패턴이라기보다 아키텍쳐 패턴에 가깝기 때문입니다.
  • 실무에서는 프론트 컨트롤러 패턴에 대해 고려하기 보다 디자인 패턴인 Facade Pattern을 주로 사용합니다.
  • 하지만 이 질문은 매우 중요한 내용이니 반드시 숙지하셔야합니다.

MVC - Dispatcher Servlet 동작 원리

피드백

  • Dispatcher Servlet 앞, 뒤에서 동작하는 Filter와 Interceptor의 차이와 활용에 대해서도 준비하시는 것이 좋습니다. 면접 단골 질문이에요-!
    밑에서 제대로 해주셨네요ㅋㅋ

예상 추가질문

  1. Dispatcher Servlet은 어느 시점에 생성되나요?
  2. Dispatcher Servlet이 Controller 객체를 직접 메모리에 생성하나요?
    • 직접 생성하지 않는다면 무엇이 그 역할을 수행하나요?
  3. DispatcherServlet이 생성된 이후의 과정은 잘 알고 계신 것 같은데, 웹 어플리케이션이 실행된 이후부터 DispatcherServlet이 생성되기전까지 Spring framework가 어떤 준비를 하는지 설명해주실 수 있나요?
  4. Filter와 Interceptor의 공통적인 용도는 무엇인가요?
  5. Filter와 Interceptor는 Web Application과 Spring Context중 각각 어디에 등록될까요?
  6. Filter와 Interceptor에서 예외가 발생하면 Web Application과 Spring Context중 각각 어디에서 처리되나요?
  7. View를 렌더링하기 전에 추가작업을 할 수 있는 것은 Filter인가요? 아니면 Interceptor인가요?
  8. 웹 어플리케이션의 API를 개발할 때 Interceptor를 활용하기 적합한 기능을 생각나는대로 말해주세요.

AOP

피드백

  • AOP는 JointPoint, PointCut 같은 세세한 기능의 활용에 대한 질문보다는 AOP의 기본적인 개념과 Spring에서 AOP를 어떻게 응용하고 활용하는지에 대한 질문이 주로 나오는 편입니다.

예상 추가질문

  1. 프로젝트에서 AOP를 활용한 부분이 있으실까요?
    • 사용자 인증과 로깅을 구현하셨던데 이건 AOP를 활용한 것이 아닌가요?
    • 그럼 @transactional 어노테이션은 AOP를 활용한 기능인가요?
  2. 만약 프로젝트의 모든 Entity에서 Entity 생성시간과 수정시간 필드를 사용한다면, 이 필드를 한 곳에서 관리할 수 있는 방법이 있을까요? Spring framework를 사용하는 환경입니다.

Spring에서 CORS 에러를 해결하는 방법

피드백

  • 저도 이 문제는 닥치면 구글링해서 해결하고 새까맣게 잊는 편인데 잘 정리하셨네요ㅎ 저도 배워갑니다ㅎ

Bean

예상 추가질문

  1. Spring framework로 웹 어플리케이션을 개발할 때 Bean Scope 중 프로토타입 스코프는 어떤 경우에 활용하면 좋을까요?

Getter, Setter

피드백

  • Setter를 데이터 무결성과 연결하시면 면접관들이 읭?하실 가능성이 있습니다. 물론 추가 설명하시면 이해하시겠지만, Setter보다는 Builder 패턴이나 SOLID 개방폐쇄원칙에 더 적합한 주제입니다.

DTO

피드백

  • 단순히 데이터를 객체 형식으로 넘기기 위해서만 사용하는 것은 아닙니다.
  • 실무에서 API 개발시에도 DTO는 정말 자주 활용됩니다. 때문에 면접에서는 DTO의 개념에 대해 묻는 것에 그치지 않고, DTO를 실제로 활용할 때 Serialize/Deserialize와 ObjectMapper가 중요한 이슈이기 때문에 이 점에 대해 질문이 들어올 수 있습니다. 만약 개인/팀 프로젝트에서 DTO를 사용하셨다면 더더욱 준비하셔야 합니다.
  • DTO로 넘긴 데이터가 어떻게 JSON 형식으로 변환되고, JSON 데이턱 어떻게 객체에 매핑되는지, 그 과정에서 어떤 라이브러리가 관여하는지, Serialize/Deserialize를 하는 이유는 무엇인지 등을 학습해두세요-!

Spring 에서의 예외 처리

피드백

  • 신입 개발자에게 이 내용을 자세하게 물어볼 가능성은 낮습니다.
  • 경력 개발자 이직 면접에서 예외 처리는 어떻게 하셨어요~?라고 시작되는 질문의 꼬리물기 질문에서 자주 나오는 내용입니다.
  • ExceptionHandler는 나중에는 실무에서도 결국 사용할 가능성이 높고, 경력 개발자로 이직할 때 과제 전형이 있는 경우, ExceptionHandler를 활용해서 예외 처리를 공통적으로 처리하면 좋은 평가를 받을 가능성이 높기 때문에 미리 알아두시는 것은 정말 좋습니다.

JPA

피드백

  • 3주차 내용으로 옮겨주세요-!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions