일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- SinglyLinkedList
- 구현
- Leedcode
- array
- stack
- Bellman-Ford
- heap
- dfs
- python3
- Java
- graph
- DailyLeetCoding
- VCS
- sorting
- LinkedList
- A* Algorithm
- 자료구조
- ArrayList vs LinkedList
- Easy
- Medium
- Hashtable
- greedy
- Two Pointers
- 광연자동차운전면허학원
- hash table
- leetcode
- String
- Union Find
- BFS
- hash
- Today
- Total
Min IT's Devlog
[SQLD] 44회 SQL 개발자(SQLD)시험 후기 본문
22년 03월 12일에 시행된 시험을 집 주변에서 치고 왔다. 그 후기를 좀 작성해보고자 한다.
시험동기
저번 학기에 학교에서 데이터베이스 수업 중 교수님께서 SQLD시험을 보는 것도 괜찮을 것 같다고 하셨고 나도 빅데이터나 백엔드로 갈 생각이 있기 때문에 한번 시험을 쳐보고자 했다.
시험준비
< 참고한 자료 >
시험준비는 SQLD 자격검정 실전문제(일명 노랭이)라는 책을 가지고 공부했고 이론서의 경우
이것 가지고 공부를 했다.
참고로 이번에만 그랬는지는 모르겠는데 노랭이가 품절되어서 구하기 어려워하던데 미리 사두는 것도 괜찮을 것 같아요.
<공부 방법>
노랭이같은 경우는 내용을 모르면 아예 못푸는 문제가 많다. 따라서 소단원 하나씩 외우고 바로 노랭이에 적용시켜서 풀었다. SQLD 가이드의 경우 너무나도 세부적으로도 잘 정리가 되어있었으나 정규화와 관련된 내용이라던지 시험문제에서 나오는 꼬은 스타일에 대한 내용 등 조금씩 필요한 개념이 빠져있다는 생각이 들었다. 나는 이러한 개념을 노랭이나 기출을 풀어보면서 추가적으로 익혀나갔다.
<불편했던 것>
살짝 공부할 때 불편했던 거는 생각보다 기출문제가 별로 없다는 것이었다. SQLD자체가 문제은행식으로 문장이나 번호만 조금씩 바꿔서 내기 때문에 문제복원이나 유출에 대해서 매우 민감한 것 같은데 그런 이유여서 그런지 풀 문제가 부족했다는 생각이 들었다. 노랭이 책도 그렇게 문제가 많은 편이 아니었고 기출문제 또한 몇 회정도를 제외하고는 그냥 답만 나와있었기 때문에 기출문제도 너무나 귀했다.
<준비한 기간>
기간은 넉넉하게 1달정도로 잡긴했지만 실질적으로 공부한 시간은 별로 되지는 않았다. 그 이유로는 개념이 많지 않고 하루에 한단원씩 암기하고 노랭이를 같이 풀다보면 1주정도면 1회독이 끝났다. 그 이후에는 할 게 크게 없어서 노랭이 1번 더 풀고 개념만 계속 돌렸다. 시험 전 주에 기출의 존재를 알아 좀 풀어봤는데 생각보다 새로운 개념이 추가적으로 나왔다. 정작 시험 전 날이랑 시험 당일에도 거의 놀다시피 했는데도 잘 본 것 같은 느낌이 드는 것을 보면 이번 회차 시험이 쉽게 출제되었거나 아님 착각일 수도 있을 것 같다.
실질 공부 시간은 10일정도 된 것 같고 7일(개념암기+문제풀이) 2일(2회차 개념암기+ 문제풀이 + 기출) 1일(개념암기)정도 비율로 한 것 같다.
<어려웠던 파트>
윈도우 함수쪽이 이해하거나 외울게 좀 많아서 어려웠던 거 같고 Oracle과 SQL Server 2가지가 DML의 Auto Commit이나 몇몇의 SQL Query에서 차이가 나기 때문에 헷갈렸다.
시험
<절차>
시험보기 30분전까지 화장실 갔다올 수 있었고 그 이후에는 방송이 나오면서 신분증 확인-> 답안지 배부 -> 문제지 배부로 시험보기 전 30분을 보낸다. 이후 시험 시작 후 30분 이전까지는 퇴실이 불가하였으며 퇴실시 0점처리 된다는 감독관의 이야기가 있었고 30분 이후에는 퇴실이 가능하다. 또한 시험 종료 5분전부터는 답안지 교체가 불가능하다.
컴싸, 볼펜, 신분증, 수험표정도 필요하다.
<사람>
생각보다 결시자가 많은 느낌이었다. 30%정도는 결시자였으며 직장인, 대학생들이 많았고 중고등학생들도 있어 보였다.
<기타사항>
시험지가 초등학교때 썼던 공책느낌으로 제본이 되어 있어서 수능시험지나 한국사시험지만 받아본 나에게 너무나 신기했다. 컴퓨터용 싸인펜을 가져가지 않더라도 감독관이 컴퓨터용 싸인펜을 가지고 있어 받을 수는 있지만 내가 시험 본 곳에서는 컴싸를 개인이 들고오지 않은 사람은 없었다.
수험표는 자신이 수험번호를 외워가지 않는 이상 뽑아가는 것이 좋은 것 같다. 답안지에 수험번호를 마킹해야하기도 하고 수험번호를 알아야 시험보는 곳을 쉽게 찾을 수 있다.
<시험>
1. 1-2데이터 모델과 성능보다는 1-1이 비중있게 다루어졌고 2-3 최적화 기본 원리는 출제되지 않았다.
(듣기로는 2-3은 원래 SQLP 범위에 들어가는 것으로 출제를 지양한다는 것을 보긴했는데 진짜 안나왔다)
2. 노랭이에서 20% ~ 30%정도 문제가 그대로 나오거나 살짝 변형해서 나온 것 같다.
3. '도대체 1과목이 왜 어렵다고 하는거지?'라고 생각하며 시험을 친 나로서는 반성을 하게 만든 시험이었다. ER모델을 제대로 해석하지 못하면 틀린만한 문제가 좀 있었다.
4. 다만 전체적으로 봤을 때는 시험전 풀어본 기출보다는 확실히 쉬웠던 것 같다.
5. SQL Query가 보기로 나온 문제가 많지 않았고 SQL QUERY 문제 또한 천천히 읽고 예상되는 오류나 결과를 짚어보면 답이 쉽게 나왔다.
<출제된 개념>
1과목
1. 도메인
2. Barker 표기법( 그림 )
3. 속성 종류
4. 식별자 특징
5. ER 모델을 보고 중심 엔티티 파악
6. ER 모델을 보고 관계를 해석
7. ER 모델을 보고 내용을 파악
8. 트랜잭션 특징
주1. 엔티티 속성 인스턴스 분류
주2. 주식별자 선택
2과목
1. UNION 문제(교재 문제- AAA AAB)
2. UNION ALL & MINUS 문제( 교재 문제 변형 - UNION ALL UNION)
3. GRANT 권한 부여(교재 문제 - UPDATE권한을 부여하는 문제)
4. 권한 부여가 가능한 DDL, DML
5. NUMERIC 타입
6. 그룹 내 비율 관련 함수
7. Natural join 특징
8. DML, DCL, DDL( 교재문제 변형 - 각각에 맞는 명령어)
9. SELECT DISTINCT A,B 결과
10. 단일행 함수에 다중행이 들어온 경우 + SUM()에서의 NULL 처리
11. ORDER BY 정렬 QUERY(오름차순, 내림차순) + ORDER BY에서 나오는 숫자의 의미
12. DROP, TRUNCATE 특징
13. WHERE (COL1,COL2) IN (('A','1'))의 처리 방법
14. ORACLE에서 TOP()효과를 내기 위한 ROWNUM 사용 방법
15. 계층형 쿼리를 보고 해석 & 계층형 쿼리 문법 개념
16. NULL을 포함한 COL의 ( SUM, AVG, COUNT) 적용
17. GROUP BY하고 난 후 ORDER BY를 사용할 때 ORDER BY절에 들어갈 수 없는 것.
18. INSERT INTO 구문에서 데이터를 넣을 때의 암시적 변환이 안되어서 오류가 나는 경우
19. ROLLUP, CUBE, GROUPING SETS 특징(교재 문제 - 그룹함수)
20. VIEW를 이용한 조회 SQL( 교재 문제 - view 생성하고 조회 query)
21. 복잡한 SQL문을 주고 해석
22. 복잡한 SQL문을 주고 오류 혹은 올바른 해석(교재 102P와 같은 유형 문제)
23. 보기별로 SQL문을 주고 결과가 다른 것 구하기(차집합 관련)
24. LEFT OUTER JOIN에서 ON에 일반적인 JOIN조건 뿐만아니라 상수조건이 나왔을 때 처리 방법(교재 72P 같은 유형 문제)
25. CREATE TABLE - INSERT - CREATE TABLE - INSERT - TRUNCATE - ROLLBACK 후 결과(교재 31P 같은 유형)
26. IN 내부에 중복된 값이 있을 때 처리 방법
27. LIKE 문제 with Cross Join(교재 문제- 카티션곱이 이루어지는 LIKE문제)
28. join에서 (+)의미
주1. 적절한 윈도우 함수 넣기(교재 111P와 같은 유형 문제)
주2. 주어진 두 테이블 사이의 INNER JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN, CROSS JOIN 결과 row의 갯수 구하기
주3. 적절한 순위 매기는 함수 넣기
주4. ROLLUP을 했을 때의 테이블을 보고 집계값 작성하기.
주5. SELECT COUNT(*) ~~~~ WHERE COUNT(*)>N시 결과행 갯수
주6. SELECT 절에서의 SUM(CASE ~~~) 결과
주7. SELECT절에서의 스칼라 서브쿼리 결과
주8. WHERE 절에서 NULL인 것을 뽑아내기 위한 조건 설정
기억이 나지 않은 문제는 기억이 나지 않을 정도로 그냥 쓱 풀고 넘어가서 그런 것 같다. 그만큼 생각보다 잘 풀렸고 내가 공부를 덜 했던 것이지 어려운 문제는 없었다.
시험 보고 난 후
<앞으로 계획>
이제 4/8일에 나오는 결과를 기다리면 되는데 내 진로에 대해 생각해보고 SQLP가 필요하다면 아마 3차에 또 볼 것 같다는 생각이 들었다.
<시험 전략>
개념은 위의 링크를 통해 익히는 것이 가장 중요하고 추가적인 개념은 기출문제와 SQLD 자격검정실전문제를 풀면서 익혀나가면 무난하게 볼 수 있다고 생각한다. 모르는 것이 있다면 블로그에서 물어보면 잘 대답해주기 때문에 적극적으로 물어본다면 쉽게 도움을 얻을 수 있을 것이라 생각하며 1과목의 경우 내용이 적지만 과락의 위험성이 크기에 신경써서 공부할 필요가 있다고 생각한다. 개념과 SQLD 자격검정실전문제 2회독( 문제 정확히 이해)만 한다면 합격은 보장될 것 같다.
'자격증 > SQLD(완료)' 카테고리의 다른 글
[SQLD] SQLD 44회 합격! (0) | 2022.04.01 |
---|---|
[SQLD] 단답형 부족한 개념 정리 (0) | 2022.03.08 |
[SQLD]SQL 자격검정실전문제 2과목 오답노트 (0) | 2022.03.06 |
[SQLD] 1-1 핵심 개념 정리 (0) | 2022.03.02 |
[SQLD] extra1. 정규화 (0) | 2022.02.22 |