들어가기 앞서 . . .
개발자로 취업하기 위해서는 정보처리기사 자격증 취득은 필수라고 생각했고,
CS공부도 같이 할 겸 가볍게 정보처리기사 공부를 시작하게 되었다.
막상 공부해보니 생각보다 범위도 넓고 개념도 탄탄하게 잡아야 해서
결국엔 한 번 떨어지고, 두 번째 도전에서야 붙을 수 있었다.
이 포스팅은 처음 준비하는 사람에게 도움이 될 수 있도록
실제 시험에서 느낀 점, 그리고 단원별 전략까지 정리해본 후기다!
2025년 1회차 불합격
2025년 초, 한 달 정도 공부하고 정보처리기사 1회차 시험을 봤는데 결과는 55점 불합격이었다.
그 해 합격률이 15%밖에 안 되었고, 개정 이후 첫 시험을 제외하면 가장 낮은 합격률을 기록한 회차였다.
당시 나는 2024년판 수제비 교재로 공부했지만,
2025년 1회차의 코딩 문제는 기존과 비교도 안 될 정도로 난이도가 높았고, 기존 기출 문제만으로는 절대 대비가 안 되는 수준이었다.
2020~2024년 기출 코드를 거의 다 풀어봤지만,
1회차에서 나온 코드를 보고는 정말 시험장에서 멘붕이 왔다. (시험장에 진짜 한숨소리만 들렸다.. 진짜로..)
개정 후 실기 난이도가 이렇게 올라갔다는 걸 몸소 느꼈고, 이론에만 집중하고 실전형 코드 문제를 간과한 내 준비 전략이 완전히 틀렸다는 걸 뼈저리게 느꼈다.
게다가 시험 범위가 워낙 넓다 보니,모든 이론을 완벽히 외워야 한다는 강박에 빠졌고,정작 중요한 프로그래밍과 데이터베이스 문제에 소홀했던 것도 패인이었다.
사실 실기 문제 구성상, 프로그래밍(9~10문제), 데이터베이스(1~2문제)만 잘 맞춰도 다른 파트에서 2~3개 정도만 건지면 충분히 합격이 가능한 구조였다.
2회차 재도전
2회차를 준비할 땐 전략을 완전히 바꿨다.
가장 먼저 했던 건 2025년 1회차 프로그래밍 문제를 다시 복기하는 것이였다.
시험장에서 멘붕 왔던 그 문제들을 다시 하나씩 풀어보면서 오답노트를 만들었고,
놀랍게도 1회차 코드 문제를 완전히 이해하고 나니, 2024년 이전의 기출은 전부 수월하게 풀 수 있게 됐다.
그리고 이번에는 보안 파트도 철저히 준비했다.
그 이유는 정보처리기사 실기 전에 SKT 해킹 이슈가 크게 터졌기 때문인데, 그 영향인지 보안 관련 문제가 많이 나올 거라는 소문이 돌아서 많고 많은 보안 용어들을 달달외웠다.. (근데 정작 나온건 SKT와 전혀 관련없는 syn 플러딩 공격이였다.)
교재 & 강의 활용법
2025년 2회차도 수제비 교재를 사용하긴 했는데,
솔직히 프로그래밍 파트는 거의 도움이 되지 않았다.
반면, 보안, 운영체제, 컴퓨터구조 파트는 핵심 요약 정리가 잘 되어 있어서
이론 정리용으로는 충분히 유용했다.
그리고 진짜 꼭 말하고 싶은 건
"흥달쌤 유튜브는 꼭 보자"는 거다. 진짜 인생 강의다.
서브넷 계산을 계속 이해 못하고 있었는데,
시험 당일 아침 지하철에서 흥달쌤 서브넷 유튜브를 보다가
그제야 이해가 됐고, 실제로 시험에서 서브넷 문제 1문제가 출제되어 맞출 수 있었다.
흥달쌤 강의는 유료도 있던데, 나는 무료 강의만 보고도 충분히 도움을 받았다.
기초가 약한 파트가 있다면 꼭 유튜브로 찾아서 보길 추천한다.
최종 결과 & 마무리
결론부터 말하자면, 2025년 2회차는 1회차보다 확실히 쉬웠다.
사람들이 1회차가 워낙 어려웠으니 2회차는 좀 풀어준다는 소문이 있었는데, 진짜였다.
시험 보면서 6번검토할 시간이 남을정도로 수월했다.
합격률도 27%로 1회차 합격률의 거의 2배이다.
최종 점수는 85점!
1회차에서 한 번 지옥을 보고, 나에게 맞는 방향으로 공부 전략을 바꾸니
확실히 자신감 있게 시험을 치를 수 있었다.
정보처리기사에서 가장 중요한 단원?
시험을 준비하면서 느낀 출제 비중 높은 단원 순위는 아래와 같았다.
- 프로그래밍 언어 활용(C언어 -> Java -> Python 순으로 많이 출제된다.)
- 데이터베이스 구축(SQL, 정규화, 트랜잭션)
- 운영체제 (OS 7계층, 프로세스, 스케줄링, 교착상태)
- 보안 (암호화, 해킹 유형, 보안 솔루션)
- 신기술 / IT 지식 (최신 기술 용어 위주 암기 문제)
- 소프트웨어 설계(응집도/결합도)
- 소프트웨어 개발
- 정보시스템 구축 관리
프로그래밍과 운영체제, 보안만 확실히 잡아도 점수의 절반은 먹고 들어간다.
그리고 데이터베이스는 문제 수는 적지만 난이도는 낮은 편이라 확실히 챙기면 든든하다.
과목중에서도 뭘 유심히 봐야할까 꼽아보자면..
1. 프로그래밍 언어는 무조건 확실하게 공부해야한다.
그냥 반복문과 if문으로만 문제가 나오는 시대는 확실히 아닌 것 같다..
C언어의 이중포인터, Java의 재귀함수와 Static, 오버라이딩 그리고 상속까지!! Phyton은 리스트 범위[1::3]뭐 이런거만 실수 안하면 될 것 같기도하다.(Python은 항상 한 두문제 나오는 것 같다.)
특히 Java의 상속과 오버라이딩으로 장난을 많이 친다..(Static 필드나 메서드는 상속이 되지만 오버라이딩은 안된다. )
예를들어보자.(이미 개념을 알고있는 사람은 넘어가도 괜찮다!)
class Parent {
static void hello() {
System.out.println("Hello from Parent");
}
void instanceHello() {
System.out.println("Instance Hello from Parent");
}
}
class Child extends Parent {
static void hello() { // 이건 오버라이딩 아님! 그냥 가림(Hiding)
System.out.println("Hello from Child");
}
@Override
void instanceHello() {
System.out.println("Instance Hello from Child");
}
}
public class Main {
public static void main(String[] args) {
Parent p = new Child();
p.hello(); // "Hello from Parent" (static은 오버라이딩되지 않음)
p.instanceHello(); // "Instance Hello from Child" (동적 바인딩)
}
}
Main의 첫번째 코드를 보면 실제 객체는 Child이지만 참조 타입은 Parent인 p라는 객체를 만들었다.
위의 코드의 static 메서드는 정적 바인딩이기 때문에, 참조 타입에 따라 결정되고, instance메서드는 동적 바인딩이기 때문에, 실제 객체 타입에 따라 동작한다.
즉, p.hello()는 Parent.hello()가 호출되고, p.instanceHello()를 호출하면, 실제 객체인 Child의 hello()가 출력된다.
(그냥 어려우면 static 붙은 메서드는 오버라이딩이 안되어서 무조건 부모 메서드를 호출하게된다. 자식 메서드는 hiding되므로 가려진 메서드이다!! 만약에 이해가 안가면 지피티한테 물어보자.. 진짜 자세하게 설명해준다.)
2. 데이터베이스
데이터베이스는 SQL 기본 문법, 정규화, 트랜잭션 정도만 공부하면 충분하다고 느꼈다.
집계 함수도 어렵게 출제되지 않아서 SUM(), AVG(), MIN(), MAX() 정도만 외우면 무난히 맞출 수 있었다.
다만 주의해야 할 점은 COUNT(*)와 COUNT(컬럼명)의 차이다.
COUNT(*)는 NULL 값을 포함한 전체 행 수,
COUNT(컬럼명)은 NULL이 아닌 값만 센다.
NULL 존재 여부에 따라 정답이 완전히 달라질 수 있기 때문에 반드시 구분해서 외워야 한다.
SELECT COUNT(*) -- 전체 행 수
SELECT COUNT(name) -- name이 NULL이 아닌 행만
테이블 예시:
| id | name |
|----|--------|
| 1 | 홍길동 |
| 2 | NULL |
| 3 | 이순신 |
결과:
COUNT(*) → 3 (모든 행)
COUNT(name) → 2 (NULL 제외)
3. 운영체제
운영체제에서는 프로세스, 스케줄링, 교착상태 위주로 암기했다.
그 중에서도 스케줄링은 거의 매회 출제되는 핵심 단원이라 반드시 정리하고 가야 한다.
이왕 외울 수 있으면 선점/비선점 스케줄링 알고리즘을 구분해서 외우자.
필자가 응시했던 2025년 2회차에서는
하나는 비선점 스케쥴링, 하나는 선점 스케쥴링인데 각 경우에 해당하는 스케줄링 기법을 작성하라는 문제가 출제되었다.
4. 정보보호 및 보안
이 단원에서는 암호화(단방향/양방향), 해킹 유형, 보안 솔루션, 인증 방식 등이 출제된다.
솔직히 이 단원은 거의 다 외워야하는 거 같다..
5. 소프트웨어 개발
여기서는 개발 방법론(폭포수, 애자일 등)과 테스트 기법을 중점적으로 정리했다. 특히 테스트 기법은 무조건 외워야 한다.
블랙박스테스트랑 화이트박스테스트를 나눠서 잘 암기하고, 특히 화이트박스테스트에서 테스트케이스에 맞는 조건문의 실행 순서를 맞추거나 그런 문제가 자주 출제된다.(필자가 본 1회차, 2회차 모두 조건문 실행 순서를 작성하는 문제가 출제되었다.)
6. 소프트웨어 설계
디자인패턴이랑 응집도/결합도 안외워가면 진짜 바보다.. 진짜 무조건 출제되는 것 같다.
진짜 무조건 출제되는 단원이기 때문에 응집도/결합도와, 대표적인 디자인패턴(싱글톤, 옵저버, 팩토리 등)은 키워드 위주로 정리했다.
7. 정보시스템 구축
이 단원은 출제 비중이 낮고 난이도도 높지 않아서 솔직히 시험 직전 시간이 남을 때 한 번 훑어보는 정도로 충분하다고 생각했다.
기출에서 봤던 문제 위주로만 가볍게 보는 걸 추천한다.
마무리하며
이번 경험을 통해 느낀 건,
프로그래밍은 무조건 직접 손으로 코드를 짜보고 이해하는 것,
보안/운영체제는 요약 + 기출 반복으로 단단히 다지는 것,
기출이 전부가 아니고, 기출을 이해하고 활용할 수 있어야 한다는 것.
시험에 떨어졌던 경험도, 다시 붙었던 경험도
지금은 모두 내 실력을 되돌아보게 해준 좋은 계기가 됐다.
정보처리기사 준비하는 모든 분들, 화이팅입니다!
'대외활동' 카테고리의 다른 글
[자격증] 5일전사 ADsP 취득 (0) | 2025.10.09 |
---|---|
[자격증] SQLD 1트 합격 후기 (0) | 2025.04.01 |