임베디드기사 필기 17 — 빈출 기출문제 상세 #2 (소프트웨어·계산·네트워크 심화)
임베디드기사 필기 17 — 빈출 기출문제 상세 #2 (소프트웨어·계산·네트워크 심화)
빈출 기출문제 2탄! 데이터구조·네트워크·개발방법론 계산 집중 정리예요.
📌 스택 활용 ⭐⭐⭐ (반복 출제!)
Q. C언어에서 함수의 지역변수와 호출 후 복귀 주소를 저장하는 메모리 처리 방식은?
A. 스택(Stack)
Q. 스택에 대한 설명으로 옳은 것은?
① FIFO 방식이다 ② LIFO 방식이다 ③ 큐와 동일하다
A. ② LIFO (Last In First Out)
⚠️ "스택 = FIFO" → 오답!
📌 원형 연결 리스트 ⭐⭐
Q. NULL(Null Pointer)이 존재하지 않는 자료구조는?
A. 원형 연결 리스트 (Circular Linked List)
📌 트리 순회 계산 ⭐⭐⭐ (반복!)
Q. 다음 트리를 각 방식으로 순회하시오.
A
/ \
B E
/ \ / \
C D F G
A.
전위(Preorder): A → B → C → D → E → F → G
중위(Inorder): C → B → D → A → F → E → G
후위(Postorder): C → D → B → F → G → E → A ← 가장 자주 출제!
📌 정렬 복잡도 ⭐⭐⭐
Q. 다음 정렬 알고리즘의 평균 시간복잡도를 쓰시오.
| 정렬 | 평균 | 최악 |
| 버블 정렬 | O(n²) | O(n²) |
| 삽입 정렬 | O(n²) | O(n²) |
| 퀵 정렬 | O(n log n) | O(n²) |
| 합병 정렬 | O(n log n) | O(n log n) |
| 힙 정렬 | O(n log n) | O(n log n) |
이진 탐색: O(log n) — 반드시 정렬된 배열에서만 가능!
📌 Big-Endian / Little-Endian ⭐⭐ (반복!)
Q. Big-Endian에서 int a = 0x01020304를 char 포인터로 캐스팅해 첫 번째 바이트를 출력하면?
A. 0x01 (MSB가 낮은 주소)
Q. Little-Endian에서 unsigned short k = 0x1234를 char 포인터로 첫 바이트 출력하면?
A. 0x34 (LSB가 낮은 주소)
📌 calloc vs malloc ⭐⭐
Q. NULL(0)으로 초기화된 힙 메모리를 할당하는 함수는?
A. calloc() (malloc은 초기화 안 됨, 쓰레기값!)
📌 OOP 함정 문제 ⭐⭐⭐
Q. 캡슐화에 대한 설명으로 틀린 것은?
A. "결합도가 높아진다" (캡슐화 = 결합도↓ + 응집도↑)
Q. 다형성의 가장 적절한 설명은?
A. 하나의 메시지에 대해 객체에 따라 다른 방법으로 응답할 수 있는 것
Q. 추상화의 종류가 아닌 것은?
자료 추상화 / 기능 추상화 / 제어 추상화 / 상속 추상화
A. 상속 추상화 (존재하지 않음)
📌 서브넷마스크 계산 ⭐⭐⭐ (반복!)
Q. IP 주소 192.168.10.100/26에서 네트워크 주소와 호스트 수는?
A.
/26 → 서브넷마스크: 255.255.255.192
호스트 비트: 6개 → 2⁶-2 = 62
네트워크: 192.168.10.64
브로드캐스트: 192.168.10.127
사용 가능 호스트: 192.168.10.65 ~ .126
📌 TCP 소켓 시퀀스 ⭐⭐⭐ (전 회차!)
Q. XSI 공유 메모리를 생성하며 IPC ID를 반환하는 함수는?
A. shmget()
공유 메모리 순서: shmget() → shmat() → 사용 → shmdt()
⚠️ "shmat으로 공유 메모리 생성" → 오답!
📌 I/O 멀티플렉싱 ⭐⭐
Q. 리눅스 커널 2.6부터 지원되는 고성능 I/O 멀티플렉싱 함수는?
A. epoll() (개수 제한 없음, stateful)
⚠️ "최대 2048개만 감시" → 오답!
⚠️ "select() = 소켓 전용" → 오답! (범용 함수)
📌 pthread_detach 함정 ⭐⭐⭐
Q. pthread API에서 스레드를 분리(자동 자원 회수)하는 함수는?
A. pthread_detach()
⚠️ "pthread_detach = 스레드 종료" → 오답! (분리!)
⚠️ "pthread_detach = 스레드 감시" → 오답! (분리!)
📌 시그널 ⭐⭐
Q. kill 시그널 전에 일반적으로 먼저 보내는 시그널은?
A. SIGTERM
Q. 자식 프로세스 종료 시 부모에게 전달되는 시그널은?
A. SIGCHLD
⚠️ "SIGHUP = Ctrl-S" → 오답!
📌 개발방법론 ⭐⭐
Q. 럼바우(Rumbaugh) 기법에서 상태 다이어그램으로 시스템 행위를 기술하는 모델링은?
A. 동적 모델링(Dynamic Modeling)
Q. 검증 검사(Validation Test)에 포함되는 기법 3가지는?
A. 형상 검사 / 알파 검사 / 베타 검사
📌 CMMI 5단계 ⭐⭐
A. 초기(Initial) → 관리(Managed) → 정의(Defined) → 정량적관리 → 최적화(Optimizing)
📌 프로세스 메모리 구조 ⭐⭐ (반복 함정!)
Q. 프로세스의 힙 영역에 저장되는 것은?
A. 동적 할당된 메모리 (malloc, calloc)
⚠️ "로컬 변수 = 힙" → 오답! (로컬변수/복귀주소 = 스택)
📌 VFS / RAID ⭐⭐
Q. 서로 다른 파일시스템을 단일 인터페이스로 추상화하는 것은?
A. VFS (Virtual File System)
Q. RAID-5 디스크 5개 × 100GB 가용 용량은?
A. (5-1) × 100 = 400GB
빈출 함정 최종 총정리 ⚠️
스택 = LIFO (FIFO 아님!)
원형연결리스트 = NULL 없음
Big-endian 첫바이트 = MSB / Little-endian = LSB
calloc = 0초기화 / malloc = 쓰레기값
캡슐화 = 결합도↓ ("↑" 오답!)
추상화 = 자료/기능/제어 ("상속추상화" 없음!)
shmget = 생성 / shmat = 부착
epoll = 개수제한없음, 리눅스2.6+
pthread_detach = 분리 (종료/감시 아님!)
SIGCHLD = 자식종료 / SIGTERM = kill전에 먼저
힙 = 동적할당 / 스택 = 로컬변수·복귀주소
RAID-5 = (N-1)×S
8월 24일 임베디드기사 필기 화이팅이에요! 🔥