[면접 후기 : 코그] 면접에서 받은 질문 + 느낀 점 + 나는 앞으로 어떤 방향으로 발전할 것인가에 대한 고민 + 그냥 내 자기소개서 정리
면접 보고 받은 질문과 느낀 점, 아쉬웠던 점 등을 정리해두면 나중에 다른 면접을 볼 때 좀 더 나를 솔직하게 잘 표현할 수 있지 않을까 생각이 들어서 정리해둔 글.
면접
질문
개발 관련
준비해간 포트폴리오와 자기소개서에서 언급했던 과거 개발 경험을 토대로 질문받음. 고등학생 때 서버 프로그래밍 동아리에서 스터디를 했던 경험이 있다고 적어뒀는데 관련 질문도 받았다.
if(actor == nullptr)
와check(actor)
의 차이점
잘 모르겠다고 대답했다. 나중에 찾아보니check()
는actor
가 유효하지 않으면 강제종료,if(==nullptr)
는 내가 원하는대로 처리하는 방식이다.GetAllActorsWithInterface
취약점
잘 모르겠다고 대답했다. 모르는게 왜 이렇게 많은지.... 찾아보니 속도가 매우 느려Tick
에서는 호출 금지라고 한다. 근데 내가 준비한 포폴에서는 tick에서 호출 안했는데...?? 뭐지..?? 다른 취약점이 있나??? 좀 더 찾아봐야 알 것 같다.TArray<?>
의 정렬 방식
퀵정렬이 제일 빠르니 퀵을 쓰지 않을까요..? 라고 대답했다. sort() 쓰면 알고리즘 신경 안쓰고도 빠르게 정렬해줘서 굳이 찾아볼 생각을 안했다. 굳이 다른 느린 방식의 정렬 알고리즘을 쓸 이유가 없기 때문이다. 나중에 찾아보니 퀵정렬을 사용하는게 맞았다. 또, 힙정렬 방식도 사용한다. 힙소트는 퀵소트와 시간복잡도가 동일한 O(n log n) 이며 퀵소트를 사용할 때 최악의 경우를 보완한 방법인데, UE5에서는 TArray의HeapSort
메소드를 사용할 수 있다. 개발할 때 두 경우 중 어느 방법이 더 빠른 방법인지 고민해서 사용을 해봐야겠다.- 포인터란 무엇인가?
포인터 질문 너무 오랜만에 받아서 많이 절었다. 그래도 자주 사용해봤어서 나름 정리되진 않았지만 대답은 잘 한 것 같다. 주소 저장하고, 사용 예시로 링크드리스트가 있고, 개발할 때 포인터 많이 쓴다고 대답했다. 인스턴스 따로 사용할 때 어쩌구 저쩌구 말을 더 했는데 기억은 잘 안난다. 나중에 또 질문 받으면 call by ref와 call by value도 말을 해야겠다.
다른 질문
- 본인이 생각하기에 일 잘하는 프로그래머의 특징 또는 조건 3가지
대답을 진짜 못했다. 끔찍하게 못했다. 너무 못했는지 면접관이 나에게 "받아 적지도 못할 정도로 무슨 말인지 잘 모르겠다"고 하더라. 딱 한마디로 정리해서 무엇이 핵심 능력인지 대답하길 바란 것 같은데, 내 생각을 언어로 잘 정리하지 못했다. 고민하는 시간을 가져보자. - 본인이 생각하기에 일 잘하는 인재의 특징 또는 조건 3가지
맨 처음엔 분위기 메이커라고 대답했다. 화기애애한 분위기가 항상 생산성이 좋은 것은 아니라는 면접관의 말에 나는 "화기애애한 분위기만을 만드는 사람이 인재라기 보다는, 엄한 분위기도 만들고 필요에 따라 분위기를 형성하는게 인재인 것 같다."라고 대답했다. 내 말을 들으시고서는 "그건 리더십이라는 표현이 더 맞겠네요." 라고 하시더라. 맞는 말 같았다. 인재의 조건을 조금 고민해보는 시간을 가져보자. 이 조건이 내가 앞으로 추구하고 갖추려는 목표가 될 것이다.
느낀 점
망했다
말도 두괄식으로 못하고, 개발 관련 질문도 속 시원하게 못하고, 순발력과 평소 깊은 고민을 요구하는 질문에서는 계속 절어서 면접관을 답답하게 만들었다. 신입으로 지원했기 때문에 "신입이라면 그럴 수 있지"라는 너른 이해를 받기를 기도할 뿐이다. 집에 돌아와서도, 일을 나가서도 계속 "난 물론 게임 개발은 아니지만 5년 넘는 개발 경력이 있는데 그 5년 동안 도대체 뭘 한거지? 내가 생각해도 난 너무 정체된 것 같은데?"라는 생각이 맴돌았다. 면접 끝나고도 착찹한게 느껴졌는지, 면접 종료 후 퇴실을 안내하러 들어오신 인사 담당자가 문 열자마자 면접 잘 못봤냐며 나에게 기분이 안좋아보인다고 말하더라.
그래도 계속 우울하게 있는 것보다 여기서 느낀점을 가지고 스스로 발전하는게 옳은 길이다. 훗날 나에게 코그에서 먼저 연락이 올 정도로 스스로 성장하려고 한다. 이번 면접에서 느꼈던 내게 부족했던 점과 보고 배울 점을 정리해서 앞으로의 방향을 정해보자
면접자가 준비한 것들 전부 꼼꼼하게 체크한다.
진짜 존경스러울 정도로 꼼꼼하게 체크한다. 개발자분은 내가 준비해간 포트폴리오 소스코드 분석을 다 하고서 면접을 들어오신 것 같다. 내가 링크로 달았던 git 레포 주소가 8개인데 그걸 다 보신 것 같다. 불합격이 되더라도 그 정성에 감사할 것 같다.
분위기 정말 좋아보이더라
면접관으로 들어온 개발자가 들어오자마자 같이 들어온 개발 팀장에게 나즈막히 "형 먼저 질문..." 이라고 하더라. 내가 잘못 들은게 아니라면 적어도 개발팀은 형동생 하는 좋은 분위기일 것 같았다. 또 안내를 도와주셨던 인사 담당자도 회사 오래 다녔다고 했고, 면접 들어온 면접관들과도 오빠동생하는 사이라서 내가 긴장한 모습을 보고 느낌이 색다르다고 했다. 중요한 점은 이런 관계에서는 만약에 어떤 일로 감정이 상하더라도 관계 회복과 업무 복귀가 빠르다는 것이다. 직원이 250명인가 350명인가 있다고 하는데, 누군지 모르겠지만 이런 규모에서도 회사 분위기를 정말 잘 만든 것 같다.
Todo
- 공백기 동안 뭘 했는지 고민
- 생각없이 쓰던 함수, 엔진, 라이브러리 등등 내부 구조 살펴보기
- 인재의 조건 고민
- 내가 생각한 인재가 되기 위해서는 어떻게 해야할지 고민
- 면접을 하면서 내 말솜씨가 상상 이상으로 좋지 못하다고 느꼈다. 어휘력이 좋지 못해 뭔가 명확하게 단어 하나로 설명하는 것도 힘들고, 순발력도 좋지 못해서 갑자기 들어온 질문에 답변을 시원하게 하지 못한 것 같다. 이런 능력을 키우려면 뭘 해야하나... 책을 좀 읽어볼까 생각중