안녕하세요! S사(IT 서비스 회사) 입사를 희망하는 취업준비생 멘티입니다. 아직 서류 전형을 통과하지도 못하였지만, 우선 차근차근 준비를 해보려고요!
©️unsplash
가장 걱정되는 것은 SW 역량 테스트인데요. 어떤 식으로 준비하면 될지 멘토님께 조언을 구하고 싶어요. 인터넷으로 정보를 찾아보니, 평소에 알고리즘을 많이 짜봐야 한다고 하는데요. 학교에서 관련 수업을 수강해 본 적이 없어서 많이 걱정되네요. 단기간에 SW 역량 시험을 효율적으로 공부할 수 있는 방법이 있을까요?
정말 가고 싶은 회사라 이렇게 멘토님께 도움을 요청해봅니다! 답변 부탁드릴게요. 감사합니다.
안녕하세요, 멘티님! S사 입사를 준비 중이라고 하니 더욱 반갑습니다.
©️pexels
SW 역량 시험, 핵심은 ‘알고리즘’
SW 역량 시험은 주어진 문제에 대한 알고리즘을 설계하고 코드로 작성하여 풀어내는 걸 평가하는 단계라고 생각하시면 되는데요. 요즘은 사내에서도 개발자들에게 난이도별로 문제를 풀게 해 개인 역량을 확인하는 용도로 이용되고 있기도 해요.
제 경험에 비추어 보았을 때, 실제로 현장에서 문제를 마주하면 해당 문제를 코드로 전환하는데 의외로 꽤 많은 시간이 들더라고요. 평소에 알고리즘과 관련된 다양한 문제를 접하며 연습해보는 걸 추천 드립니다.
회사 내에서 사용되고 있는 문제를 직접 알려드리는 것은 좋지 않은 방법인 것 같아서요. 또 그 문제들이 그대로 나온다는 법이 없기도 하고요. 대신 제가 알고리즘을 공부하기 위해 참고하고 있는 사이트 두 군데를 소개해드릴까 해요. 멘티님이 이미 들어보셨거나 접해보신 사이트일 수도 있는데요. 아래 링크와 간단한 설명을 참고해주세요.
1. https://www.acmicpc.net/ : 다양한 난이도의 문제와 문제에 대한 소스를 업로드하여 채점도 가능한 사이트 입니다.
2. https://algospot.com/ : 이곳 역시 다양한 난이도 문제와 제출을 통해 채점이 가능한 곳입니다.
이곳에 나와 있는 모든 문제를 다 풀 수 있어야 한다는 부담은 갖지 않으셔도 돼요. 문제별로 정답자 비율 등이 나와 있는데 이를 참고해 난이도를 판단해 볼 수 있을 텐데요. 쉬운 단계부터 어려운 순으로 접근하시면 보다 효율적으로 공부할 수 있을 것 같습니다.
©️pexels
전공 지식이 부족해도 너무 걱정 마세요!
학교에서 배우는 어려운 알고리즘에 대해서 전부 알고 있을 필요는 없어요. 하지만 간단한 소트, 탐색, 스택, 큐잉 같은 것들이 의외로 문제 푸는데 도움이 될 수 있거든요. 관련된 개념을 알아두거나, 직접 코딩을 해보면서 익혀 두는 것 역시 SW 역량 시험을 대비하는 좋은 방법이 될 수 있을 것 같아요..
또 한 가지 팁을 드리자면 JAVA를 이용해서 프로그래밍 하는 경우, 주요 Class 별 method 나 field 명을 알고 있으면 문제 푸는 데 큰 도움이 될 수 있습어요. 예를 들어 String 클래스의 .substring() 메서드의 용법 같이 말이죠.
주어진 시간 내에 문제를 풀어내는 게 중요하므로 위에 언급한 String이나 Math같은 유용한 클래스들의 method를 잘 알고 있으면 빠른 시간 내에 코딩하는 것이 쉬울 수 있어요.
시간이 아주 많지 않지만 차근히 준비하시면 좋은 결과 있을 거예요! 회사에서 뵐 수 있기를 응원하고 있겠습니다. 파이팅!