회사에서 프론트엔드 웹 개발자를 채용하려는데

개발자가 나밖에 없다..

난 앱 개발자다보니 자세한 웹 상식도 잘 모르는 상태인데

SEO니 스토리지니.. 내가 무지한건진 몰라도 잘 모르겠다.

그래서 웹알못 기준으로 면접 질문 준비하는 과정에서 정리도 같이 해보기로 했다.

(feat. 경력이신데도 웹알못이 면접을 진행해드려서 정말 죄송합니다 면접자분들.. 그래도 최대한 잘 아는 척 했습니다..)

 

기술면접 질문(프론트엔드 용)

1. JS관련 다양한 프레임워크와 라이브러리가 존재합니다. 가령 Vue, Angular React 등이 있는데 React를 선택한 이유에 대해서 말씀해주세요.
- 리액트에 대한 이해도와 뷰, 앵귤러에 대한 기본 지식이 있는지 여부에 대해 알기 위한 질문입니다.

2. js 비동기 처리 방식에 async/await 예약어에 대한 설명을 해주세요.
- 비동기 처리방식에 대한 기본 지식을 알기 위한 질문입니다.

 

3. 브라우저 렌더링 원리에 대한 설명을 해주세요.
- 저도 이건 모르는데 하도 유명하길래 물어봤습니다 ㅎ..


4. 타입스크립트를 사용하셨던데 자바스크립트와의 차별점에 대해 설명해주세요.
- 회사에서 타입스크립트 사용 가능자를 요구해서 물어봤습니다.


5. 호이스팅에 대해 설명해주세요.
- js 변수 선언에 대한 지식 중 메모리 적재 시 동작 방식에 대해 알고 있는지 여부를 알기 위해 질문했습니다.
(저도 아는건데 설마 모를까 라는 생각에 질문한 것도 있습니다.)


6. TDD에 대해 설명해주시고 면접자분이 알고계시거나 사용해보신 TDD 도구에 대해 말씀해주세요.
- 사실 모릅니다. 앱은 알아도 TDD 방식이 웹에서도 어떻게 하는진 모르지만 TDD 도구를 사용했을 정도면 기본적인 소프트웨어 개발에 대한 이론 지식은 겸비해있다 생각해서 질문했습니다.


7. 면접자분이 알고계신 개발 시 주로 사용되는 소프트웨어 아키텍쳐 패턴에 대해 말씀해주시고 해당 패턴에 대해 설명해주세요.
- MVVM, MVC, MVP 등에 대한 데이터 통신을 다룰 때 사용되는 유명한 디자인 패턴을 알고 있는지, 알고 있다면 사용해보거나 얼만큼 알고 있는지 여부를 판가름하기 위해 질문하였습니다.


8. 클래스형 컴포넌트와 함수형 컴포넌트의 차이는 무엇인지 말씀해주세요.
- 모릅니다. 그냥 유명한 것 같아 넣어놨습니다..히히..


9. 브라우저 저장소들인 로컬스토리지, 세션스토리지, 쿠키에 대해 각각 설명해주세요.
- 회사에서 웹보다는 앱을 만드는 작업을 많이 합니다. 그러다보니 디바이스 내 저장된 후 웹이 종료되더라도 데이터가 보존되는 로컬 스토리지와 쿠키를 자주 사용했는데 해당 방식에 대한 차이점을 명확히 알고 있고 사용해본 적이 있어야지 최소 합격선에 부합한다 생각하여 질문했습니다.


10. 웹을 앱으로 패키징하는 방식에 대해 아는만큼 설명해주세요.
- 위에서 언급한대로 회사에서는 웹이 아닌 앱을 많이 개발해야됩니다. 그러다보니 앱 패키징에 대한 지식을 어느정도 갖고 있다면 입사 이후 개발에 대해 막히는 선이 없을 것이라 생각되어 질문했습니다.


11. SEO를 적용한 사례 혹은 아는 지식을 설명해주세요.
- 그 저도 저게 뭔지 자세히 모릅니다. 그냥 검색엔진 최적화 정도로 알고 있는데 제가 아는 최적화는 검색 시 최상단에 노출될 확률을 높이기 위해 작업하는 것으로 알고 있는데 회사 동료분은 저게 무슨 몸이 불편하신분들? 에 대한 뭐..그 사용하기 편하도록? 하는 그런거랍니다..근데 찾아보니 그건 웹 접근성 이야기같은데 뭐가 맞는진 모르겠습니다.

 

여기까지가 기술면접 공용 질문이었다.

봤던 면접이 전부 2년차 이상 웹개발자 경력이다보니 사실 공용 질문보다는 개인 맞춤형 질문이 주된 질문이었고
(맞춤형 질문 때문에 매번 회사에서 질문지 만드느라 개고생했다..)

그러다보니 공용 질문의 양이 많지는 않았다.

 

아래는 맞춤형 질문들 모음집이다.

 

기술면접 질문(맞춤형 질문용)

1. 기억에 남는 트러블 슈팅에 관련해 이야기해주세요.
- 모든 사람 다 물어봤습니다. 회사 내에서 문제가 발생할 시 어떻게 대처할 지에 대한 질문입니다.

2. 직접 상태관리 라이브러리를 제작하셨던데 제작하게 된 계기와 제작하신 라이브러리가 타 상태관리 라이브러리와 차별점 혹은 장점에 대해서 설명해주세요.
- 면접자분 중 한분이 직접 상태관리 라이브러리를 개발하신 경험이 있으셨습니다. 그래서 이에 대해 물어봤습니다.

 

3. 주 경험이 리액트 네이티브이시던데 리액트 네이티브 내에서 AOS 혹은 IOS의 네이티브 코드를 호출해보셨나요?
- 사실 웹 개발자면 물어보지 않아도 되는데 자기소개서가 너무 괘씸하게 적혀있어서 절대 안해봤을 질문을 드려봤습니다. 질문 이유는 @ReactMethod 라는 어노테이션 사용 여부 혹은 지식에 대한 질문이었습니다.

4. 코드 난독화 작업을 진행하셨던데 이에 대해 설명해주세요.

- ㅋㅋㅋㅋ 위와 같은 대답입니다. 불필요한 질문이지만 괘씸해서 물어봤습니다.

 

5. 스프링부트 경험이 있으시던데 ERD 설계, API 설계 혹은 백엔드 서비스 개발 등등이 있다면 백엔드 개발에서 어느 부분까지 가능하신가요?
- 풀스택 개발자분이셨습니다. 그래서 백엔드 개발이 어느정도 가능한 지 판가름하기 위해 질문드렸습니다.

6. 프로젝트에 사용하신 DB가 NoSQL 방식을 채택하셨던데 SQL 방식을 사용하시지 않고 해당 방식을 사용하신 이유가 무엇인가요?
- 면접자분 중 한분이 개인프로젝트에 Firebase가 아닌 다른 Key-value 방식의 db를 채택하셨습니다. 그 부분이 너무 흥미로워서 이야기를 듣고자 유도 질문을 드려봤습니다만 사용 이유에는 딱히 이유가 없다는 사실을 알게 되었습니다..

 

7. 프로젝트 기여도가 90%인 프로젝트도 있으시던데 어떤 이유로 그렇게 생각하신걸까요?
- ㅋㅋㅋㅋㅋㅋㅋㅋㅋ 예 많이 괘씸했습니다. 백엔드 개발자 1명 프론트 엔드 개발자 1명(면접자분 예상)인 프로젝트를 경력 기술서에 적어주셨는데 해당 프로젝트에 기여도가 90%이며 타 프로젝트에 (프론트엔드 기준) 이라는 말을 명시해두신 것을 보면 해당 프로젝트의 전체 중 90%를 말씀하신 것 같습니다. 이때 의문이 많이 들었습니다. 6개월도 안되는 시간의 프로젝트를 개발하시는데 90%이면 회사가 문제인걸까? 아니면 프로젝트가 문제였던걸까? 아니면 면접자분이 문제였던걸까? 이를 알기 위해 질문을 드리고자 했으나 런치셨습니다. 다행입니다. 아마 오셨으면 굉장히 호된 질문 많이 받으셨을겁니다.

8. 해당 프로젝트의 로그인 관리에 관해 Auth 테이블을 따로 관리하시는건가요 아니면 일회성 로그인 기능(SNS 로그인)만 사용하셨던건가요?
- 개인 프로젝트에 SNS로그인을 통해 Auth 기능이 따로 있는 Serverless 서비스를 사용하신것을 보았습니다. 근데 계정 관리 테이블에 대한 언급이 없어서 계정 관리는 따로 하시지 않는 것인지에 대한 궁금증에 질문드렸고 돌아온 답변은 세션 관리는 안하나 Account 테이블은 따로 존재하여 해당 부분에 계정 등록은 해주고 있다였습니다.

 

9. 클라우드 컴퓨팅에 대해서 사용해보시거나 아는만큼 설명해주세요.
- 회사에서 신규 사업 상품으로 ServerLess 서비스를 채택하였습니다. 그로 인해 추후 서비스 개발이 가능할 수 있도록  클라우드 컴퓨팅도 사용 가능한 인재를 선출해야되었고 당장 사용을 못하더라도 알고 있거나 가능성이 있거나 혹은 관심이 있는 정도여도 좋아서 물어본 질문이었습니다.

 

10. 백엔드, 앱등 다른 분야에 대한 경험해볼 의향이 있으신가요?
- 위와 같은 상황입니다.

 

면접자 세분은 런을 치셨지만

너무 좋은 선택이었다고 생각한다.

여긴 지옥이 맞으니까 ^v^..

+ Recent posts