Engineer Information Processing common mistakes
Engineer Information Processing · Understand the traps and how to avoid them.
실기 답안란에 SQL이나 코드를 작성할 때 세미콜론(;)을 붙이거나 SELECT 문의 대소문자·별칭을 문제 요구와 다르게 적어 감점된다.
평소 IDE에서 자동완성과 실행 버튼에 의존해 답안지에 '실행 가능한 완전한 문장'을 쓰는 습관이 남아 있고, 채점 기준이 '요구된 결과를 만드는 최소 정답'이라는 점을 인지하지 못한다.
What to do instead
기출 답안 형식을 기준으로 연습한다. 문제에서 요구한 컬럼명·별칭·정렬 조건만 남기고 세미콜론은 생략하며, 작성 후 문제 지문의 요구사항 목록과 한 줄씩 대조하는 30초 검토 루틴을 만든다.
실기에서 C·Java·Python 코드의 실행 결과(출력값)를 묻는 문제에서 변수 값 변화를 머릿속으로만 추적하다가 후위/전위 증감, 참조형 전달, 문자열 비교(== vs equals)에서 틀린다.
코드를 '읽으면 이해된다'는 착각 때문에 실제로 손으로 추적하지 않고, 언어별 미묘한 규칙(Java의 String 상수 풀, Python의 가변 기본 인자, C의 포인터 연산)을 암기하지 않은 채 감으로 답한다.
What to do instead
변수별로 값 변화를 표로 적는 '트레이스 표'를 매 문제마다 그린다. 특히 Java equals/==, C 포인터 역참조, Python 얕은 복사·깊은 복사를 각각 3문제씩 손으로 풀어 규칙을 몸에 익힌다.
필기에서 소프트웨어 공학의 모델·방법론(폭포수, 나선형, 애자일, 럼바우, CBD 등)의 특징을 서로 뒤섞어 고른다.
용어가 비슷하고 표로 정리하지 않은 채 강의를 한 번 듣고 넘어가서, '위험 분석'이 나선형인지 프로토타입인지 즉시 구분되지 않는다.
What to do instead
각 모델을 '목적-핵심 활동-장점-단점-적용 상황' 5행 표로 직접 작성한다. 특히 나선형=위험 분석, 프로토타입=요구사항 확인, 애자일=반복·고객 협력처럼 한 단어 키워드로 연결해 플래시카드로 반복한다.
필기 데이터베이스 파트에서 정규화 단계(1NF~BCNF)와 이상(삽입·삭제·갱신) 현상의 관계를 단계별로 구분하지 못하고, 후보키·슈퍼키·기본키 정의를 혼동한다.
정규화를 '정의 암기'로만 접근하고 함수적 종속성 다이어그램을 직접 그려보지 않아, 어떤 종속성이 제거되는 단계인지 판단 근거가 없다.
What to do instead
예시 릴레이션 하나를 정해 1NF부터 BCNF까지 단계별로 분해 과정을 손으로 써 본다. 후보키=유일성+최소성, 슈퍼키=유일성만, 기본키=후보키 중 선택이라는 구분을 문제에 적용해 표시한다.
필기 운영체제·네트워크에서 스케줄링 알고리즘의 평균 대기시간을 계산할 때 도착 시간과 실행 시간을 혼동하거나, 선점/비선점 조건을 무시하고 계산한다.
공식을 외우고 문제 유형을 많이 풀지 않아, SJF·SRT·RR·HRN의 선택 기준과 선점 여부를 문제 조건에서 추출하지 못한다.
What to do instead
간트 차트를 직접 그려 각 프로세스의 시작·종료·대기 시간을 표로 계산하는 절차를 고정한다. RR은 타임 퀀텀 단위로 큐를 다시 그리며, HRN은 (대기+서비스)/서비스 우선순위 공식을 문제에 대입해 검산한다.
실기에서 요구사항 분석·설계 산출물(DFD, UML 다이어그램, 인터페이스 설계서) 작성 문제에서 표기 기호와 관계(연관·집합·복합)를 문제 요구와 다르게 그리거나 서술형 답안에 핵심 용어를 빠뜨린다.
도구 사용 경험은 있지만 표준 표기법( UML 2.x )과 산출물별 필수 항목을 정리하지 않아, 그림은 그럴듯하나 채점 키워드가 빠진다.
What to do instead
다이어그램별 필수 요소 체크리스트를 만든다(클래스: 속성·연산·관계, 유스케이스: 액터·관계, DFD: 프로세스·데이터 저장소·외부 엔티티). 서술형은 '정의-목적-구성요소-작성 절차' 4문장 구조로 쓰는 템플릿을 연습한다.
실기에서 통합 구현·테스트 파트의 화이트박스/블랙박스 테스트 커버리지(문장, 분기, 조건, 경로)를 계산하는 문제에서 조건 커버리지와 분기 커버리지를 같은 것으로 취급한다.
커버리지 정의를 표로 비교하지 않고, 순서도나 결정 테이블을 직접 그려 테스트 케이스를 도출하는 연습이 부족하다.
What to do instead
작은 순서도 하나를 정해 문장·분기·조건·분기/조건·다중조건·경로 커버리지별 최소 테스트 케이스 수를 각각 계산해 비교표를 만든다. 결정 테이블 작성 후 각 규칙이 어느 커버리지를 만족하는지 표시한다.
필기 정보보안 파트에서 암호화 알고리즘(대칭/비대칭, 해시)과 접근통제 모델, 보안 공격 유형을 분류 없이 암기해 서로 다른 보기의 특성을 섞어 고른다.
용어 수가 많아 개별 암기로 접근하고, '키 개수·속도·용도' 같은 비교 축을 세우지 않아 유사 보기에서 소거가 안 된다.
What to do instead
암호 알고리즘을 대칭(AES, DES, SEED)·비대칭(RSA, ECC)·해시(SHA, MD5) 3분류 표로 정리하고 각각 키 관리·속도·사용 예를 적는다. 접근통제는 MAC/DAC/RBAC를 '권한 부여 주체' 기준으로 비교한다.
실기 서술형에서 답을 길게 풀어 쓰면서 채점 키워드가 문장 속에 묻히거나, 반대로 키워드만 나열해 문장 구성 요건을 충족하지 못한다.
서술형 채점이 키워드 매칭과 문장 완성도를 함께 본다는 점을 모르고, 시간에 쫓겨 즉흥적으로 서술한다.
What to do instead
답안을 '핵심 용어 정의 1문장 + 동작/절차 2~3문장' 구조로 고정한다. 키워드는 문장 첫머리나 콜론 뒤에 배치하고, 답안 작성 후 문제가 요구한 용어가 모두 들어갔는지 밑줄로 확인한다.
필기 계산 문제(자료구조·알고리즘의 시간복잡도, 트리 순회 결과, 해싱 버킷 계산)에서 공식을 대입하기 전에 문제 조건(노드 수, 해시 함수, 충돌 처리 방식)을 정리하지 않고 바로 계산해 산술 실수를 한다.
시간 압박 속에서 계산을 암산으로 처리하고, 트리 순회는 전위/중위/후위 방문 순서를 매번 새로 떠올리려다 순서를 바꿔 쓴다.
What to do instead
계산 문제는 '조건 추출 → 공식 선택 → 단계별 계산 → 역대입 검산' 4단계로 고정한다. 트리 순회는 전위(루트-왼-오), 중위(왼-루트-오), 후위(왼-오-루트)를 소리 내어 말하며 작은 트리 5개를 반복练习한다.