Skip to content

Latest commit

 

History

History
123 lines (107 loc) · 5.01 KB

05-ETC.md

File metadata and controls

123 lines (107 loc) · 5.01 KB

개발상식, 기타

1. 가상화가 무엇이고, 이것이 가상머신과 어떠한 차이가 있는지 설명해 주세요.

  • 그렇다면 Docker는 둘 중 어디에 속하나요? 왜 사람들이 Docker를 많이 채택할까요?
  • 하나의 Host OS에서 돌아간다면 충분히 한 컨테이너가 다른 컨테이너에 간섭할 수 있는 위험이 있지 않을까요? 이를 어떻게 방어할 수 있을까요?
  • Docker 위에 Docker를 올릴 순 없을까요?

2. CI/CD 를 사용해 본 경험이 있나요? 있다면 간단하게 설명해 주세요.

3. static 키워드는 어떤 의미를 갖나요? (본인이 사용하는 언어에서 없다면 패스...)

  • 컴파일 할 때, static 키워드가 붙은 변수, 함수는 어떻게 처리되나요?
  • Java에서 static과 static final은 어떤 차이를 갖나요? final과 static final은요?

4. 객체지향 프로그래밍이 무엇인가요?

  • SOLID 원칙에 대해 설명해 주세요.
  • 다형성이 무엇인지 설명하고, 동적 다형성과 정적 다형성이 무엇인지 설명해 주세요.
  • 오버로딩과 오버라이딩의 차이에 대해 설명해 주세요.
  • 클래스가 있는 언어는 반드시 객체지향 언어라고 할 수 있을까요? 그 반대는 성립하나요?

5. 프레임워크와 라이브러리의 차이에 대해 설명해 주세요.

6. Call By Value와 Call By Reference의 차이를 본인의 언어를 기반으로 설명해 주세요.

  • 사실 이 질문에는 약간의 낚시가 있습니다. 과연 모든 언어에 저 개념이 존재할까요?

7. 순수함수가 무엇인지를 함수형 프로그래밍 매커니즘과 연관지어 설명해 주세요.

  • Side Effect가 무엇인가요? 이를 모두 없애는 프로그래밍이 이상적이라고 할 수 있을까요?
  • 왜 함수형 프로그래밍 매커니즘을 사용한다고 생각하시나요?
  • 순수함수는 Thread Safe 한가요? 왜 그럴까요?
  • 고차함수에 대해 설명해 주세요.

8. MVC 패턴이 무엇인가요?

  • 다른 아키텍쳐 패턴은 없나요? MVC랑 비교해서 어떤 차이가 있나요?

9. 디자인 패턴이 무엇인지 설명해주고, 대표적인 디자인 패턴에 대해 설명해 주세요.

  • Singleton의 장단점에 대해 설명해 주세요.
  • Singleton이 하나의 객체를 생성한다는 것을 어떻게 보장할 수 있을까요?

10. GC에 대해 설명해 주세요.

  • 본인이 사용하는 언어에서는 GC를 어떻게 구현했나요?
  • GC의 장단점에 대해 설명해 주세요.
  • GC는 어떤 영역에 있는 데이터를 관리하나요?
  • Reference Counting 방식에 대해 설명하고, 이 알고리즘에서 발생할 수 있는 순환 참조 및 Retain Cycle에 대해 설명해 주세요.

11. 32비트와 64비트의 차이는 무엇인가요?

  • 32비트에서 가용한 메모리의 크기는 최대 4GB라고 하는데, 왜 그런걸까요?

12. 인증과 인가의 차이에 대해 설명해 주세요.

  • OAuth가 무엇인지 설명하고, 이것은 인증인지 인가인지에 대해 설명해 주세요.

13. JWT 인증 방식이 무엇인가요?

  • Signature는 어떻게 만들어지나요?
  • 만약 Access Token이 탈취되면, 어떻게 대응할 수 있을까요?
  • 반대로 Refresh Token이 탈취되면, 어떻게 대응해야 할까요?

14. 암호화 알고리즘에 대해 설명해 주세요.

15. 문자열 인코딩에 대해 설명해 주세요.

  • Base64 인코딩은 일반적인 문자열 인코딩과는 달리, 사용자가 읽기 어려운 알파벳과 숫자 조합으로 변경합니다. 이를 사용하는 이유는 무엇일까요?

16. Git에 대해 설명해 주세요.

  • 여러 브랜치를 합쳐야 할 때, 어떤 방법을 사용할 수 있는지 "모두" 설명해 주세요.
  • 여러 브랜치를 합쳐야 할 때, 어떤 방법을 사용할 수 있는지 "모두" 설명해 주세요.