처음 써보는 면접 후기

Jonas M·2021년 9월 15일
0

부끄럽고 자괴감이 많이 들었지만 부족했던 부분과 면접 자리에서 대답이 아쉬웠던 질문들을 기억해두기 위한 기록.

  1. 내가 AI/ML 엔지니어로서 가질 수 있는 강점?
    AI/ML 모델 기본기. 단지 도메인 specific한 공부만 한 게 아니라 모델의 학습 원리와 과정에 대해서도 공부를 했다.
    1) 주가데이터 예측, 식사메뉴 예측 등의 과제를 통해 seq. 데이터에 어울리는 RNN 기반의 모델들을 데이터셋에 맞게 구현해보았고,
    2) 얼굴 이미지를 embedding 하여 유사한 celeb의 얼굴을 유사도로 찾아내거나, 리뷰 텍스트를 1dim CNN으로 인코딩하는 등 CNN 계열의 모델들로 직접 구현해보았다.
    3) Transformers의 내부 구조에 대해 공부를 하고 attention의 의미를 이해하고 scoring 방법을 달리하여 구현할 수 있다.
    [Alpha]로 페이퍼를 이해하고 정리하여 공유했던 경험이 많아서, ML 기본 지식을 더해서 유사하게 구현해볼 수 있다.

  2. SW엔지니어로서 경험이 부족하다.
    나는 개발자로서 Ops 전반에 대한 경험이 부족하다.
    매일 코딩테스트 문제를 풀면서 자료구조나 알고리즘에 대해서는 자신이 있고, task가 주어졌을 때에 잘 구현이 안되는 부분들은 검색을 해가면서 풀어낼 수 있다. 이 부분은 독하게 마음 먹고 트레이닝을 해 와서 기본적인 코딩테스트는 무리가 없이 항상 통과를 할 수 있다.
    미약하지만 모델링과 성능 테스트에서 그치지 않고 사용을 위해 프로그램화한 경험이 있다. (미세먼지 예측 모델)
    다만, 추가로 프로그램을 완성하여 배포해보는 경험이나 하드코딩을 보여줄 수 있을 만한 경험이 있으면 좋을 것 같다..

  1. 데이터의 분포를 파악해서 성능 개선을 했던 경험은?
    1) 미세먼지 등급 예측 모델을 만들 때 custom metric으로 'bad recall'이라는 지표를 설정했고, 그렇다면 나쁨/매우나쁨 단계를 정확하게 예측하는 것이 중요해진다. 하지만 실제 한국에서의 미세먼지 농도 데이터를 보면 나쁨/매우나쁨 단계인 적이 많지 않다. data의 augmentation을 어떻게 해야하지? 언어나 이미지라면 self-supervised learning이 이뤄질 수 있도록 task를 제시하고 학습을 시킬 수 있는데.. 나 같은 경우는 RF를 구현할 때 데이터를 bootstrap하는 과정에서 class weight를 나쁨 단계에 높게 줘서 학습이 좀 더 이뤄질 수 있도록 시도해보았고 동일 weight를 줬을 때보다 accuracy가 약간 떨어졌지만 bad recall 스코어를 개선시킬 수 있었다.
  1. 한번에 메모리에 올라가지 않는 데이터를 특정 column(ex. id) 기준으로 정렬해야할 때 어떻게 할까?
  • Iterator 상태에서 ID를 기준으로 데이터를 자르고 각 segment를 메모리에 올려서 inplace 방식의 정렬을 사용한다. 그리고 마지막에 ID의 순서에 따라 데이터들을 merge할 수 있다.
  • 실제로는 어떻게 이뤄지고 있을지?
  1. B+Tree의 특징은? (B-Tree와 비교해야지)

  2. legacy한 코드를 고쳐야할 때? 어떻게 할까?

  3. 나는 몇년차의 대우를 받아야 하는가?

profile
Graduate School of DataScience, NLP researcher

0개의 댓글