욱이야기/욱이 취업

[취준] 첫 기술 면접 후기 - 200113

wookiist 2020. 1. 14. 12:07

안녕하세요. 오랜만에 글 남기는 욱이입니다 😊

 

그간 연구실 생활로 바쁘게 지내느라 포스팅도 못하고, 댓글도 못 달았네요.. 8ㅅ8 (어쩐지 핑계인 것 같지만..(?))

어제 처음으로 기술 면접을 보고 왔습니다!

상당히 긴장되더라구요.. 떨리진 않았는데, 긴장이 돼서 준비해간 것에도 답변을 제대로 못하고,

힌트를 받았는데도 코딩하지 못하는 불참사가 발생했습니다....

1명만 뽑기 때문에 어쩐지 1차 면접에서 탈락할 것 같지만

많은 분이 이런 면접 후기들을 자신의 블로그에 소개하는 걸 보고, 혹시나 도움이 되실까 글을 남겨 봅니다.

 

 


 

우선 들어가게 되면, 물을 하나 줍니다.

물을 받고서는 호명될 때까지 기다리고 있으면 되는 구조였어요.

 

면접은 총 두 시간동안 이루어졌습니다. 전반부 면접에서 두 분의 면접관님을 만났고, 후반부 면접에서도 두 분의 면접관님을 만났습니다. 총 네 분의 면접관님과 소통하였네요. (모든 면접은 면접관님 2 : 저 1로 구성되어있었습니다.)

 


 

면접 전반부

 

-> 우선 자기 소개를 부탁하셨습니다. 짧게 1분 정도의 자기소개를 마친 후, 본격적으로 기술 면접에 돌입했습니다.

 

1. Memory의 전반적인 구조를 질문하셨습니다. 

-> Code / Data / BSS / Heap / Stack 정도로 구성된다고 말씀드렸고, 각각의 역할을 말씀드렸습니다.

 

2. Memory의 구조가 그러하다면, static 변수를 선언하면 어디에 위치하게 될지를 물어보셨습니다.

-> 여기서 큰 실수를 해버렸습니다. 분명 준비해간 내용이었는데,, 긴장해서 잘못 말씀을 드렸습니다. 명확하게 기억이 나지 않는다고 일단 말씀드리고 Stack으로 생각하고 있다고 말씀드렸습니다. (정답은 초기화 된 경우에는 Data 영역, 초기화 되지 않은 경우에는 BSS 영역에 위치한다고 말씀드리면 됩니다.)

 

3. Process 와 Thread의 차이점

-> 많이 나오는 유형이죠. 아시는대로 답하시면 됩니다.

 

4. Multi Processing과 Multi Threading의 차이점은 무엇이고, 왜 Multi Threading을 더 많이 사용하는지 질문하셨습니다.

-> Thread 끼리는 데이터를 공유할 수 있기 때문에, 데이터를 주고 받는데서 발생하는 오버헤드가 적다는 점을 위주로 말씀드린 것 같습니다.

 

5. Multi Threading에서 조심해야할 점이 있다면?

-> 자원의 사용 (+추가 질문 : 그 자원에 대해서 좀 더 구체적으로 말씀해주실 수 있을까요?) 을 조심해야 합니다. 서로 같은 자원을 동시에 접근할 수 있기 때문에 예상치 않은 문제가 발생할 수 있습니다.

 

6. 그럼 그 문제를 어떻게 해결할 수 있을까요?

-> 동기를 맞추는 방식으로 해결할 수 있습니다. Semaphore나 Mutex 등을 이용할 수 있습니다. (+추가 질문 : 그럼 그 방식으로 구현을 한 프로젝트가 있나요?)

 

7. Deadlock에 대해서 설명해주세요.

-> 이 부분에서도 실수를 했습니다. Deadlock을 유발하는 4가지의 필요충분조건이 있는데, 그 부분이 생각이 안나서, 어정쩡한 답변을 드리게 되었습니다 ㅠㅠ

 

이후에는 손 코딩을 하는 것이었습니다. 제가 파이썬을 주로 사용하였는데, 파이썬 말고 다른 언어로 해줄 수 있냐고 요청하셔서 C로 구현하였습니다.

 

+ 확률 문제가 하나 있었는데, 넌센스가 아님에도 불구하고 도저히 못 푼 문제가 있습니다. 아쉬웠어요 ㅠ

 

+ 배열의 정렬과 관련된 문제가 있었습니다. 풀기는 했는데, "다른 방식으로도 풀 수 있지 않을까요?"라고 여쭤보신 것에는 답변하지 못해서 아쉽습니다 ㅠㅠ

 

이후 시간이 다 되어 전반부 면접이 마무리 되었습니다. 좋은 분위기를 만들어주시려고 면접관님 두 분께서 노력해주셔서 아쉽지만 기분 좋은 면접을 할 수 있었습니다.

 


면접 후반부에 들어가기 전에 한 10분 정도의 여유 시간이 있었습니다. 그 동안 화장실을 다녀오실 분은 다녀오셨고, 제 경우 핫팩으로 손을 따땃하게 해주었어요.

 

면접 후반부

 

-> 후반부에서는 면접관님 두 분께서 먼저 자기소개를 해주셨습니다. 그리고 제 자기소개를 부탁하셨습니다.

 

1. 관심이 있는 기술 분야가 무엇인지 질문하셨습니다.

-> "인프라에 관심이 있어서 이러 이러한 걸 했습니다." 라고 소개드리니, 인프라에도 종류가 많은데 좀더 구체적으로 요청하셔서, "스토리지, 컴퓨팅, 네트워킹 등이 있는데 이 중에서 네트워킹을 주로 하고 있습니다." 라고 답변 드렸습니다.

 

2. 프로젝트에 관해 질문하셨습니다. 제일 많이 관여했다고 생각하는 개발 프로젝트를 설명해달라고 하셨습니다.

-> 설명을 드리다가, 제가 구현한 코드인데도 갑자기 기억이 안나기 시작하다니 머리가 하얘졌습니다...하하하하핳 어쩔 수 없이 설명 드릴 수 있는 부분까지만 설명 드리고, 나머지는 기회가 있다면 다음에 꼭 말씀드리겠다고 했습니다. ㅎ...

주로 Threading과 Sync에 관한 쪽에 관심이 많아 보이셨습니다.

 

+ 후반부 코딩 문제도 배열에서 특정 조건을 만족하는 요소를 찾아내는 문제였는데,, 많은 힌트를 주셨지만, 처음에 문제를 잘못 이해한 탓에 구현을 제대로 하지 못했습니다 8ㅅ8.... 너무 아쉬워요..

 

면접 분위기는 좋았습니다.

물론 오해하시면 안 되는게, 면접하면서 분위기가 좋다는게 막 이야기가 엄청 오가고, 훈훈하고 그런 것을 의미하는 것은 아닙니다.

적어도 긴장감을 주시거나 의도적으로 나쁘게 접근하시지 않았다는 의미에요.

정말 제 프로젝트에 대해 궁금하셔서 질문을 계속하신다는 것이 제게도 느껴져서 좋았습니다.

 


 

여러모로 아쉬웠던 첫 기술 면접이었습니다🥺

생각보다 떨지는 않아서 "오 다행이다."라고 생각했는데,,

떠는게 문제가 아니라 제 지식과 긴장하는 부분이 문제더라구요 ㅎㅎ

다음에 면접 기회가 다시 주어진다면, 꼭 이 부분을 잘 커버하고 가야할 것 같습니다.

그리고 "기술 면접" 이라고 적혀 있다면, 꼭 기술적인 부분을 잘 준비해 가시길 바라요.

일반 면접에서 나올법한 질문은 "자기소개" 정도였습니다.

마지막으로 자신이 했던 프로젝트에 대해 명확하게 준비해서 가세요. 어떤 목적, 어떤 문제, 어떤 로직, 어떤 성과 이런 정도의 질문에는 제대로 답변하실 수 있어야 할 거에요.

 

음.. 회사명은 따로 밝히지 않겠지만, 부디 이 후기가 도움이 되었으면 좋겠습니다. ☺️

그리고 저도 곧 취뽀할 수 있었으면 좋겠네요🙏

반응형