티스토리 뷰

서론

삼성전자에 인턴지원을 하고 서류통과하여 소프트퉤어 역량 테스트를 보고 왔다. 시험을 준비하는 다른 분들께 도움이 될수 있을만한 내용을 포함하여 후기를 쓴다.

나는 구글 검색으로 SW역량테스트 후기들을 미리 찾아보고 갔는데 실제 시험환경은 후기와 대체로 비슷했던 것 같다. 사실 이 글에 나와있는 내용은 고사장에 가보면 다 알려주는 당연한 내용이라, 이 글을 읽어서 얻는 이득은 크게 없을지도 모른다. 그래도 시험을 보러 가야 하는 상황에서 도움이 될 만한 내용들을 함께 담아보려고 해 보았다.

나는 C/C++로 시험을 응시했기 때문에, JAVA, Python개발환경에 대해서는 정확하게 쓰지 못했다. 그렇지만 일반적인 내용들은 비슷할 것 같다. 또한 시험환경이나 시험규정은 바뀔수 있으니 '후기'일 뿐 공식적인 자료는 아니라는 점을 인지하고 참고로 하면 좋겠다.

도움될만한 것 한가지만 먼저 말하자면, 자신이 쓰는 버전 외에 다른 버전의 Visual Studio 단축키를 숙지 하라는 것이다.


Part1. 오리엔테이션

시험 시작 30분 쯤 전부터 오리엔테이션(OT)이 시작된다. 가지고 온 모든 소지품(휴대폰, 웨어러블디바이스, 필통) 등을 담아서 고사장 앞에 놓으면 된다. 이 시간동안 시험 방법을 숙지하고 개발환경을 체크해볼 수 있다. 안내에 따라 컴퓨터를 켜고 시험용 사이트 접속, PC환경 점검, 프로젝트를 생성, 빌드 등을 확인해볼 수 있다.

그리고 이 시간에 백지를 한장씩 나눠준다. 이 종이는 시험 도중에 문제 풀이를 위한 연습장으로 활용할 수 있다. 시험 종료시에는 종이도 제출해야 한다. 종이가 더 필요하면 쓰고있던 종이를 제출하고 새 걸로 받을 수 있다.

시험 전용 웹사이트

고사장앞 칠판에 써있는 ip로 접속후, 본인의 이름과 이메일 주소로 로그인하니 시험 전용 사이트가 나왔다. 시험문제 확인부터 제출까지 모두 이 사이트에서 진행된다. 사이트에는 문제 풀이 기능 이외에도 FAQ, 공지, 질문 등 기능이 있으며 시험 도중 자유롭게 열람할 수 있다. 시험 시작 전에도 사이트 접속이 가능하지만 시험문제는 시험 시작시에 공개된다.

사이트 최초 접속시 간단한 튜토리얼로 사이트 구성과 사용법을 알려준다. 또 시험을 시작하기 30분 전부터 사이트에 대한 사용방법을 안내해주는 오티영상을 틀어주기때문에 금방 파악할 수 있었다. SW Expert Acacemy 사이트에서 문제 푸는것과 거의 비슷하다.

웹사이트 FAQ

웹사이트의 FAQ에는 자주 궁금해하는 사항이 나와있다. 실제로 궁금할 법한 내용이 잘 나와있어서 시험전에 미리 읽어보면 좋을것 같다.

다음은 FAQ에서 기억나는 주요 내용들이다.

하면 안되는 것

  1. 외부 자료는 열람하면 안된다.
  2. 저장매체(usb 등)를 사용하면 안된다.
  3. 엑셀과 계산기(윈도우 내장 계산기)는 사용하면 안된다
  • 계산기는 써도 된다는 말도 있다. 다만 계산기가 필요한 경우가 거의 없어서, 그냥 안쓰는 걸로 생각해도 문제 없을것 같다.
    (계산기가 필요하다면 이부분은 직접 확인해보길 바람.)

그외 궁금할 법한 것들

  • 필기구 : 직접 가지고 온 필기구를 사용할 수 있다. 여러개 사용해도 제한이 없다만, 필통에서 미리 꺼내어놓고 올려놓고 써야 한다.
  • 음료수 : 뚜껑이 있는 음료수는 올려놓고 시험도중에 마셔도 된다.
  • 화장실 : 화장실은 동일한 고사장에서 1명씩만 갈수 있고, 모니터를 끄고 갔다오도록 한다.

파일 입출력

파일입출력을 위해 freopen을 쓰는 방법이 FAQ에 따로 나와있다.
freopen을 활용하여 파일입력을 할 경우 원래는 제출전에 freopen을 꼭 지워야 하지만, #ifdef으로 채점서버에선 작동하지 않도록 하는 방법도 소개 되어있다. freopen을 지우지 않고 코드를 제출하는 실수를 하거나 마감 직전에 이부분을 수정하느라 당황할 수 있으니 이 방법을 쓰는것도 괜찮을것같다. 같은 내용이 샘플 코드에 주석으로 달려있기도 하다


반응형

Part2. 개발 환경 테스트하기

시험을 시작하기 전에 미리 개발환경 및 빌드 테스트를 해볼 수가 있다. 이 시간에 Visual Studio를 열어서 프로젝트를 생성하고 빌드가 잘 되는지 확인해볼 수 있다.

시험을 응시할 PC에 가이드 문서와 샘플 코드가 저장되어 있다. 샘플 코드로는 Hello World를 출력하는 코드가 txt 파일로 들어있었다. 이 코드를 복사해서 IDE에 붙여넣어 빌드를 테스트해 볼 수 있었다.

이 시간에 Visual Studio를 직접  열어서 사용자 입력(표준입력)이 잘 되는지, 헤더파일 include 했을때 문제가 없는지, 자주 쓰는 단축키가 잘 되는지 등을 추가로 확인하는 것을 권장한다.

시험이 시작한 이후에 내가 생각한 경로 및 프로젝트 설정으로, 파일을 넣고 실행했을때 파일 입력이나 include가 되지 않을 경우 시험 시간을 잡아먹는데 시작 전에 이런 부분들은 미리 잡아두면 시험 시간을 좀더 확보할 수 있다.

시험 당시, 같은 고사장에 복사/붙여넣기가 잘 안된다는 사람, 키보드가 잘 안된다고 문의한 사람, 단축키가 안된다는사람이 각각 1명씩 있었다. (단축키는 버전이 달라서 다른 방법으로 하니까 되었었다.)

특히 표준입력을 하는 방법이 몇가지가 주어지는데, 어떻게 할 지를 유의해야 한다.

  • cmd창에 직접 입력받기
  • 파일로 입력받기(freopen사용)
  • 환경설정에서 input파일 경로 입력

입력을 받는 방법은 여러 방법이 있는데, freopen()을 사용하는 것이 가장 널리 알려져 있는 것 같다.
(freopen을 쓰면 최종 제출 전에 꼭 이부분을 지워야 제출된다.)

출처 : swexpertacademy.com

input.txt파일의 위치, 인코딩에 따라서 잘 안될수도 있기 때문에 시간이 주어진다면 입력이 잘 받아지는지 확인해보는게 안전할 것이다. 나는 환경설정을 통해서 입력 받는게 잘 안되어서, 결국 그냥 freopen을 사용했다.

반응형

PC 환경(윈도우 및 Visual Studio 버전)

시험을 볼 당시의 PC에는 윈도우7 이 설치되어있고, 문제풀이에 필요한 IDE외에는 거의 설치된 것이 없는 상태였다.
이 컴퓨터로 사용할 프로그램은 2가지밖에 없다. (굳이 더 있다면 메모장 정도?)

  1. 개발툴(Visual Studio)
  2. 시험 전용 웹사이트

혹시 어떤 기능이 제한되어 있을지 모른다는 생각이 들어서 윈도우 기본 기능들을 체크해봤는데 기본적인 기능은 일반 PC 와 다른점을 느끼지 못했다. 윈도우 단축키 사용, 탐색기(폴더 만들기, 이름 바꾸기, 파일 이동 등), 메모장 사용 등을 테스트해봤는데 잘 동작했다.

작업표시줄 설정을 내가 익숙한 설정으로 바꿨는데 문제가 없었다.(끝나기 전 원래대로 해놓기를 권장)

Visual Studio 버전

1번째 응시 - Viual Studio Express 2013
2번째 응시 - Visual Studio 2017

1번째 응시

  • Viual Studio Express 2013이 설치되어있다.
    (C/C++만 사용했기 때문에, JAVA, Python개발환경에 대해서는 정확하게 파악을 못해서 그 부분은 쓰지 못했다.)
    한글판으로 셋팅되어있으며, 그 외 환경설정은 기본으로 맞춰져 있는 것 같았다.

2번째 응시

  • 같은 장소에서 상시 SW역량테스트를 재응시했는데, 이때는 Visual Studio 2017 버전이 깔려있었다.
    첫번 째 응시때와 다르게 코딩테스트와 무관한 프로그램도 많이 깔려 있었다. 그 PC만 예외적인 경우일지도 모르겠다. 아무튼, 개발환경에 민감한 사람이라면 반드시 특정 버전이 깔려있을거라고 확신하고 있는 것은 위험할 것 같다.

개발 환경에 민감한 분들은 환경설정하는 방법을 미리 파악해 가면 도움이 될 듯 하다.
나의 경우에는 익숙한 환경을 셋팅하는 법을 어느정도 파악해 두고 와서 빠르게 셋팅했다. 너무 디테일한 변경보다는 다크 테마 설정글씨체 변경 같은 최소한의 변경으로 익숙한 환경을 만들 수 있게 준비를 해갔다.

그리고, Visual Studio 버전마다 단축키가 약간씩 차이가 있으므로 자주 사용하는 단축키가 있다면 다른 버전에서 어떻게 다른지도 확인해봐야 한다. 단축키를 모르더라도 메뉴를 통해 직접 기능을 실행하는 방법도 알고 있는게 좋을것 같다.
(버전에 띠라 다른 단축키 예:Ctrl+K+D/Ctrl+E+D, Ctrl+Enter/Ctrl+Space, 디버깅 관련 단축키)

내 옆사람도 단축키가 안먹힌다고 감독관을 호출했었는데 본인이 익숙한 버전이 아니어서 단축키를 잘못 알았던 것이었다.

[시험 시작전 체크 리스트]
- PC의 키보드 입력, 마우스 클릭, 복사/붙여넣기 등 기본기능
- Visual Studio를 열어서 프로젝트 생성 및 빌드가 작동하는지 확인
- 사용자 입력(표준입력)을 어떤 방식으로 할지, 잘 되는지 확인
- 헤더파일 include가 작동하는지 확인- 자주 사용하는 단축키 확인
- 다크 테마 설정, 글씨체, 한글/영어 설정 등 익숙한 환경 만들기

[응시 전 체크리스트]
-  자신에게 맞는 IDE환경설정 하는 방법 파악(다크 칼라, 창 위치 변경)
- 자주 쓰는 단축키 몇가지는 미리 생각해두고, 다른 버전의 단축키도 미리 파악해두자

Part3. 문제 풀이

2개의 문제중에 하나를 선택한 다음, "문제풀기"를 클릭하면 문제와, 제출할수잇는 페이지가 나온다.
한 문제를 풀다가 되돌아가서 다른 문제를 푸는것도 가능하다.

문제를 제출하는 방법은 SW Expert Academy에서 문제 제출하는 방법과 거의 똑같다.

  • 코드를 작성하고 컴파일만 하거나 Run 해볼수 있다.
  • 테스트를 위한 input 입력창이 있고, input에 내용이 없으면 sample_input으로 입력된다.
  • 샘플입력파일(sample_input.txt)를 다운받을 수 있다.
    SW Expert Academy와 다른점은, sample input의 내용을 다운 받는 대신, 새창에 띄워서 복사해서 쓸 수도 있게 되어있다. (다운받은 파일을 찾아서 열어보는것 보다는, 새창에서 바로 보고 복사하는게 편한것같다.)

코드 작성 이후에 최종적으로 반드시 "제출"을 클릭해야 제출이 된다.

제출시에 있으면 안되는 코드가 있으면 알려준다.
( freopen()이 포함되어 있거나 채점시에 적용되지 않는 최신 c++ 문법이 있으면 제출되지 않고 오류 창을 띄워서 알려준다.)


Tip. 시험 시작전에 할 일 정리

빌드 테스트를 위해 주어지는 시간에 해볼수 있는 일들을 마지막으로 다시 정리해본다.
이때 Hello World가 잘 뜨는것만 확인하지 말고 아래의 것들도 더 체크해보면 좋을 것 같다.

  1. 입출력을 미리 확인해본다.(파일 입력이 잘 되는지)
  2. 파일이 저장되는 경로를 미리 확인한다. (문제가 2개기 때문에 파일을 찾아야 할수도 있다.)
  3. 자주 쓰는 단축키가 잘 되는지 확인한다. - VS 버전에 따라 조금씩 차이가 있기 때문이다.
  4. 최신 문법이라고 생각되는게 있다면 직접 확인해본다. (미리 알면 더 좋지만) - auto 혹은 나같은경우엔 for( i : 배열 이름) 이걸 자주 쓰는데 안되더라. for(i = {0,1,2,3}) 이런게 안되면 제출할 때, 안되는걸 수정하고 다시 제출해야 해서 시간이 촉박하면 당황할 수가 있다.(IDE에서는 되는데, 제출하기 전 채점 서버에서 컴파일하면 안되는 것도 있다.)
  5. IDE의 테마(창 위치, 색상, 폰트 등)를 설정 한다. - 한글, 영문 버전이 달라질수도 있는 점도 주의.
  6. 키보드와 마우스가 잘 되는지 확인한다.
  7. 문제 풀 자세를 체크한다. 의자 높이, 모니터와 키보드 위치 등. 의자가 조정이 가능하면 자신에게 편한 높이로 맞추고 하는것이 좋다.
반응형
댓글