나를 위한 면접 (Backend Developer Interview Questions)
· 약 27분
BE Interview Questions를 아는 만큼 답해보았다 지극히 주관적이라 정답이 아닐 수 있습니다
Design Patterns
Why are global and static objects evil?
- 전역변수는 어디서 변경되었는지 추적이 힘듦
- 그리고 자바의 경우 콜스택이 끝나면 비워지는 지역변수와 달리 메모리의 static 영역에 계속 상주해 있음
Tell me about Inversion of Control and how does it improve the design of code
- 클래스 안에 다른 클래스의 기능이 필요하다면 내부에서 생성자를 이용해 두 클래스 간의 종속이 생겨버리는데
- IoC를 통한다면 DI 패턴으로 구현해
new A(new B())
처럼 종속성을 분리시킬 수 있음 - TypeHint 를 통해 의존성을 확인할 수 있으므로 더 직관적이기도 하다
- What is Inversion of Control?
Active-Record is the design pattern that promotes objects to include functions such as Insert, Update, and Delete, and properties that correspond to the columns in some underlying database table. In your opinion and experience, which are the limits and pitfalls of the this pattern?
- 장점
- 하나의 구조로 모든 모델을 제어할 수 있게 해준다.
- 또한 모든 DB 마다 다른 쿼리문 (예를 들어 페이징)을 손쉽게 처리할 수도 있다.