안녕하세요, 멘티님. 검색 개발 직무로 면접을 보시는군요.
멘티님은 임베디드와 관련된 학문을 전공하신 것 같네요. 학부에서 공부한 내용이 조금씩 다를 수 있겠지만, 면접 실무진도 지원자가 학부생이라는 점을 감안합니다. 그렇기 때문에 어느 정도 준비만 하시면 큰 어려움 없이 면접을 마치실 수 있을 거예요.
면접 전에 알고리즘은 꼭 익히고 가세요
말씀해주신 알고리즘, 추천, 그리고 자연어 처리 분야 중 먼저 알고리즘 분야부터 짚고 넘어가도록 해요. 알고리즘은 학부생이 가장 잘 알아야 하는 부분입니다. 알고리즘은 저학년 때 배우지만, 모든 개발 직군의 실무에서 필수로 요구되는 능력이라 매우 중요하거든요.
학교에서 배우신 내용을 자료구조와 함께 익혀두시는 것을 추천합니다. *해쉬, 트리, *힙 등 기초적인 자료구조의 개념을 익혀두시고, 정렬, 삽입 등 기본 알고리즘을 이해하고 면접장에 가시면 좋겠습니다.
사실 면접 준비에는 수많은 방법이 있지만 그걸 다 익히려면 시간도 많이 들고 비효율적입니다. 그렇기 때문에 주요한 몇 가지 방법만 보고 가시는 것을 추천해 드려요.
'콘텐츠 기반 추천'과 '협업 필터링'
면접 때 나올만한 것 두 개를 꼽자면 하나는 ‘콘텐츠 기반 추천’이고, 다른 하나는 ‘협업 필터링’ 입니다. 가장 널리 알려진 것이기도 하죠.
이 두 개는 초기에 나왔지만 현재까지도 쓰이는 강력한 방식이니 알아두고 가시면 좋겠어요.
마지막으로 ‘자연어 처리’ 분야는 학부생이 배우기 어렵습니다. 현재 딥러닝으로 몇 가지 놀라운 성과를 보이고 있지만, 오히려 제대로 성능을 내지 않는 부분이 훨씬 많은 것이 자연어 처리이기도 합니다.
이와 관련해, 정보검색 개론 정도를 준비하면 될 것 같은데요. 자연어 처리와 겹치는 부분이 적어서, 공부를 추천해 드려야 할지 조금 애매하네요. 무엇이라도 준비해 보고 싶으시면, ‘정보 검색 개요’를 공부하시면 좋을 것 같아요.
하지만 위 셋 중에서는 무엇보다 알고리즘이 가장 중요합니다. 알고리즘을 잘하는 면접자가 입사하면, 자연어처리를 모른다고 하더라도 해당 부서에서 함께 일하고 싶은 인력이 됩니다. 그만큼 강력한 기초이니 이 부분에 집중을 많이 하시길 바랍니다.
혹시 글을 읽다가 이해되지 않는 부분이나, 더 궁금한 점이 생기시면 또 글 남겨주세요. 성공적인 면접을 기원합니다!
*해쉬(Hash): 임의의 크기의 데이터를 받아서 고정된 크기의 데이터로 바꾸어주는 것.
*힙(Heap): 그래프의 트리 구조 중 하나.