면접 때 C++ 코딩 시험을 본다고 하는데 어떻게 준비해야 좋을까요?

Icon eye 268
Icon comment 1 0

[멘티 배경] 

안녕하세요. 개발직 인턴을 준비하고 있는 멘티입니다.

저는 아무래도 마이크로컨트롤러에서 C++로 프로그래밍을 했기 때문에

알고리즘 부분에 있어서는 컴퓨터공학자 친구들에 비해 지식이 거의 없습니다.


[질문 내용] 

면접 때 C++ 코딩 시험을 본다고 하는데 어떻게 준비해야 좋을까요? 


[답변 내용]

C++ 코딩시험이라고만 적혀있다면, 정말 막막하긴 하네요.

제가 경험한 것들이 도움이 될지 모르지만 우선 적어봅니다.


일단 가장 먼저 떠오르는게 손으로 코딩하는것을 보는건데요.

- 간단하게 1부터 100까지 더하는 코드를 손으로 작성

- 100개의 배열을 정렬하는 코드를 작성 (제가 본 면접에선 정렬방법을 제한하지는 않았었어요.)

- linked-list 같은 자료구조 작성

- 제시하는 클래스 (혹은 인터페이스) 작성

- 간단한 알고리즘 구현 코드 작성

정도가 있겠네요.


혹 지식에 대한 질문이라면,

- overriding/overloading 의 차이, 다형성 등 객체지향적 개념 설명

- templete, STL의 컨테이너 같은 C++의 개념 설명

- MSDN과 같은 API 문서에서 발췌한 영문 레퍼런스를 보고 함수의 기능 설명

(예를들어 strcspn 같은 잘 사용하지 않는 함수에 대한 parameter, return value, remarks 등을 보고 유추)

- 내부에서 사용하는 작성된 클래스 분석/버그 찾기/개선안 제시

자료구조, 알고리즘에 대한 공부를 추가적으로 하신다면 아래 정도를 추천해드릴께요.


- 자료구조의 경우,

스택/큐 (C++ STL의 stack/queue,deque)

배열/링크드리스트 (C++ STL의 vector/list)

맵/해시테이블 (C++ STL의 map/hashmap)

등 컨테이너에 대한 지식/이해


- 알고리즘의 경우,

복잡도 (Big-O 표기법 정도)

정렬 (삽입정렬방법은 어렵지 않으니 충분히 이해하시고 넘어가세요.)

탐색 (이진탐색이 가장 기본이 되겠네요. 너비우선탐색/깊이우선탐색 정도까지 알아두시면 좋을것 같아요.)

그래프/트리 (이진탐색 트리가 기본이 됩니다.)

나열한 순서는 난이도로 생각하셔도 될 것 같아요.

저 이외에도 제가 빼먹은게 많을것 같네요...


짧은 시간인데 전부 준비하는건 어려울 것 같으니, 우선 전체적으로 어떤 개념인지만 파악해보세요.


____________________________________


* 참고 사항

1. 위 글은 실제 멘토링 사례를 통해 함축적으로 각색한 내용입니다. 
   (실제 멘토링은 더 자세함을 알려드립니다) 
2. 해당 의견은 멘토의 개인의 의견입니다. 
   따라서 해당 사실에 대해서는 다시 한번 검토해주세요. 
3. 본 콘텐츠는 잇다 사이트 내 취업고민 Q&A로,

   상업적 용도의 이용을 금지합니다.


관련 멘토에게 질문해보세요

Happy 디렉터 모집 (~7/31)

● 모집 : 영상 콘텐츠 크리에이터
● 활동 : 해피포인트 앱 / SPC 브랜드 콘텐츠 미션 등
● 혜택 : 활동비 지원(월 40만 원) / 월 2회 콘텐츠 제작 등
** 자세한 내용은 이미지를 클릭해주세요

댓글작성

댓글 0 개