1. 스택 vs 힙, 프로세스 메모리 구조, 값/참조
난이도 하 해설 보기 →
문제
문제 1 — 스택 vs 힙, 프로세스 메모리 구조, 값/참조
면접 질문
-
프로세스가 실행될 때 가상 주소 공간은 어떤 영역(세그먼트)들로 나뉘는지 설명하고, 각 영역이 무엇을 담는지 말해보세요.
-
스택(stack)과 힙(heap)의 차이를 할당/해제 방식, 속도, 수명, 크기 제한 관점에서 비교해보세요.
-
"값 타입(value type)"과 "참조 타입(reference type)"의 차이는 무엇이며, 함수 인자로 전달될 때 메모리상에서 각각 어떤 일이 일어나나요? (C++ 또는 C# 기준 중 편한 쪽으로 설명해도 됩니다.)
응용 시나리오
게임 서버에서 매 틱(tick)마다 호출되는 함수가 있습니다. 이 함수 안에서 다음과 같은 코드가 실행됩니다.
- 패턴 A: 함수 안에서 지역 변수로 좌표 구조체(예:
struct Vector3 { float x, y, z; })를 여러 개 만들어 계산에 쓴 뒤 함수가 끝남. - 패턴 B: 함수 안에서
new로 객체를 매번 동적 할당해 계산에 쓰고 반환하거나 버림.
초당 수천 번 호출되는 상황에서 두 패턴이 메모리/성능 측면에서 어떻게 다르게 동작하는지, 어느 쪽이 왜 더 유리한지 설명해보세요. 또한 "지역 변수니까 무조건 스택에 올라간다"는 말이 항상 맞는지도 함께 논해보세요.
답안 작성
내 답안 · 자동 저장
직접 답을 작성한 뒤, 위 해설 보기에서 모범답안과 대조하세요.