면접실전내용: 일본 IT 프리랜서, SI기업 프로젝트 면접 스크립트

안녕하세요 이번에는 프리랜서 면접이나 SI기업 프로젝트 면접이 어떻게 진행되는지 알려드리겠습니다.
면접 예시 대본을 보여 드리려고 하는데 대본에 앞서 상담의 흐름은 보통 3가지로 됩니다.

상담의 흐름

  1. 회사소개 및 프로젝트 설명
  2. 경력을 포함한 자기 소개
  3. 질의응답

면접 예시 스크립트 (비대면 면접)


상황 : 면접관, 면접관B, 면접관C, 에이전트, 면접자 ( 3:1면접 )

 

에이전트: 잘 들리십니까?? 오늘 면담을 담당하게 된 ~입니다. 

 

면접관: 잘 부탁드립니다.

 

면접관B: 잘 부탁드립니다.

 

면접자C: 잘 부탁드립니다.

 

면접자: 잘 부탁드립니다.

 

면접관: 그럼, 바로 프로젝트에 대해 말씀드리겠습니다. 2010년부터 제조업 설계자를 위한 패키지 소프트웨어를 개발하고 있습니다.

스케줄 차트 그래프처럼 작업 진행 상황을 관리하는 기능이나 산출물을 관리하는 기능을 포함한 패키지 소프트웨어입니다.

 

오피스365처럼 워드, 엑셀 등 여러 소프트웨어가 조합된 이미지로 생각하시면 됩니다.

계속 개발 중인 것은 클라이언트 타워형 데스크탑 애플리케이션입니다.

 

비주얼 스튜디오 2017을 사용하고 있으며, 언어는 C#입니다. 닷넷을 사용하며 서드파티 컴포넌트로는 Infragistics와 Xceed를 사용하고 있습니다. 데이터베이스는 SQL Server입니다.

 

면접자: 네.

 

면접관: 클라우드 서버 기반의 데스크탑 애플리케이션 버전도 개발 중이며, 2022년부터 웹 버전 개발을 시작했습니다.

 

기능적으로는 데스크탑 애플리케이션에서 구현된 것들을 웹에서도 브라우저 상에서 사용할 수 있도록 하는 개발입니다.

 

이 웹 버전 개발에는 비주얼 스튜디오 코드를 사용하고 있으며, 언어는 TypeScript입니다

 

React, Node.js, D3.js를 사용하고 있으며, 스케줄 차트나 그래픽 인터페이스를 자주 만들기 때문에 이를 구현하기 위해 Canvas API를 준비하고 있습니다.

그 밖의 기초적인 컴포넌트로는 Material UI 및 Infragistics UI 등이 있습니다.

웹에서도 스프레드시트 형식의 화면을 구현하기 위해 'Hands-on pave'라는 도구를 사용하고 있습니다.

 

면접자: 네.

 

면접관: 프로젝트에서는 코드 리뷰를 철저히 진행해 왔습니다.

 

팀 멤버 2~3명의 코드 리뷰를 받고 PR을 머지하는 형식입니다.

또한 유닛 테스트 코드를 철저히 작성하고 있으며, 프로젝트를 구현하기 위해 다른 현장과 동등하거나 그 이상으로 유닛 테스트 코드를 작성하거나 수정하기도 합니다.

커버리지가 가능한 한 높게 유지하려고 노력합니다.

 

소스 코드 관리는 비트버킷을 사용하고 있으며, 워드나 Excel로 작성된 설계서에 대해서는 SharePoint를 사용하고 있습니다.

 

웹 기반 화면의 LCD에 대해서는 맵 다운 형식으로 설명하고 분해하고있고, 프로젝트 관리에는 레드마인을 사용하고 있습니다.

 

저희가 개발 중인 배터리 소프트웨어 자체에는 프로젝트 관리 기능이 포함되어 있어서, 그 기능을 활용하여 각 팀 멤버를 관리하고 있습니다.

 

그리고 팀즈와 슬랙을 커뮤니케이션 도구로 사용하고 있습니다.

원래는 고객사에 상주하고 있었지만, 코로나가 시작되면서 완전히 원격 근무로 전환되었습니다.

보통 집에서 개발용 데스크탑 PC에 원격으로 접속하여 개발을 진행하고 있습니다.

출근을 요구받는 일은 거의 없다고 생각합니다. 고객사에 가본 적이 없는 멤버들도 많습니다.

 

저희 회사의 멤버는 현재 14명이 있습니다. 회사 직원은 8명이고, 파트너는 6명입니다. 근무 시간은 기본적으로 9:30에서 18:00 사이입니다. 고객사의 페이지상 17:30까지로 적혀있지만, 대부분의 멤버는 18:00까지 일을 하고 있습니다, 정시 퇴근은 17:30이기에 17:30분까지 하시더라도 괜찮습니다.

 

이상으로 간단한 설명이었지만, 질문이 있으시면 언제든지 부탁드립니다.

 

면접자: 감사합니다. 지금은 괜찮습니다.

 

면접관: 언제든지 생각나시면 말씀해주세요

 

면접자:  네 알겠습니다.

 

면접관: 그럼 A씨의 경력에 대해 말씀해주세요

 

면접자: 스킬시트는 공유되어있나요?

 

면접관: 공유부탁드립니다.

 

면접자: 네 알겠습니다.

다시 한번, 인사드립니다 A라고합니다. 잘 부탁드립니다.

일본에서 주로 풀스택 엔지니어로 일하고 있습니다. 안건은 길어지기 때문에 가장 최신의 안건부터 몇가지만을 소개할게요.

 

2023년 11월부터 현재까지 캐시리스 결제 관리 대시보드를 개발하고 있습니다.

 

이 프로젝트에서는 주로 SpringBoot와 React를 사용하여 결제관리화면, 기능을 개발하고, 유지보수 및 테스트를 진행하고 있습니다.

사용된 기술로는 JAVA, SpringBoot, TypeScript, React가 있으며 유닛 테스트 코드 커버리지는 100%이며, 워터폴 방식의 개발 접근을 취하고 있습니다.

코드 리뷰도 철저히 진행되었고 프로젝트는 Angular에서 React로 리뉴얼 작업이 진행되고 있었습니다.

 

다음 안건은 2023년 6월부터 2023년 10월까지 재고 관리 개발을 진행하였습니다.

기능 개발, 유지 보수, 테스트를 마친 후 재판매 재고 관리 기능의 추가 개발 및 유지 보수를 하고 있었습니다.

사용한 기술로는 Go, TypeScript, Gin, React 등을 사용하였습니다. 애자일 개발 방식을 채택하였으며, 코드 리뷰도 진행하였습니다.

 

다음 안건은 2022년 11월부터 2023년 5월까지 인사 관리 개발을 진행하였습니다. SpringBoot, React로 기능 개발, 유지 보수, 테스트를 통해 직원 정보를 관련 된 일을 주로 하였습니다.

B2B SaaS의 프로젝트에 애자일 개발을 진행하였으며 횡단 코드 리뷰 팀이 있어서 코드 리뷰를 하거나 받는 경험이 있었습니다. 이상입니다

 

면접관: 감사합니다.

 

에이전트: 감사합니다. A씨에게 질문이 있으면 잘 부탁드리겠습니다.

면접관: 코드리뷰는 깃허브상의 pr에서의 리뷰인가요?

 

면접자: 네 그렇습니다.

깃허브와 깃랩을 사용해왔습니다.

 

면접관: 지금까지 경험하신 화면 개발은 어떤 화면들인가요?

 

면접자: 캐시리스와 재고 관리 쪽은 입력과 다양한 모달 창이 많았고 테이블을 표시하거나 필터링하는 경우가 많았습니다. 그리고 인사 관리 쪽에서는 직원 정보를 볼 수 있는 화면을 차트로 볼 수 있도록 개발했습니다.

 

면접관: 직원 정보를 담당자와 표시한다고 하셨는데, 지금 조금 더 설명해주실 수 있나요? 직원 한 명이 작업 표시줄처럼 표시되는 건가요?

 

면접자: 예를들어 성별, 사람 수, 회사에 몇 명이 있는지를 차트에서 볼 수 있고, 정직원이 몇 명인지도 차트로 볼 수 있습니다.

 

면접관: 차트 표시라는 것은 어떤 라이브러리나 컴포넌트를 사용했나요? 아니면 속도를 높이기 위해 특별한 방법을 사용했나요?

 

면접자: 차트.js나 하이차트(Highcharts)를 사용했던 것 같습니다.

 

면접관: 간트 차트는 작업의 일정을 계획하고 배치하는 데 사용되는데, 예를 들어 MS 프로젝트 같은 도구에서 사용한 적이 있나요?

 

면접자: MS 프로젝트는 아직 사용해 본 적이 없습니다.

 

면접관: 저희는 일정이 며칠부터 며칠까지인지를 나타내는 화면을 만들고 있습니다.

대체로 그런 화면에서는 마우스로 드래그 앤 드롭을 많이 하는데, 그런 개발 경험이 있습니까?

 

면접자: 네. 있습니다. 차트 쪽에서 드래그한 후 그룹화하고 컨텍스트 메뉴를 표시하여 클릭하는, 예를 들어 오른쪽 클릭 같은, 그리고 사원들의 정보 및 그룹을 수정하는 것을 개발한 경험이 있습니다.

 

면접관: 지금까지 경험한 언어 중에서 가장 자신 있는 언어는 타입스크립트입니까?

 

면접자: 네 타입스크립트와 자바, 루비 라고 생각합니다.

 

면접관: 저희 팀의 많은 멤버가 원래 C# 데스크톱 버전 개발을 했던 사람들이라서 C#에 익숙한 편입니다.

하지만 React의 특성상 개발에 차이가 있고 배워야 하는 부분이 있습니다.

혹시 다른 사람에게 가르칠 수 있을 정도의 스킬을 가지고 계신가요?

 

면접자: 지금까지 프론트엔드 React로 개발을 해왔기 때문에 문제없다고 생각합니다.

 

면접관: B씨(면접관)은 어떻게 생각하시나요?

 

면접관B: 캐시레스 결제 관리 화면 개발 중에 '커버리지 100%'가 있는데, 이건 유닛 테스트 코드의 이야기 인가요?

 

면접자: 네, 기본적으로 제스트와 리액트 테스팅 라이브러리 그리고 msw를 사용해서 작업하였습니다.

 

면접관B: 그래요, 같은 방법이네요.

 

면접관: 이 테스트는 로직 부분 뿐만 아니라 UI 즉, 화면 표시 테스트도 포함해서 작성하셨나요?

 

면접자: 네, 화면이 제대로 표시되는지 확인하고 클릭한 곳의 동작도 모두 테스트하였습니다.

 

면접관: C씨(면접관)은 어떻게 생각하시나요?

 

면접관C: 제가 잘 모르는 영역이라 질문드리기 조심스럽습니다만, 프론트엔드에서 화면을 만드셨다고 생각되는데, 실제로 어떻게 업데이트되는 시스템인가요?

 

면접자: API 서버를 통해 데이터를 포스트하면 API가 자동으로 실행하는 시스템입니다. 

 

면접관C: API는 다른 사람이 만든 것인가요?

 

면접자: 그렇습니다. 지금까지 백엔드 경험은 약 5년 정도이고, 프론트엔드와 백엔드 코드가 분리된 프로젝트에도 참여했기 때문에 프로젝트에 따라서 백엔드 프론트엔드의 공백이 있었지만 잘 할 자신이 있습니다.

 

면접자: 감사합니다.

 

면접관: 첫 번째 안건에 JAVA라고 써 있는데, 이 프로젝트에서 JAVA도 사용되었나요?

 

면접자: JAVA는 그렇게 많이 사용하지 않았습니다. 코드를 보고 읽는 수준입니다.

 

면접관: 일단 JAVA를 읽을 수 있나요?

 

면접자: 네, 프레임워크에 따라 다를 수 있지만 기본적인 JAVA 문법은 알고 있습니다.

 

면접관: 현재 앱바(Appbar)는 C#으로 만들어져 있는 경우가 있습니다만, 그것을 리액트로, 완벽하게 같진 않지만 비슷한 형태로 만들고 있습니다.

작은 구조를 좀 살펴보고 읽을 수 있는지 확인하고 싶습니다.

 

면접자: 어떤 프레임워크를 사용하고 계신가요?

 

면접관: 이것은 닷넷 프레임워크를 사용하고 있습니다.

 

면접자: 닷넷은 상당히 유명해서 문제없이 읽을 수 있을 것 같습니다. 정보도 많고요.

 

면접관: 코드 리뷰에 대해서는 어떠신가요? 다른 사람의 코드를 리뷰한 경험이 있나요?

 

면접자: 네 있습니다. 받은 적도 한 적도 있습니다.

 

면접관: 해 주셨으면 합니다. 그리고 두번째 안건 설계에 관한겁니다만 어떠한 설계를 하셨었나요?

 

면접자: 프론트엔드는 디자인 시스템이 있어서 그 디자인 시스템을 보고 아토믹 디자인을 기반으로 개발했습니다.

 

면접관: 구체적으로 성과물이 어떤 형태로 설계되어 나오는지 알고 싶었는데요,

예를 들어 우리 회사에서는 주로 Excel이나 Word로 만들고 있고, 다른 도구도 많이 사용하지만,

그곳에서 인터페이스나 화면 디자인을 배포하고 있습니다.

 

면접자: 저는 주로 Excel을 사용했고, 두 번째 안건에선 꽤 백엔드 부분이 많았습니다.

백엔드에서 받은 문서에는 설계서도 있었고, 백엔드 API 정의도 포함되어 있었습니다.

 

면접관: API 정의는 다른 분이 하셨나요?

 

면접자: 네, 백엔드 담당자가 했고, 잘못된 부분이 있으면 제가 알려주고 보고하는 방식이었습니다.

 

면접관: 그렇군요, 감사합니다. B씨(면접관)는 어떠신가요?

 

면접관B: 괜찮습니다. 감사합니다.

 

면접관: C#으로 작성된 API와 데스크톱 버전 개발도 병행하고 있어서 경우에 따라서는 React와 TypeScript뿐만 아니라 C# 작업도 부탁드릴 수 있을 것 같은데, 그렇게 된다면 대응 가능하신가요?

 

면접자: 네, 아직 현장에서 사용해본 적은 없지만, 열심히 하면 해낼 수 있을 것 같습니다.

 

면접관: TypeScript로 코드를 작성할 때 객체 지향적인 방법을 알고 계신가요?

 

면접자: 객체 지향인가요?

 

면접관: 네. 객체 지향으로 TypeScript에서 클래스와 인터페이스를 많이 사용해서 작성하는지, 아니면 함수형으로 작성하는지 어떤 방법을 더 많이 사용하시나요?

 

면접자: 그렇네요, 함수형으로 작성하는 경우가 더 많고, 인터페이스 정의를 사용해서 API를 작성하는 경우도 많았습니다.

 

면접관: 클래스를 정의할 때 상속 같은 개념이나 지식을 알고 계신가요?

 

면접자: 네, Java를 실무에서 한 적이 있어서 크게 문제는 없을 것 같습니다.

기본적인 문법과 실제 사용 경험도 있습니다.

 

면접관: 감사합니다. C씨(면접관)도 괜찮을까요?

 

면접관C: 괜찮습니다.

 

면접관: 네 그럼 질문은 여기서 마치겠습니다. 다시 A상에게서 질문이 있다면 받도록 하겠습니다.

 

면접자: 웹 버전의 페이지 수가 궁금합니다.

 

면접관: 데스크톱 버전의 기본은 이식하는 형태로, 데스크톱 버전에서 구현된 기능을 만들고 있습니다.

화면 도구로는 세 개의 주요 화면이 있고, 그 외에 다이얼로그나 팝업이 일곱여덟 개 정도 있으며, 단순한 입력란이 많은 화면이 아닌 다양한 기능을 가진 화면이 많습니다.

그런 기능들을 하나씩 개발하는 경우가 많습니다.

 

면접자: 감사합니다. 또, 사용하게 될 컴퓨터는 클라이언트사의 컴퓨터인가요, 아니면 제 개인 컴퓨터인가요?

 

면접관: 특별히 제한은 없으니, 지급된 컴퓨터를 사용해도 좋고, 김 씨의 개인 컴퓨터를 사용해도 괜찮습니다.

 

면접자: 감사합니다.

 

면접관: 네, 괜찮으신가요?

 

면접자: 네, 이상입니다. 감사합니다.

 

면접관: 감사합니다.

 

면접자: 감사합니다.

 

 

마무리

 

이렇게 면담 스크립트를 적어 봤습니다.
여러분도 화이팅입니다.

 

더 궁금한점이나 상담이 있으시면 댓글이나 오픈톡으로 연락주세요 감사합니다!