티스토리 뷰

728x90

 

 

 

 

여태까지 봤던 면접 중에 가장 좋은 면접 경험이 아니었나 생각된다.

면접관이 이력서를 면접 들어와서 처음 읽는게 조금 걸리긴 했지만, 합불 상관없이 그냥 면접만으로도 굉장히 좋은 경험이었다.

면접 마지막에 회사에 대한 질문 뿐 아니라 개발자 커리어 관련해서도 질문해도 된다고 하셔서 질문도 하고 면접에 대한 전체적인 피드백도 해주셔서 정말 좋았다.

 

 

면접 질문

기술 질문

Q. 프론트엔드 프레임워크 뭐 써봤는지

  • 리액트

 

Q. 리액트만 써봤나?

  • 네, 사용해본 기술은 next.js도 있지만 주로 사용해본건 리액트

 

Q. vue.js는 사용안해봤나? 안해봤으면 왜 안해봤는지

  • 리액트가 메이저한 라이브러리라서 먼저 리액트를 공부하고 만들어봤다.
    (메이저한 라이브러리는 또 뭐임 ㅠㅠ 좀더 다르게 대답할 수도 있었는데 당황해서 이상하게 답했다..)

 

Q. 프론트엔드는 빠르게 바뀐다. 리액트 뿐만이 아니라 vue.js, svelte .. 지금 스타트업들은 svelte를 많이 쓴다. 프레임워크를 많이 써보고 그 차이점을 알고 있는 것이 좋다.

  • 뷰는 써보진 않았지만 리액트를 어느정도 잘 알고 있으면 비슷한 부분이 있어서 뷰라던지 다른 프레임워크를 배울 때 좀 수월하지 않을까 생각하고 있다.
    (요즘 스타트업에서 svelte 많이 쓰는 추세라는건 처음 들었다.. 현업 개발자 아니라면 모를 수밖에 없는 얘기ㅠ)

 

Q. 뷰, 리액트, 스벨트 각 프레임워크 별로 성향이 다르다. 앱, 모바일 기반 서비스 만드는 경우 뷰를 많이 쓴다.

 

Q. 타입스크립트 사용할 때 느낀점이 있나?

  • 타입 정의를 미리 정의해놓고 쓰는 거라서 에러를 사전에 좀 막을 수 있고, 자동완성 기능 이라던지 그런 특성이 있어서 개발 편의성이 좋다.

 

Q. 자바스크립트 그냥 쓰는것과 타입스크립트를 썼을 때 가장 큰 차이점이 무엇이라고 생각하나?

  • 자바스크립트가 유연한 언어이다 보니 타입 같은거에서 에러가 날 수 있지만 타입스크립트를 사용하면 그런 에러를 방지 할 수 있는것이 가장 큰 장점이라고 생각한다.
    (차이점을 물어봤는데 마무리를 왜 장점이라고 말한거야ㅠ 질문에 똑바로 대답할것…)

 

Q. Firebase는 어느정도 써봤는지? 왜 썼는지?

  • 백엔드 구축은 시간이 오래걸리는데 파이어베이스에서는 간편하게 백엔드를 붙일 수있도록 API를 제공해준다. 그래서 간편하게 백엔드 구축하고 공식문서 보고 필요한 기능만 찾아서 사용했다. 또 파이어베이스에는 소셜 로그인 기능이 있어서 간편하게 소셜로그인 기능도 구현할 수 있었다.

 

Q.  API 설계 해보았나?

  • 안해봤다.
    (백엔드 부분이라서 안해봤다고 답했을때 괜찮다고 함.)

 

Q. Open API 사용경험은?

  • 있다. 포트폴리오에는 쓰지 않았지만 현재 날씨 데이터를 가져오는 API를 사용해서 데스크탑 웹앱을 만든 경험이 있다. 
    (분명 포폴에 open API 사용해서 만든 다른 프로젝트가 있는데 왜 엉뚱한 날씨 웹앱을 얘기한건지… 이력서 숙지 안하고 가니 이런 문제가 발생…)

 

Q. REST API가 뭔지 아나?

  • 뭐 이상하게 대답함..
    (지난번에도 똑같은 질문 받아놓고 제대로 답변하지 못했다.. 면접 복기를 제대로 하지 않았고 이후에 관련 공부를 하지 않았기 때문에 이런 결과가…)

 

Q. REST API의 메소드 뭐가 있는지

  • get, put, post, delete 각각 간단 설명

 

Q. API에 정보를 넘겨줄 때 그 넘겨주는 부분을 정확히 뭐라고 부르는지 아나?

(URI 인거 같은데 답을 못함 ㅠㅠ)

 

Q. get을 하든 put을 하든 header에 데이터만 주면은 서버에서 똑같은 로직을 짜면 요청이 똑같을 텐데, get에 저장 요청하든 put으로 저장 요청하든 똑같은데 ..

(이게 무슨 말인지 이해를 못했다 ㅠㅠ.. 뭔가 더 꼬리질문이 있는데 내가 이해를 못하니까 안하신거 같다. REST API 공부 반드시 할것...)

 

Q. 프론트에서 웹페이지 예쁘게 만드는건 기본 소양이고, 정말 중요한 것은 서버 개발자와의 커뮤니케이션을 잘 해야 하고 그를 위해서는 API 콜의 원초적인 원리의 이해가 중요하다.

(내가 이해못하고 대답못하니까 이런 코멘트를 하신거 같다.. API 공부 꼭 할것...)

 

Q. 리액트에서 컴포넌트 라는 개념이 어떤식으로 작용하는지 구체적으로 설명해보라

  • 한 컴포넌트가 다른 컴포넌트와 결합되지 않고 독립성을 가지고 한 컴포넌트는 한 기능만 하도록 짜는것이 좋다고 생각하는데.. (어쩌구 우물쭈물 대답. )

 

Q. 컴포넌트 내에 또 하위 컴포넌트가 있는, 트리구조처럼 되어있는 경우 독립성이 강하면 oo한 문제가 생기는데 그러면 어떻게하는지

 ( 질문을 잘 이해못해서 대답 잘 못함.. 그런 컴포넌트 결합을 방지하기 위해서는 뭐 사전에 아키텍처 설계를 잘 해야된다느니 어쩌구 이상한 소리해댔다 ㅠ)

 

 

Q. next.js는 왜 써봤나?

(이번에도 또 지난번 면접때처럼 똑같이 현업에서 많이 도입하는 추세라고 현업개발자에게 들어서 한번 튜토리얼 식으로 배워봤다 어쩌구 대답했는데, 다음번에는 꼭 next.js의 장점을 공부하고 왜 떠오르고 있는지 이유를 꼭 리서치해서 숙지해놓은 다음에 이러이러한 이유로 next.js가 부상하고 있는데 실제로 그런지 궁금해서 직접 써봤다. 라는 식으로 답변을 해야겠다.)

 

Q. 자료구조인 스택과 큐의 차이점?

(자료구조 잘 몰라서 자바스크립트에서의 콜스택과 큐에 대해 설명함..)

 

Q. 서버에서는 정렬되지 않은 데이터를 넘겨주는데 어떻게 정렬할 것인지?

(잘 대답못했다.. 대표적으로 filter 함수로 정렬하는 방법이 있는데.. 무슨 자바스크립트 API로 처리하겠죠? 이런식으로 대답함 ㅠㅠ)

 

Q. 반응형 만들때 제일 까다로웠던 점이 무엇인가?

  • 직접 화면 줄여가면서 요소별로 다 일일이 미디어쿼리로 다 설정해줘야하는 점이 까다로웠다.

 

인성 질문

Q. 프론트엔드를 선택한 이유가 디자인하는 걸 좋아해서 선택한건지 개발을 좋아해서 선택한건지? 

(면접관에게 평가(?)를 받는 입장이라 무슨 질문을 받던 부담스러울 수밖에 없는데 이건 굉장히 좋은 질문이었다고 생각한다. 이 질문 하나로 면접관이 면접자에 대해서 꽤나 많은 것을 판단할 수 있다고 생각된다. 그리고 나도 다시한번 왜 개발자의 길을 택했는지 다시 한번 생각해보게 되었다.)

 

Q. 풀스택 해볼 생각 있는지

  • 궁극적으로는 풀스택을 지향하는 것이 좋다고 생각한다. 물론 프론트엔드 분야를 깊이 파는 것을 우선으로 할 것이지만 일을 하다보면 결국에는 백엔드도 이해를 하고 있어야 하기 때문에 궁극적으로는 풀스택 개발자를 지향하는 식으로 방향성을 잡는 것이 좋다고 생각한다.
    (면접관은 회사 내에 개발팀이 다 나눠져 있기 때문에 풀스택을 꼭 해야될 필요는 없다고 답변했다.)

 

Q. 학원에서 배운 것 말고 본인이 스스로 탐구하고 공부한 적 있는지?

  • 프로젝트 만들다가 코드를 좀더 간편하게 짜기 위해서 라이브러리 어떤거 있는지 찾아보고 내 프로젝트에 적합하다고 생각하는 라이브러리를 적용해본 적은 있다. 개발 편의성이나 어떻게 효율적으로 코드를 짤 수 있는지 등을 고려하는 편이다.
    (라이브러리 말고 다른 걸로 대답했다면 더 좋았을텐데 좀 아쉽다. 예전에 브라우저 렌더링 최적화 관련 이미지 크기 속성 선언에 관해 기술블로그에 글 썼던거 얘기할걸 그랬다ㅠ)

 

Q. 예를 들어 회사에서 리액트 안 쓰고 새로운 언어를 쓴다고 한다. 세시간 짜리 유튜브 보고 끝내는 사람이 있고 공식문서 보고 익히는 사람이 있다. 어떻게 공부할 건지?

 

Q. 대학 졸업 오래 걸렸는데, 열심히 노력해서 대학 졸업했지만 결국 (졸업한 전공과 상관없이) 지금 웹개발 하게 되었는데 어떻게 생각하는지?

  • 대학 오래 다니고 늦게 졸업한 것이 별로 부끄럽지 않다. 대학생활과 사회나와서 일하는 것은 별개로 생각한다. 대학 경험이 다 좋았다. 무엇을 경험하든 언젠간 다 도움된다는 생각을 갖고 있다.
    (별로 후회하는 스타일은 아니네요 라는 피드백을 받았다ㅎㅎ...)

 

Q. 도움이 없을 때 혼자 헤쳐나간 일이 있는지?

 

 

면접에 대한 피드백

1. 컴공 지식 부족

개발을 공부한 기간이 꽤나 되는데 이 기간동안 컴공 지식을 보충할 필요가 있었다.

컴공 지식이 있는 사람과 없는 사람은 문제를 마주했을때 해결하는 능력의 차이가 크다.

 

2. 프레임워크에 대한 차이점 모름

리액트 밖에 안 써본건 괜찮지만 적어도 다른 프레임워크들과의 차이점은 알고있어야 한다. 모른다면 그냥 학원에서 가르치니까 배웠구나 정도로밖에 이해할 수 없음. 프론트엔드에서 어떤 프레임워크가 어떻게 동작하고 어떤 특성을 가지고 있는지 알고 있을 필요가 있다.

 

3. 로직 설계 능력 향상 필요

API 콜해서 데이터를 가져왔을때 이 데이터를 어떻게 정렬할건지(주문서 작성 페이지를 예시로 들어주심. 결과물로 받은 정렬된 데이터를 가지고 주문서를 작성하는 경우 이 정렬된 데이터를 A 페이지에서 가져왔지만 다음 페이지에서도 또 인터랙션이 필요한 데 이 때 어떻게 할건지 등), 자료구조나 아키텍쳐를 어떻게 짜면 효율적인 건지 이런 깊은 고민이 부족하다.

 

 


 

 

진정성 있는 피드백 주셔서 정말 감사했다.

근데 채용 포지션의 구체적인 업무가 뭔지 물어봤을때는 내가 생각했던 프론트엔드 업무랑은 좀 달랐고, 일단 프론트엔드 사수 없고(개발 사수라면 면접관님 한명 뿐인데 그마저도 이분은 서버 개발자임) 이것저것 사업분야 확장 중이라서 어디에 배정될지 알수가 없는 그런 상황이어서 신입으로 입사하면 쉽지않겠다는 생각이 많이 들었다.

그래도 면접 자체로는 정말 좋은 경험이었다고 생각한다. 피드백 주신 부분은 차차 보완해나가야겠다.

 

 

 

728x90