찬란하게

개발 직군 면접 비유적인 표현으로 이해하기! 본문

게임프로그래밍/게임 개발 지식

개발 직군 면접 비유적인 표현으로 이해하기!

체리핫 2023. 2. 19. 17:39

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

  • 답변: 객체 지향 프로그래밍은 마치 레고 블록을 조합하듯이, 작은 부품들을 조합해 더 큰 시스템을 구축하는 프로그래밍 기법입니다. 객체 지향 프로그래밍에서는 각각의 부품이 객체(Object)로서 정의되며, 이러한 객체들이 서로 상호작용하면서 전체 시스템을 구축합니다.

2. 쓰레드(Thread)와 프로세스(Process)의 차이는 무엇인가요?

  • 답변: 쓰레드와 프로세스는 마치 여러 명이 일을 동시에 처리하는 것과, 한 명이 여러 가지 일을 번갈아가며 처리하는 것과 같습니다. 즉, 프로세스는 독립적인 실행 단위이며, 쓰레드는 한 프로세스 내에서 여러 개의 실행 단위를 갖는 것입니다. 여러 개의 쓰레드가 같은 프로세스 내에서 동시에 실행될 수 있으며, 이러한 방식으로 병렬처리를 할 수 있습니다.

3. 게임에서 사용되는 알고리즘의 종류는 무엇이 있나요?

  • 답변: 게임에서 사용되는 알고리즘으로는 그래프 알고리즘, 정렬 알고리즘, 검색 알고리즘 등이 있습니다. 그래프 알고리즘은 게임에서 맵을 그리거나, 경로 탐색 등에 사용됩니다. 정렬 알고리즘은 게임에서 랭킹이나 아이템 목록 등을 정렬할 때 사용됩니다. 검색 알고리즘은 게임에서 NPC나 아이템을 찾을 때 사용됩니다.

4. 게임에서 사용되는 가비지 컬렉션(Garbage Collection)이란 무엇인가요?

  • 답변: 게임에서 사용되는 가비지 컬렉션은 마치 쓰레기통을 비우는 것과 같은 것입니다. 가비지 컬렉션은 더 이상 사용되지 않는 객체를 메모리에서 제거하는 작업을 수행합니다. 이를 통해 메모리 누수(Memory Leak)를 방지하고, 게임의 성능을 최적화할 수 있습니다.

5. 게임에서 사용되는 컴파일러(Compiler)와 인터프리터(Interpreter)의 차이는 무엇인가요?

  • 답변: 게임에서 사용되는 컴파일러는 마치 번역기와 같은 것입니다. 컴파일러는 소스 코드를 기계어로 변환하는 작업을 수행합니다. 반면, 인터프리터는 소스 코드를 한 줄씩 읽어서 실행하는 것입니다. 즉, 컴파일러는 전체 소스 코드를 번역하고 실행하는 반면, 인터프리터는 소스 코드를 한 줄씩 해석하고 실행합니다.