[말랑 퀴즈] 26/04/01 문제

게시:     수정

카테고리:

태그:

제 말랑말랑 퀴즈 생성기는 이곳에서 확인하실 수 있습니다.

말랑말랑 퀴즈 📝

날짜: 2026-04-01 문제 수: 5문제


Q1. 🟢 쉬움

다음 중 멀티스레딩이 필요한 상황으로 옳지 않은 것은?

  • A. UI 렌더링과 리소스 로딩을 동시에 처리해야 할 때
  • B. CPU의 여러 코어를 최대한 활용하고 싶을 때
  • C. 디스크 I/O 대기 중에도 다른 작업을 계속 처리하고 싶을 때
  • D. 순차 의존성이 있는 단일 작업 하나를 더 빠르게 실행하고 싶을 때

출처: server/game_server/1/2025-05-28-game_server_1_3.md

📝 내 선택: ( D )


Q2. 🟡 보통

다음 명제가 참(O)인지 거짓(X)인지 판단하라.

Waitable 상태의 스레드가 CPU 코어 수보다 많으면 컨텍스트 스위치가 발생하고, Runnable 상태의 스레드 수는 컨텍스트 스위치 발생 여부와 무관하다.

출처: server/game_server/1/2025-05-29-game_server_1_4.md

📝 내 답: O


Q3. 🟡 보통

빈칸을 채우시오.

C++에서 동적 메모리를 아래와 같이 할당했을 때, 올바른 해제 방법을 빈칸에 작성하시오.

// 배열 할당
string *arr = new string[100];
___ arr;   // 올바른 해제

// 단일 객체 할당
string *obj = new string;
___ obj;   // 올바른 해제

또한, 아래 typedef 코드에서 pal을 올바르게 해제하는 방법은 무엇인가?

typedef string AddressLines[4];
string *pal = new AddressLines;
___ pal;   // 올바른 해제

출처: game_dev/cpp/chapter3/2025-06-12-cpp_3_16.md

📝 내 답: ① delete[] ② delete ③ delete[]


Q4. 🔴 어려움

C++의 public 상속에서 순수 가상 함수, 단순 가상 함수, 비가상 함수 각각이 파생 클래스에 제공하는 상속의 종류(인터페이스/구현)와 오버라이드 가능 여부를 설명하시오.

또한, 아래와 같이 단순 가상 함수 fly를 기본 클래스에 정의했을 때 발생할 수 있는 위험이 무엇인지 서술하고, 이를 해결하는 방법 2가지를 설명하시오.

class Airplane {
public:
    virtual void fly(const Airport& destination); // 단순 가상 함수
};

class ModelC : public Airplane {
    // fly 재정의를 깜빡함
};

출처: game_dev/cpp/chapter6/2025-10-20-cpp_6_34.md

📝 내 풀이:

  1. 순수 가상 함수: 인터페이스, 오버라이드 필수
  2. 단순 가상 함수: 인터페이스/구현(선택), 오버라이드 가능
  3. 비가상 함수: 구현, 오버라이드 불가능

fly 재정의를 하지 않아, 예상과 다른 동작을 할 수 있다.

  1. 순수 가상 함수로 만든다.
  2. 기본 클래스에 fly 비가상 함수, fly_impl 순수 가상 함수를 두고, fly에서 fly_impl을 호출하는 형태로 만든다.

Q5. 🟡 보통

NAT(네트워크 주소 변환)에 대한 설명으로 옳지 않은 것은?

  • A. NAT는 하나의 공인 IP 주소를 여러 내부 기기가 공유할 수 있게 해준다
  • B. 포트 매핑 엔트리가 생성되는 과정을 홀펀칭(Hole Punching)이라 한다
  • C. NAT 라우터는 패킷의 목적지 주소만을 변환하여 내부 기기로 전달한다
  • D. 모바일 통신에서 대규모 사용자를 지원하기 위해 Carrier-grade NAT를 사용한다

출처: server/game_server/2/2025-12-10-game_server_2_9.md

📝 내 선택: ( C )


✅ 결과

1 2 3 4 5

MallangQuiz 카테고리 내 다른 글 보러가기

댓글남기기