[말랑 퀴즈] 26/09/19 문제

게시:     수정

카테고리:

태그:

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

날짜: 2026-09-19 문제 수: 6문제


Q1. 🟡 보통

게임 서버를 인증 서버 1대 + 채널 서버 여러 대로 나누는 고전적인 분산 구조가 있다. 인증 서버는 사용자의 ID/PW를 인증하는 로직과 인증용 데이터베이스로 구성되고, 각 채널 서버는 자신만의 데이터베이스를 따로 가진다. 클라이언트는 먼저 인증 서버에 접속해 로그인한 뒤, 채널 서버 하나를 골라 접속한다.

이 구조에 대한 설명으로 가장 올바른 것은?

  • A. 인증 데이터베이스와 채널 데이터베이스는 반드시 하나로 통합해서 관리해야 하며, 채널 서버 수가 늘면 인증 서버도 그에 비례해 늘려야 한다.
  • B. 채널 서버마다 별도의 데이터베이스를 두며, 클라이언트는 인증 서버에서 로그인을 마친 뒤 채널 서버를 선택해 접속한다. 국가별로 채널을 분리하는 것이 일반적이고, 채널 선택 과정을 아예 숨겨 하나의 채널만 있는 것처럼 보이게 만들 수도 있다.
  • C. 채널 서버 선택은 로그인보다 먼저 이루어지며, 인증 서버가 각 채널 서버의 실시간 부하를 모니터링해 자동으로 채널을 배정해 준다.
  • D. 인증 서버는 로직을 계속 확장해야 하는 서버이며, 채널 서버들은 하나의 데이터베이스를 공유해야 데이터 정합성이 보장된다.

출처: server/game_server/9/2026-03-17-game_server_9_3.md

📝 내 선택: ( )


Q2. 🟢 쉬움

빈칸을 채우시오.

C++은 하나의 언어라기보다 여러 하위 언어의 ① ___(으)로 보아야 한다는 것이 항목 1의 요지다. 이를 구성하는 하위 언어는 총 ② ___가지 — ③ ___, ④ ___, ⑤ ___, ⑥ ___ — 이다.

출처: game_dev/cpp/chapter1/2025-01-02-cpp_1_1.md

📝 내 답: (빈칸 수에 맞게 작성하세요)


Q3. 🟡 보통

멀티스레드 게임 서버에서 스레드를 몇 개 만들지 정하는 문제다. CPU는 8코어라고 하자.

다음 설명 중 가장 올바른 것은?

  • A. CPU보다 스레드 개수가 많으면 항상 처리 속도가 빨라진다. 컨텍스트 스위치는 스레드가 많을수록 오히려 줄어들기 때문이다.
  • B. 스레드 8개로 CPU 8코어를 모두 채우면 컨텍스트 스위치 없이 CPU를 100% 활용할 수 있다. 다만 작업의 75%가 IO 대기라면, 스레드가 대기하는 동안 CPU가 다른 스레드를 처리할 수 있도록 스레드 수를 CPU 개수의 3~4배 정도로 늘리는 것이 유리하다.
  • C. 스레드는 대기 상태에 들어가도 CPU를 계속 점유하므로, IO 대기가 많은 작업일수록 스레드 수를 CPU 개수보다 적게 유지해야 한다.
  • D. 클라이언트 수만큼 스레드를 만드는 방식은 메모리를 조금 더 쓰는 것 말고는 단점이 없으며, 컨텍스트 스위치 비용은 전혀 발생하지 않는다.

출처: server/game_server/1/2025-06-16-game_server_1_12.md

📝 내 선택: ( )


Q4. 🟡 보통

빈칸을 채우시오.

IPv4 주소는 ① ___ 비트, IPv6 주소는 ② ___ 비트로 이루어진다. 포트는 ③ ___ 바이트의 정수로, 최대 ④ ___ 이하의 값을 배정해 쓸 수 있다. IP 주소와 포트를 함께 묶어 부르는 용어를 ⑤ ___(이)라 하고, www.naver.com에서 www에 해당하는 부분을 ⑥ ___(이)라 부른다.

출처: server/game_server/2/2025-12-02-game_server_2_4.md

📝 내 답: (빈칸 수에 맞게 작성하세요)


Q5. 🟢 쉬움

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

JSON에서 값(Value)으로 쓸 수 있는 것은 문자열·숫자·객체뿐이며, 배열은 값으로 쓸 수 없다. 따라서 배열 안에 객체를 넣는 것도 JSON 문법에 어긋난다.

출처: server/game_server/8/2026-03-09-game_server_8_4.md

📝 내 답: O / X


Q6. 🟡 보통 · 📌 오답노트 (2번째 복습)

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

블로킹 함수를 호출한 스레드는 waitable state가 되어 그 스레드의 CPU 사용량이 0%로 떨어진다. 이때 CPU 자체는 다른 어떤 작업도 전혀 할 수 없으므로, 블로킹은 사실상 CPU를 낭비시키는 것과 같다. 또한 네트워크 수신 함수는 내부적으로 일정 시간이 지나면 자동으로 타임아웃되어 리턴되므로, 상대방이 응답하지 않아도 스레드가 무한정 멈춰 있는 일은 없다.

출처: server/game_server/3/2025-12-16-game_server_3_1.md 오답노트: wn-7193e4e7 · 2026-09-10 최초 오답 · 이번이 2번째 복습

📝 내 답: O / X


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

댓글남기기