⭐️ 2023.10.16 (월)

이준영·2023년 10월 16일

⭕️ TIL (Today I Learned)

목록 보기
63/100
post-thumbnail

⭕️ Today I Learned


매일 할 일 ✅ ❌

✅ 1일 1커밋
✅ 1일 1알고리즘 문제 풀이
✅ 1일 2기술면접 개념 정리

✏️ 오늘 한 공부

알고리즘 문제풀이

백준
  • _11559 Puyo Puyo


기술 면접 대비 개념 공부

[ 기술 면접 대비 개념 정리 통합본 ]

  1. Garbage Collector의 역할, 원리, 알고리즘에 대해 아는 만큼 설명해주실 수 있을까요?
GC는 메모리 관리 기법중 하나로, 프로그램이 동적으로 할당했던 메모리 영역 중에서 필요 없게 된 영역을 해제해 줍니다.
GC는 JVM의 메모리 영역중 Heap 영역에서 일어나게 되는데, Heap영역은 Young,Old 두가지 영역으로 나누어지게 됩니다. 이렇게 영역이 나누어지게 된 이유는 객체는 대부분 일회성이고, 메모리에 오래 남아있는 경우가 드물기 때문입니다. 새롭게 생성된 객체는 Young 영역에 저장되고, Young 영역에서 일어나는 GC를 Minor GC라고 하기도 합니다. Young영역은 Eden 영역과 2개의 survival영역으로 나누어집니다. MinorGC는 eden영역이 가득 차면 실행되게 되고, GC이후 살아남은 객체들은 age가 늘어나면서 survival영역을 번갈아가며 이동하게 됩니다. 어느정도 age가 쌓이게 되면 해당 객체들은 old영역으로 넘어가게 됩니다.
Old영역도 마찬가지로 가득 차게되면 GC가 일어나게 되고 이 GC를 Major GC라고 합니다. GC가 일어나는 과정은 크게 두가지로 나눌 수 있는데,
1. Stop the World
  • GC를 실행하기 위해서 시스템의 기능을 잠시 멈추는 시간을 의미합니다. Stop the world가 짧을 수록 좋은 성능의 GC라고 할 수 있습니다.
2. Mark and Sweep
  • Mark - 삭제대상이되는 가비지 데이터들을 체크합니다.
  • Sweep - 체크했던 가비지 데이터들을 삭제합니다.
두가지 과정으로 이루어집니다.
  1. Java Map의 내부 구현은 어떻게 이루어져 있을지 추측해보실 수 있을까요?

Hash Map

HashMap은 Hash Table 을 이용하여 만들어졌습니다.
Hash Table은 key 와 value를 저장하며, key를 이용하여 빠르게 데이터를 찾기 위한 자료구조를 가지고 있습니다.
특정 key는 해시 함수를 통하여 bucket에 접근할 수 있는 index로 변환합니다. index를 통하여 bucket에 접근하고, bucket에 맞는 index에 key와 value를 저장합니다.

Tree Map

TreeMap은 Node들의 연결로 이루어져 있습니다. 루트라는 최상위 Node가 존재하고, 부모 Node 와 자식 Node 로 구성되어 있습니다. Node 마다 key 와 value 가 같이 저장되며, key 값을 기준으로 좌측 우측으로 구분하여 저장됩니다.
  1. DI와 IoC에 대해 아는 만큼 설명해주실 수 있을까요?
DI는 Dependency Injection로, 하나의 객체가 필요로하는 요소들을 외부에서 주입해주는 것을 의미합니다. 스프링에서 제공하는 DI로는 필드주입, 생성자주입, 수정자 주입, 메소드 주입 등이 있습니다.
IoC는 제어의 역전을 의미합니다. 객체가 내부 변수를 직접 생성하게 된다면 객체가 해당 변수를 제어하고 있게 되지만, 만약 해당 내부 변수를 외부에서 제공해준다면, 제어의 방향이 외부에서 내부로 역전이 일어나게 됩니다. 이것을 IoC라고 합니다.
  1. MVC 모델이란 무엇인지 설명해주실 수 있을까요?
MVC 모델이란 Model View Controller로 어떤 특정한 역할들에 대해 역할분담을 할 때 가이드라인을 제시하는 방법 중 하나입니다.

실전 프로젝트 공부해야 할 것들

  • Kafka
  • Redis 동시성 문제 해결
  • 비관적 락
  • 낙관적 락

실전 프로젝트

  • 추가 기능 API 구현

⭐️ 하루 생각 정리 ⭐️

차근차근 하나씩 해보자~

profile
작은 걸음이라도 꾸준히

0개의 댓글