2017학년도 가을학기 카이스트 전기 및 전자공학부 석사 면접 후기

흔치않은일상 2017. 5. 24. 03:30


  음... 일단 결과가 나오기 전에 적어보는 면접 후기이다보니 조금은 두서없을 수도 있습니다. 일단 바로 전날에 면접을 치룬 상황이기에 기억이 생생할 때 몇 자 적어봅니다.


 카이스트 전기 및 전자 공학부의 경우 교수님과의 컨택이 이루어지기 전 입시가 진행되며 최종합격이 된 후 교수님과의 면담을 통해 연구실을 확정짓게 됩니다. 여기서는 카이스트 서류 통과 후 면접과정에 대해 다루겠습니다.


 일단 글쓴이의 프로필을 적어보자면


학점    : 4 초반

학교    : 인서울

전공    : 컴퓨터공학

영어    : 토익 700 후반


 먼저 카이스트 대학원 원서를 제출한 후 제출기한이 마감되면 며칠 후 지원시 작성하였던 메일 주소로 자신이 응시하고자 하는 시험을 선택하라는 내용이 전달됩니다. 아래는 전기및전자공학부에서 응시가능한 시험 분야입니다.


  1. 신호및시스템 (선형 시간 불변 시스템, 연속/이산 시간 신호 처리)
  2. 전자기학
  3. 회로 (회로이론, 아날로그 및 디지털 전자회로)
  4. 통신 (아날로그 통신, 기초 디지털 통신 및 기초 확률)
  5. 반도체 (물리전자, 반도체 소자)
  6. 컴퓨팅분야 (프로그래밍, 자료구조)


 카이스트 전기및전자공학부 대학원 면접전형은 전공 6분야 중 2분야를 선택한 후 관련 문제를 약 25분동안 풀고 면접관 앞에서 약 12분간 자신이 문제를 해결한 방법에 대해 칠판에 판서하면서 설명하는 방식입니다.


 다만, 전기, 전자, 정보계열이 아닌 다른 분야를 전공하였을 경우 1개만 선택해도 됩니다. 저의 경우 컴퓨터공학을 전공하여 전공과목 1개만 선택이 가능하였고 당연히 제 전공에 해당되는 6번 컴퓨팅 분야를 선택했습니다.


 그렇게 카이스트 대학원 원서를 접수한 후부터 전공 공부에 돌입하였습니다. 먼저 컴퓨팅분야에 시험범위로 적혀있는 프로그래밍과 자료구조론을 공부하였습니다.


 처음 공부할 때 프로그래밍이라 해서 혹시나 하는 마음에 C언어의 생기초부터 공부를 시작하여 자료구조론은 3번정도 읽었던 것 같습니다. 마지막으로 혹시 출제될 수도 있을 것 같아 면접 2주전에 운영체제와 데이터베이스를 오버뷰 한 다음 결과를 기다렸습니다.


 다행이 서류 합격! 처음에 긴가민가 해서 공부를 조금 소흘히 한 것이 마음에 남지만 면접은 서류 합격 5일 후에 바로 시작됩니다. 일단 면접이 코앞이라 자료구조 책을 다시 한 번 훍어보았습니다. 나머지 책은 눈에 잘 들어오지 않아 책을 읽는둥 마는둥 했습니다 ㅎㅎ



 그렇게 결전의 날이 밝아오고 새벽부터 KTX를 타고 카이스트로 향했습니다. 면접 소집 시간은 오전 8시 30분. 타지에 계신 분이라면 많이 빡빡한 일정이 될 수도 있는 이른 시간이긴 합니다만 면접장에 도착하는 약 50명 정도 되시는 분들이 면접장에 모여계시더군요.


 아차, 가끔 후기를 읽다가 복장에 대해 궁금해 했던 적이 있었는데요. 거의 대부분의 분들이 정장을 입고 계셨고 캐주얼 복장도 몇 분 계시긴 했습니다. 제 주변 분들이 대학원생이 연구실에서 정장 안입는다고 하면서 면접때 그냥 가도 된다 했었는데 하마터면 저 말에 깜빡 속을 뻔했죠 ㅎㅎ 이 나쁜 친구들!


 면접장소에 도착하게 되면 지퍼백에 자신의 휴대폰을 넣은 후 안내조교에게 반납합니다. 휴대폰은 자신의 면접 일정이 끝나기 전 까지는 사용할 수 없습니다. 휴대폰을 반납한 후 카이스트에 직접 보냈던 원서를 그 자리에서 받게 됩니다. 이 때 원서 위에 자신의 면접 일정을 간략하게 붙여둔 작은 일정표가 첨부되어 있으며 이 때 자신이 보게 될 과목과 순서 또한 표기되어 있습니다.


 그렇게 휴대폰을 반납한 후 아침 시간에는 인성검사가 진행됩니다. 인성검사는 1인당 약 5분정도 진행되며 카이스트 교수님들 중 원로교수님들께서 면접을 진행하고 계셨습니다.



교수 A   : 학생, 자기소개 해보세요.


본인      : (간단한 신상정보 소개) 저는 마이크로프로세서 분야에 관심을 가지고 있습니다.


교수 B   : 음... 이 쪽 분야는 워낙 발전된게 많아서 연구할 게 있으려나...?


본인     : 최근 지능형자동차가 등장하게 되면서 차량 내에 다양한 반도체가 들어갑니다. 특히 ECU의 경우 지능형자동차의 핵심 요소라 할 수 있습니다.


교수 B   : 그렇지. 요즘 자동차 안에는 수백개의 센서가 들어가니깐요. 학생은 장래에 목표가 무엇인가요?


본인     : 저는 석사과정 2년동안 마이크로프로세서 분야에 대해 연구한 후 자동차 회사에서 ECU 컨드롤러를 개발하는 연구원이 되고자합니다.


교수 B   : 아, 현대자동차 같은 회사 말이죠?


........


 대략 인성면접은 자신이 대학원을 진학하려는 이유와 앞으로의 장래회망에 대해 명확히 말씀하신다면 인성면접을 보시는 데에 큰 문제는 없으실거라 생각합니다.


 인성면접이 완료되면 아침 면접 일정은 종료됩니다. 점심은 학교에서 서브웨이를 제공해줍니다. 처음에 점심 제공을 해준다 해서 카이스트 학식을 맛볼 줄 알았는데 그렇지 않은 점은 조금 많이 아쉬웠습니다.



 다음으로 오후 일정은 전공면접입니다. 전공면접은 위에서 말씀드렸듯이 2개의 분야를 선택하여 면접에 임하게 됩니다. 다만 저의 경우 컴퓨터공학을 전공하였기 때문에 전공 분야는 1개만 선택이 가능하였고 그 중 컴퓨팅 분야를 선택하여 면접에 임하였습니다.


 면접 문제 난이도는 학기중에 교수님이 내주시는 과제를 해결할 줄 아는 능력 정도만 갖추셧다면 쉽게 푸실 수 있습니다. 다만, 자신이 공부를 한 지 좀 오래 되신 분이라면 저처럼 다시 복습하면서 문제를 해결하였던 과정을 다시 되새겨보시는 것도 나쁘지는 않을 겁니다.


 문제의 갯수는 자신이 선택한 분야마다 다를 수도 있습니다만 컴퓨팅분야의 경우 총 3문제가 출제되었으며 출제과목은 프로그래밍(간단한 손코딩), 알고리즘, 시스템프로그래밍및 자료구조론이었습니다. 문제 내용도 자신이 학기중에 과제를 충실해 해오셨던 분이라면 25분 내에 푸실 수 있을 정도의 난이도입니다. 이 중 2개의 문제를 선택하여 문제를 풀면 됩니다.


 문제풀이 시간이 끝나면 면접조교의 안내에 따라 교수님이 계신 방으로 이동하게 됩니다. 제가 들어간 컴퓨팅분야 방에는 두 분의 교수님이 계셨으며 칠판 앞에 서서 교수님께 문제를 어떻게 풀었는지에 대해 설명해주시면 됩니다.


교수A    : Factorial을 반복문을 사용해서 만들어보세요.


본인      : (칠판에 판서를 하면서) 먼저 반복문에 사용할 int 변수 하나를 선언한 후 ....(중략)... for문을 선언한 후 다음과 같이 코딩을 하면 Factorial을 구현할 수 있습니다.


교수B    : 음.. 그렇군요. 그럼 이번엔 Factorial을 recursion방식으로 구현해보세요.


본인     : 만약 인자 값이 1일 경우 if(n=1)을 사용하여 1을 return 해주며, return에 n*factorial(n-1) 방식으로 설계하면 될 것 같습니다.


교수A    : 음... 식이 이상한 거 같은데 if문 안에 조건을 저렇게 써도 되나요?


본인      : 음... (잘못 쓴 것을 눈치챔) 아, 제가 잘못썼습니다. if(n==1)로 작성해야 맞습니다.


교수A    : 음... 그렇군요. 그렇다면 다음 문제 피보나치수열을 구현한 다음 Time Complexity를 추정해보세요.


본인      : 피보나치 수열은 다음과 같이 코딩하고요 시간복잡도는 O(n)입니다.


교수A    : 엥? 시간복잡도가 그렇게 나오나요?


본인      : (당황) 아... 다시 보니 O(n^2)인 것 같습니다.


교수A    : 음... 아닌거같은데? 지금 작성환 소스코드를 좀더 효과적으로 나타내볼 수 있겠나요?


본인      : 네... 음..... 지금 작성한 제 코드가 최적화된 코드라고 생각합니다.


교수B    : 우리 이제 시간 없으니 다음 문제로 넘어가봐요.


 지금 후기 남기면서 피보나치 시간복잡도를 확인하니 O(2^n)으로 나오는군요. 그런데 지금 저 면접 때로 돌아가도 답은 제대로 못했을 것 같습니다. 워낙 긴장한 상황이다보니 말이지요.


교수A    : 문제에 제시된 소스코드를 보고 어떻게 동작할 지 설명해주세요.


본인      : 먼저 fork() 함수가 호출되기 전 A가 출력됩니다. 그 다음 fork()함수가 호출되면서 B가 두 번 호출됩니다. fork()함수의 결과값은 부모의 경우 자식 프로세스의 id값을 받게되며 자식 프로세스는 0을 받습니다. 그리고 다음으로 C는 4번 호출되며 D는 6번 호출됩니다.


교수B    : C에서 D가 호출될 때 어떻게 호출되는지 자세히 설명해봐요


본인      : C는 부모노드이고 fork() 함수의 return값이 0이 아니므로 if문이 실행되지 않아 fork() 함수가 추가로 호출 되지 않습니다. (이것저것 설명)


교수A    : 네. 잘했어요. 다음 문제 풀어볼까요?


본인      : 이 함수에서는 스택이 있습니다. 이 소스코드를 따라가다보면 스택의 값들이 모두 pop 하게 되어 .......


 소스코드 자체는 그렇게 많이 어렵지는 않았습니다. 다만, 소스코드 중간중간에 자기 자신을 호출하는 recursive 기능이 포함되어 있기 때문에 소스코드를 읽으면서 설명하다가 실수할 수도 있습니다.


본인     : 이러한 식으로 스택에는 값이 채워지게 되며 그 이후에도 같은 방식으로 스택에 값을 채우게 됩니다.


교수A   : 그와 같은 방식이 뭔데요?


 대략적인 상황은 대충 설명하고 넘어가지 말고 그 과정을 매우 디테일하게 설명해야 되는 상황이었습니다. 하지만 계속 반복해서 설명하면 교수님들도 이해하고 있구나 하고 넘어가시는 듯 보입니다.


교수A    : 그래서 그 스택을 모두 pop하는 operation()함수는 어떤 역할을 한다고 생각하나요?


본인     : operation()함수는 메모리상의 관점에서 보았을 때 stack 역할을 하고 있다고 생각합니다. operation 함수가 stack의 pop을 실행할 때 마다 실제 메모리에도 stack의 pop으로 나온 값이 메모리에 스택처럼 저장되기 때문입니다.


교수B    : 그래요 수고하셨어요.


 그렇게 저는 1개의 분야 문제풀이를 마치고 면접관에게 휴대폰을 받은 후 바로 집으로 귀가하였습니다.


 어떻게 보면 길면 길었지 결코 길지 않았던 12분의 시간만에 전공면접을 마치고 집으로 돌아가게 되었습니다. 지금 이 후기를 작성하는 시간은 면접 응시 다음날인 새벽 3시 18분 입니다. 과연 저는 합격할 수 있을까요?



※추가내용 - KEPSI-KAIST 장학생 전형


 카이스트 면접 바로 전날에 KEPSI(하이닉스 산학장학생) 면접이 있었습니다. PT방식으로 진행되는데 자신의 기본 전공 실력을 진짜 열심히 공부하셔야 면접관 앞에서 대답이 수월하실 겁니다. PT면접은 자신이 지원한 직무와 관련된 문제 3개를 받은 후 이 중 1개를 풀면 됩니다. 문제 난이도가 높은 편이지만 자신이 문제를 풀어나가는 과정을 면접관님께 또박또박 설명해 주신다면 좋은 결과를 들으실 수 있을 겁니다.


 저는 인터넷에서 SK하이닉스 PT면접으로 반도체와 관련된 내용이 나온다 해서 반도체 제작 8대 공정을 달달 외워서 들어갔습니다만 다행히도(?) 제가 외운 내용은 한줄도 안나오더군요... 정말 해당 직무와 관련된 내용만 공부하셔서 들어가면 됩니다!! 다시 한 번 말씀드리지만 자신의 전공지식, 그리고 관련 직무와 관련된 부분만 정확히 공부하셔서 들어가시면 면접관님께 한 마디라도 설명이 가능하실거라 믿습니다!!(진짜 많이 어려웠습니다 ^^;)




 2017년 6월 15일 합격했습니다! 이제 본격적으로 학문을 공부하는 학자가 되고자 하니 마음이 설레이는군요! 카이스트 지원을 준비하시는 여러분들도 좋은 결과 있으셨으면 합니다!


300x250