면접 준비 25.02.19 -2

2025. 2. 19. 17:01
  • 메모리의 종류에 대해 설명하고, 종류가 여러가지인 이유에 대해 설명해주세요.
    • 주기억장치(RAM) : 데이터를 임시로 저장하며, 데이터가 휘발된다.
    • 보조기억장치 : 데이터를 영구적으로 저장한다. 데이터가 휘발되지 않는다.
    • 캐시 메모리 : CPU와 주기억 장치 사이에 위치하여 데이터를 빠르게 접근 할 수 있도록 도와준다.
    • ROM(read only memory) : 읽기 전용 메모리, 비 휘발성이다.
    •  
  • 전역 변수와 정적 변수의 차이는?
    • 전역 변수는 프로그램은 다른 파일에서도 해당 변수에 접근이 가능한 것을 의미. 정적 변수는 다른 파일에서는 접근 할 수 없다.
  • OS가 메모리 관리를 해야하는 이유에 대해 설명해주시고, 메모리 관리를 위해 어떤 전략을 사용하는지 설명해주세요.
    • 프로세스 간의 메모리 충돌을 방지하고, 각 프로세스가 필요한 만큼의 메모리를 적절히 할당받도록 관리합니다.
      시스템 자원의 효율적인 사용을 통해 성능을 극대화합니다.
    • 페이징 : 물리적 메모리를 페이지 단위로 나누어 가상 메모리와 매핑합니다.
      세그멘테이션 : 논리적 메모리를 세그먼트 단위로 나누어 관리합니다.
      메모리 할당 기법 : 첫 번째 적합, 최악의 적합, 최선의 적합 등 다양한 기법을 사용하여 메모리를 효율적으로 할당합니다.
  • 가상 메모리가 무엇인지 설명해주세요.
    • 가상 메모리는 실제 메모리가 아닌 운영체제가 하드 드라이브 일부를 가상 메모리로 사용하여, 실제 보다 더 큰 용량의 메모리처럼 사용할 수 있게 해주는 기술
  • 캐시(cache) 메모리를 왜 사용하는지, CPU의 적중률을 높이기 위해 어떤 원리를 사용하는지에 대해 설명해주세요.
    • 캐시 메모리는 CPU와 RAM간의 속도 차이를 줄여주기 위해서 사용합니다.
    • 지역성의 원칙을 이용해서 최근에 사용된 데이터나 인접한 데이터를 캐시에 저장합니다.
  • 메모리가 고갈되면 일어나는 현상에 대해 설명해주세요.
    • 메모리가 고갈되면 프로그램이 새로운 메모리를 할당받지 못해 오류가 발생하거나, 시스템이 느려지며, 결국 애플리케이션이 비정상 종료될 수 있습니다. 또한, 운영 체제는 스와핑(swap)을 통해 디스크로 메모리를 옮기려 할 수 있지만, 이 경우 성능이 저하됩니다.
  • 가비지 컬렉터란 무엇인가요?
    • 가비지 컬렉터(Garbage Collector)는 프로그램에서 더 이상 참조되지 않는 메모리를 자동으로 회수하는 시스템입니다. 이를 통해 메모리 누수를 방지하고, 프로그래머가 수동으로 메모리를 관리할 필요를 줄입니다.
  • Dart에서 가비지 컬렉터는 어떤 방식으로 작동하나요?
    • Dart의 가비지 컬렉터는 마크-스윕(Mark-Sweep) 알고리즘을 사용하여 작동합니다. 이 방식에서는 다음과 같은 과정이 이루어집니다
    • 마크 단계: 루트 객체에서 시작하여 접근 가능한 모든 객체를 마크합니다.
    • 스윕 단계: 마크되지 않은 객체(더 이상 사용되지 않는 객체)를 메모리에서 회수합니다.

'기초' 카테고리의 다른 글

면접 준비 25.02.19 : OOP  (0) 2025.02.19
면접 질문 CS 25.02.18  (0) 2025.02.18

BELATED ARTICLES

more