전편
☞ 2022.09.05 - [취준일기] - CS 면접 준비 (1) - 개발자 취준일기 17
지난편에 이어서 CS 면접준비 2탄이다. 지난번에는 공부해야 할 내용에 대해 다루었는데 이번에는 내가 공부한 방법(책, 사이트 등등)에 대해 다루려고 한다. 사실 많은 블로그에서 CS 면접에 대해 다루고 있다. 그런데 다들 조회수를 위해서 적은 것인지 도움이 안되는 경우가 많았다. 그래서 나는 블로그를 보며 공부해야할 목록만 추린 다음에 공부할 때는 블로그를 보지 않았다. 공부해야할 목록은 전편을 참고하면 되고 이제 내가 각 목록들을 어떻게 공부했는지 자세히 알아보자.
1. 기본 공부
CS 면접에서 기본으로 깔고가는 공부는 자료구조, 알고리즘, 언어, 운영체제, 네트워크, 데이터베이스가 있다.
첫 번째로 자료구조랑 알고리즘 공부는 코딩테스트랑 같이 하면 된다. 코딩테스트를 준비하면 자료구조랑 알고리즘 공부를 제일 먼저 시작한다. 이때 나는 문제만 풀면 되니까~ 같은 마음으로 후딱후딱 넘기지 말고 잘 정리해두는 것을 추천한다. 그러면 계속 기억에도 남고 면접준비할 때 다시 볼 수도 있어서 정말 좋다. 내가 추천하는 책은 코딩테스트 준비편에서 언급한 것처럼 "윤성우의 열혈 자료구조"랑 "이것이 취업을 위한 코딩테스트다", 이 두 책이다.
두 번째는 언어! CS면접을 보면 언어에 대한 질문도 꼭 몇 개씩 나온다. 예를 들자면 'c++에서 pure virtual funtion이 무엇인가요?' 같은ㅎㅎ(내가 실제로 받음) 물론 다들 평소에 사용하는 언어에 대해서 기본 지식을 갖추고 있겠지만 막상 면접에서 저런식으로 질문을 받으면 어? 하게 된다. 그래서 언어도 준비하는 게 좋은데 내가 추천하는 방법은 구글링이다. "python interview questions", "파이썬 인터뷰 질문" 을 구글링하면 아래 그림처럼 단골 질문들을 정리해 놓은 글들이 쫙 뜬다. 개인적으로는 영어로 구글링해서 해외 사이트를 참고하는 걸 추천한다. 질문도 훨씬 많은데다가 정리도 잘 되어있다. 한국 사이트에 있는 질문들은 그냥 영어 사이트에 있는 거 번역해서 복붙해논 경우가 많았다ㅠ참고로 답안도 있긴 한데 답안이 좀 부실해서 모르는 문제가 나오면 답안을 참고하기 보다는 구글링을 통해 좀 자세히 정리해 놓는 걸 추천한다.
사실 이 방법은 언어공부에만 국한되어있진 않다. 어떤 분야든지 "OOO interview questions"라고 치면 저런 사이트가 수천 개 나온다ㅎㅎ
다음으로는 운영체제, 네트워크, 데이터베이스, 컴퓨터구조, 이 네개인데 이 쪽은 관련 분야에 지원하는 게 아니라면 엄청 열심히 준비하지 않아도 괜찮다. 어차피 면접관들도 까먹어서 잘 모른다. 이 네 분야는 만약 컴공이나 관련과를 나와서 해당 과목들을 대학교 때 들었고 들을 당시 열심히 정리해 놨다면 그때 정리한 걸 참고하는 게 제일 베스트다. 그런데 컴공이 아닌 사람들도 많고 열심히 공부 안한 사람(나)도 많잖아? 그럼 다른 방법이 필요하다.
나는 컴퓨터구조랑 네트워크는 수업 들을 때 정말 조지게 공부해놔서 그때 피피티와 필기를 기반으로 공부했다. 그런데 운영체제는 날려듣고 데이터베이스는 아예 안 들어서...^^ 운영체제는 유명한 반효경 교수님의 "운영체제와 정보기술의 원리"라는 책을 보았다. 정말 쉽게 잘 쓰여져있긴 한데 세마포어, 뮤텍스에 대한 내용이 빠져있어서 그 부분을 따로 공부해야 한다. 또 내용이 딥하진 않아서 운영체제 관련 직무를 준비하는 분이라면 이 책으로는 부족하다. 데이터베이스는 내가 RDBMS 관련 직무는 다 떨어져서^^ 그냥 시원하게 버리고 하둡이랑 하둡 에코시스템만 공부했다. 어떻게 공부했는지는 2에 적혀있다.
2. 지원분야 관련 지식
지원분야 관련 지식은 이미 다 갖추고 있다면 좋겠지만 아니라면 책을 사거나 유튜브 강의를 듣는 것을 추천한다. 개인적으로 면접 준비를 위해 인프런 같은 사이트에서 인강을 듣는 것은 추천하지 않는다. 정말 좋은 사이트긴 하지만 강의들이 실습 위주로 되어있기 때문에 면접에는 적합하지 않다. 면접을 위해서는 책을 읽거나 유튜브 강의를 통해 기본지식을 쌓는 편이 좋다.
나는 데이터 같은 경우에는 유튜브에서 하둡이랑 하둡 에코시스템에 관한 강의를 봤다. 근데 유튜브에는 한가지 맹점이 있다. 영어가 되어야 한다. 리스닝은 안되더라도 영어 자막이라도 볼 줄 알아야 한다. 왜냐하면 한국어로는 강의가 별로 없다. 있더라도 특정 분야에 대한 강의만 있거나 한두시간 정도의 짧은 영상들 위주라서 면접을 준비하는데 큰 도움이 되지 않는다. 그런데 영어강의는 "클라우드 완벽 정리-10시간" 이런 강의가 차고 넘친다ㅠㅠ 만약 영어가 된다면 "OOO tutorial, OOO for beginner, OOO beginner tutorial", 이런식으로 치면 양질의 강의들이 잔뜩 나온다. 아래는 유튜브에 'hadoop tutorial'이라고 쳤을 때 나오는 강의들이다. 10시간, 4시간, 6시간 등 다양하게 긴 강의들이 엄청 많다ㅋㅋㅋ 이 영상들 중에서 앞에 강의 소개를 들어보고 괜찮은 강의를 들으면 된다. 영어가 된다면...
영어가 안된다면 한국어 책을 읽는 수밖에 없지...ㅎㅎ 나는 딥러닝은 학교에서 강의를 들어서 강의 노트를 보고 공부했는데 머신러닝은 강의를 안들어서 책을 샀다. 책은 서점에 가서 직접 목차와 내용을 보고 고르는 것을 추천한다. 요새 CS 관련 서적이 너무 많아서 인터넷으로만 보면 어떤 책을 살지 정하기 어렵다. 나는 참고로 머신러닝은 아래 "파이썬 머신러닝 완벽 가이드" 라는 책을 통해 공부했다. 설명이 정말 자세했다.
https://www.aladin.co.kr/shop/wproduct.aspx?ISBN=K212837700&start=pnaver_02
마지막 방법으로는 K-MOOC이 있다ㅎㅎ 사실 시간이 넉넉한 사람들은 K-MOOC에서 제대로 된 진짜 강의를 보는 것이 제일 좋다. 만약 다음학기부터 취준 시작해야지~ 같은 상태라면 그럴 때 들어두는 게 짱이다. 하지만 취준에 치이고 있다면? 이거 볼 시간이 어디있어. 그냥 유튜브랑 책을 통해 속성으로 배우자^^
1번이랑 2번 공부방법만 설명했는데 벌써 이만큼이나? 나는 말이 왤케 많은지 모르겠다. 한번 끊어서 가야겠다.
다음편
'취준일기' 카테고리의 다른 글
내가 보았던 모든 면접들에게 - 개발자 취준일기 20 (0) | 2022.09.14 |
---|---|
CS 면접 준비 (3) - 개발자 취준일기 19 (0) | 2022.09.12 |
CS 면접 준비 (1) - 개발자 취준일기 17 (0) | 2022.09.05 |
인적성 준비 방법 (gsat 준비 방법) - 개발자 취준일기 16 (0) | 2022.09.02 |
2022년 LG유플러스 인적성 후기 (LG Way Fit Test) - 개발자 취준일기 15 (0) | 2022.08.31 |
댓글