8. Windows 시스템 프로그래밍 질문

  1. 프로세스와 스레드의 차이는 무엇인가요?
  2. 한 프로세스의 스레드들은 무엇을 공유하나요?
  3. 스레드마다 독립적으로 가지는 것은 무엇인가요?
  4. 컨텍스트 스위칭이란 무엇인가요?
  5. 컨텍스트 스위칭 비용은 왜 발생하나요?
  6. 커널 모드와 사용자 모드의 차이는 무엇인가요?
  7. 시스템 콜이란 무엇인가요?
  8. WinMain과 main의 차이는 무엇인가요?
  9. Windows 메시지 루프를 설명해주세요.
  10. GetMessagePeekMessage의 차이는 무엇인가요?
  11. 게임 루프에서는 주로 어떤 방식을 사용하나요?
  12. 윈도우 프로시저는 무엇인가요?
  13. HWND, HINSTANCE, HDC는 각각 무엇인가요?
  14. Handle이란 무엇인가요?
  15. 커널 오브젝트란 무엇인가요?
  16. Event, Mutex, Semaphore의 차이는 무엇인가요?
  17. Critical Section과 Mutex의 차이는 무엇인가요?
  18. SRWLock은 무엇인가요?
  19. 스핀락은 무엇인가요?
  20. 원자적 연산이란 무엇인가요?
  21. Interlocked 함수는 어떤 역할을 하나요?
  22. DLL의 로드 방식에는 무엇이 있나요?
  23. 정적 로딩과 동적 로딩의 차이는 무엇인가요?
  24. LoadLibrary, GetProcAddress는 무엇인가요?
  25. UTF-8, UTF-16, ANSI의 차이는 무엇인가요?
  26. char, wchar_t, TCHAR의 차이는 무엇인가요?
  27. Windows가 UTF-16 기반 API를 사용하는 이유는 무엇인가요?
  28. 파일 입출력에서 동기 I/O와 비동기 I/O 차이는 무엇인가요?
  29. Overlapped I/O란 무엇인가요?
  30. IOCP란 무엇인가요?
  31. 가상 메모리란 무엇인가요?
  32. 페이지와 페이지 폴트란 무엇인가요?
  33. VirtualAlloc과 일반적인 new의 차이는 무엇인가요?
  34. 메모리 맵 파일이란 무엇인가요?
  35. DLL 경계에서 메모리 할당과 해제를 주의해야 하는 이유는 무엇인가요?
  36. Debug 빌드와 Release 빌드의 차이는 무엇인가요?
  37. PDB 파일은 무엇인가요?
  38. 크래시 덤프를 통해 무엇을 분석할 수 있나요?
  39. 콜스택은 무엇인가요?
  40. 데드락 상태의 덤프에서는 무엇을 확인해야 하나요?

9. 운영체제·멀티스레드 질문

  1. 동시성과 병렬성의 차이는 무엇인가요?
  2. 경쟁 상태란 무엇인가요?
  3. 임계 구역이란 무엇인가요?
  4. 데드락이란 무엇인가요?
  5. 데드락 발생 조건 네 가지를 설명해주세요.
  6. 데드락을 방지하는 방법은 무엇인가요?
  7. 라이브락과 기아 상태는 무엇인가요?
  8. Mutex와 Semaphore의 차이는 무엇인가요?
  9. 조건 변수는 무엇인가요?
  10. Producer-Consumer 문제를 설명해주세요.
  11. Thread Pool을 사용하는 이유는 무엇인가요?
  12. 작업 큐는 어떻게 구현할 수 있나요?
  13. 메인 스레드와 워커 스레드의 역할을 어떻게 나누나요?
  14. 게임 객체를 워커 스레드에서 직접 수정하면 왜 위험한가요?
  15. 워커 스레드 결과를 메인 스레드에 반영하려면 어떻게 하나요?
  16. Lock-Free 자료구조란 무엇인가요?
  17. CAS란 무엇인가요?
  18. ABA 문제란 무엇인가요?
  19. 메모리 배리어란 무엇인가요?
  20. memory ordering이란 무엇인가요?
  21. volatile은 스레드 동기화를 보장하나요?
  22. std::atomic과 mutex는 언제 각각 사용하나요?
  23. False Sharing이란 무엇인가요?
  24. False Sharing을 완화하는 방법은 무엇인가요?
  25. 스레드를 많이 만들수록 성능이 좋아지지 않는 이유는 무엇인가요?
  26. 프레임 동기화는 어떻게 구현하나요?
  27. 렌더 스레드와 게임 스레드 사이의 동기화는 어떻게 하나요?
  28. 더블 버퍼링된 명령 큐는 어떤 장점이 있나요?