카페에서 도움을 많이 받아서 합격하면 꼭 후기 써야지 .... 했었는데
과사 직원분께서 면접 당시에 면접 후기 카페에 올리지 말라고 당부하셨던게 너무 마음에 걸려서
쓸까말까 고민을 하다가 결국 이렇게 후기를 씁니다.
먼저 스펙은 건동홍 컴퓨터공학과 3.8/4.5, TOEFL 90점 입니다.
사실 소위 설포카 노리는 학점 치고는 많이 낮습니다.
하지만 감사하게도 포스텍은 전공학점을 많이 봐주는 것 같습니다.
제가 이렇게 생각하게 된 이유로는,
면접 대기실에서 제가 제출했던 입시관련 서류(자소서, 성적표 등)가 든 파일(학생들은 이 파일을 들고 3개의 방에 들어가서 교수님들께 파일을 건낸 후 면접을 시작하게 됩니다.) 를 보았는데 3, 4학년 전공 성적들에 빨간색 동그라미가 쳐져 있었습니다.
참고로, 1학년 2학년 철없을 적에 성적을 망쳐 놓아서
3, 4학년 때 조금 열심히 했었는데 덕분에 전공 성적들을 A+로 받을 수 있었습니다.
또한, 남자 지원자들은 특히 군 제대 후 성적을 주로 봐 주는 것 같기도 했습니다.
그럼 본격적으로 면접 내용을 말씀드리겠습니다. (단, 교수님 성함은 거론하지 않겠습니다.)
1. 아키텍쳐, PL
(문을 열고 들어와 공손히 문을 닫은 후 교수님들을 향해 씩씩하게)
나 : 안녕하십니까!
교수님1 : 응, 서류 주게
나 : 넵!
교수님2 : 응 앉아서 자기소개 해봐
나 : (씩씩하게)넵! 안녕하십니까? 저는 oo대학교 4학년에 재학중인 ooo입니다.
(여기서부턴 약간 인간적?으로) 아 사실 제가 포항공대 컴퓨터 공학과에 너무 오고 싶었는데 면접 같은 것 보는 것이
너무 긴장이 되서 오늘 우황청심환 하나 사먹고 왔습니다. 정말 잘해보고 싶습니다 !
(교수님 1,2 비로소 나의 얼굴을 제대로 본다)
교수님1 : ㅎㅎㅎㅎ 무슨 우황청심환 먹었나 ??
나 : 비행기를 타고 와서 액체로 된것은 못 사왔고 환약으로 된거 먹고 왔습니다!
(교수님 1,2 웃으시고 나의 긴장은 풀림)
교수님1 : ㅎㅎㅎ 그럼 입안이 쌉쌀하겠네?
나 : 네 한약냄새가 입안에서 맴돕니다. (사실, "한약 냄새가 대뇌의 전두엽까지..." 드립 치려다가 참음)
교수님1 : ㅎㅎㅎ 그럼 잘해보게. 시작하지. 캐시란 무엇인가?
나 : (설명함)
교수님1 : 그럼 더블 캐시란 무엇인가?
(컴구조를 4-2학기에 수강 중이였기 때문에, 독학을 해서 컴구조에 소양이 깊지 않았음. 머리 속으로 L1 L2 캐시를 생각했음)
나 : (일단 자신있게) 아 더블 캐시는 L1, L2 캐시를 두고 ... 아 칠판을 이용해도 되겠습니까?
교수님1 : 응 간단히 해봐
나 : (관련식을 쓰고) 캐시가 하나일 때는 hit ratio는 높지만 hit time이 길다.
대신 캐시를 두개 사용하고 첫번째 캐시가 앞선 경우보다 캐시 크기를 작게해
hit ratio는 떨어지더라도 hit time을 높이는 것이 유리합니다.
교수님1 : 그렇지, 그런데 그게 더블 캐시인가?
나 : (개충격, 속으로 다른걸 생각해보고 이내 instruction 캐시, data 캐시를 생각하고 설명)
교수님1 : 그게 더블 캐시인가?
나 : (더블 개충격)
(이 외에 전반적인 메모리 하이어라키와 파이프라이닝 등을 설명)
교수님2 : 이제 프로그래밍 언어를 해보지. 언어 뭐뭐 써보았나?
나 : C, C++, JAVA 등을 써보았습니다.
교수님2 : 객체지향 언어의 특징이 무엇인가?
나 : (설명)
(이후 각각 특징에 대한 질문가 답이 오고감.)
교수님2: 그 외에 공부했는데 물어봐 줬으면 하는 것 있으면 말해보게
나 : (프로그램 수행 과정에 따른 메모리 상태 등을 설명, activation record 정의, 내부 구성 요소 등을 거론하며)
교수님1 : (흡족해 하시는 표정으로) 수고 했어 나가 봐. 다른 방에서도 긴장하지 말고 잘하고 !
나 : (감동) 네 감사합니다!
2. OS / 논리회로
(들어가서 인사 후 파일 건냄)
교수님3 : (내가 앉자 마자) 멀티플렉서가 뭐야?
나 : (설명)
교수님3 : 인풋이 몇개 일떄 아웃풋은 몇개야?
나 : (설명 잘 못함. 논리회로가 학부 과정에 없음을 설명)
교수님3 : 컴퓨터공학과에서 논리회로도 안배워?
(다른 것 2개 정도 던지듯 보시지만 다 대답을 못함. OS로 넘어감. 교수님3의 실망한 표정이 나를 압박함)
교수님4 : 뭐 요즘 족보가 카페 같은데에 많아서 다 예상하고 있겠지만 물어보지. 파이프라이닝이 뭔가?
나 : (컴구조 방에서 다룰 내용이였지만, 교수님 전공분야라 물어 보신 것 같았음)
파이프라이닝은 인스트럭션들을 하나 끝나고 다음 거 하나 이런 식으로 처리하는 것이 아니고
인스트럭션들을 concurrent하게 수행시켜 throughput을 극대화하는 것 입니다.
교수님4 : 무조건 그렇게 하면 문제가 없나?
나 : (hazard들을 설명함)
교수님4 : branch hazard를 분기예측 하는 법 한가지만 들어봐
나 : (여러가지 방법을 알고는 있었지만, 자신있게 깊게 이야기 할만큼은 못되어서 우물쭈물 함)
교수님4 : 그럼 예를 들어보자, 포인터가 있을 때의 분기예측에 대해서 설명해 봐
나 : (쥐쥐이지만 고민하는 척하다가) 아 죄송합니다만 책에서 보지 못한 것 같습니다 .....;;;
교수님4 : 아냐 책에 있어. 공부를 잘 안한거지. 그럼 캐시 설명해 봐. 어떻게 찾아?
나 : 태그로 찾습니다.
교수님4 : 캐시 방법들은 뭐뭐가 있어
나 : direct mapped, associative, set associative 등이 있습니다. (각각에 대하여 설명)
교수님4 : 캐시 미스에 대해서 설명해봐 3C가 각각 뭐야
나 : Cumpulsory, Capacity, Conflict 입니다. (각각 설명)
교수님4 : 음 그래도 좀 하네 그렇죠?
교수님3: (약간 온화해진 표정으로) 그러네.
교수님4 : 그럼 메모리 하이어라키에 대해서 설명해봐. TLB가 뭐야
나 : (공부했던 흐름을 한번 되새기며) 초기 연속적인 메모리 사용의 단점을 해결한 것이 paging 기법입니다.
그리고 메모리의 크기가 커지고, virtual memory를 사용 하면서 실질적인 물리적 메모리에서 운영될 때보다
다중 프로그래밍 정도가 증가해 페이지 테이블의 크기가 커져 초기 모델처럼 레지스터로 구성 없게 되었습니다.
이에 따라 페이지 테이블을 메모리 내에 저장해 놓고 쓸수 밖에 없게 되었는데, 이렇게 되면 메모리에 두번 엑세스 하게되는
경우가 발생합니다. TLB는 일종의 캐시로, 페이지 테이블의 라인들을 저장하여 페이지 테이블 때문에 일어날 수 있는
메모리 엑세스 수를 줄일 수 있게 합니다. hit율이 상당히 높기 때문에 매우 용이합니다.
교수님 3, 4 : (흡족해 하시지만, 첫번째 방정도는 아님) 음 잘했어 수고했어 나가봐
나 : 네! 논리회로 공부 열심히 해오겠습니다 !
교수님 3, 4 : (호쾌하게 웃으시며) ㅋㅋㅋㅋㅋ
나 : (아차하며, 붙은 것도 아닌데 왜 그런말을 했을까?;; 라고 생각함. 그래도 교수님들께서 반응을 좋게 해주셔서 다행이였음)
3. 오토마타 / 알고리즘
(들어가서 인사 후 파일을 드림)
교수님5 : 자기소개 해보세요
나 : 첫번째 방과 똑같이 함
(교수님 5,6 웃으심)
교수님5 : (오토마타에 나오는 언어들과 인식하는 도구, 동치 여부 등을 물으심)
나 : (오토마타에 자신이 없었으나 문제들이 간단해서 쉽게 대답)
교수님5 : 이제 긴장이 좀 풀렸죠 ?? ㅎㅎ
나 : (감동. 나 긴장 풀어주시려고 일부러 쉬운거 내준신 거였어 ㅠㅠ 흑흑)
교수님5 : 이제 생각해야하는 문제들이에요. C를 어떤 언어로 만들어야 하죠?
나 : (학교에서 정규언어로 만든 MINI C를 기억함) regular language로 해야할것 같습니다.
교수님5 : 그걸로 씨를 다 만들 수 있나요?
나 : (생각해보다가) 음... 아닌 것 같습니다. switch case 문 등은 context free language로 만들어야할 것 같습니다.
교수님5 : 음 그럼 튜링 머신이 뭐에요?
나 : (아차 함. 너무 대충 알아서... 아는 만큼 설명)
교수님5 : 그럼 오늘날의 컴퓨터와 무슨 공통점과 차이점이 있나요?
나 : 잘 모르겠습니다 ... ㅠ
교수님5 : 그럼 이제 알고리즘을 하지.
(돌려서 물으셨는데 어떻게 물으셨는지 기억이 안남. 하지만 그래프 탐색을 물어보시는 것 같았음)
나 : BFS와 DFS가 있습니다. (이후 각각 설명)
교수님5 : MST에 대해서 설명해 보세요
나 : (Prim, Kruskal 설명, 교수님들은 흡족해 하심.)
교수님6 : 그러면, 만약 가중치가 큰것부터 그래프를 구성해 나아가도 MST라고 할 수 있는가?
나 : 네 할 수 있습니다. MST의 기본 개념은 그래프의 모든 vertext를 거치는 트리이기 때문입니다.
교수님6 : (만족스러운 표정으로) 어느 그래프에서 한 점에서 한 점까지 최단 경로로 갈때 알고리즘은 무엇인가?
나 : 다익스트라 알고리즘 입니다.
교수님6 : 그럼 묻겠네. (이 질문에 맞는지 잘 기억은 안나지만...) 연결되어 있는 그래프 두개를 이어서 최단경로를 만들 수 있나?
나 : (잠시 생각해 본 후) 네 만들 수 있을 것 같습니다.
교수님6 : 그냥 연결만 하면 되나?
나 : 사이클이 존재하는지 확인해보고 있다면 제거해야 합니다.
(아무래도 질문이 이게 아니였던거 같음. 훨씬 더 고차원적인 것이였고 다행히 잘 대답하여 교수님께서 흡족해 하셨음)
교수님5 : 이번 것은 정말 머리를 써야할 거야. 칠판을 보게
(칠판을 보게라는 말이 젤 무서웠던 것 같음. 보았더니 그림이였음. 큰 원이 하나 있고 6시 방향에 조금 떨어져서 점이 하나 있었음)
교수님5 : 저 큰 원은 구라고 생각하고 점이 눈이라면 그래픽을 생각할 때 보여야 되는 부분을 어떻게 구할건가?
나 : (엄청 긴장했었지만 쉬운 문제에 안도하며.. 혼자말로) 아? 이건 기하알고리즘 인데...
눈에서 구의 접선까지 기울기를 구할 수 있는데 그 접선의 둘레까지가 눈에서 보이는 부분입니다.
(교수님5, 6은 매우 짱 흡족해 하심. 아마도 두 분다 그래픽과 기하 알고리즘이 전공분야셔서 그런 것 같았음)
교수님6 : 기하알고리즘인 것은 어떻게 알았나?
나 : 아 책에서 짐 꾸리기 알고리즘을 봤었는데 그것과 비슷한 것 같습니다.
교수님6 : (흥미있는 표정으로) 그래? 학교에서 배웠나?
나 : 학교에서는 Sorting, Tree, Graph 관련 알고리즘을 중심으로 해서 기하 알고리즘은 자세히 안 배웠지만
개인적으로 신기해보여서 조금 공부했습니다.
교수님6 : 무슨책으로 했어? 잘 없을텐데 기하 알고리즘 내용이?
나 : 저희 학교 교수님께서 쓰신 책으로 했습니다.
교수님6 : 그렇군 ㅎㅎ
교수님5,6 : 잘했어. 나가보게
나 : 넵! 감사합니다!
------------------------------------------------------------------------------------------------
이상으로 정신 없던 후기를 마칩니다.
빠진 내용도 좀 있는 것 같은데 몇달 지나서 쓰는 후기라 기억이 잘 나지 않네요 ㅠ
개인적으로 궁금하신 내용들은 댓글이나 쪽찌 통해서 물어주시면 성심껏 답해드리겠습니다 ^^
너무 스펙 걱정하시지 마시고 정말 중요한 것은 면접인 것 같습니다.
전공공부 미리미리 해놓으셔서 모두 맘편하게 전형 치루셨으면 좋겠습니다 ~