개발ETC/면접 후기

백엔드 면접 과제

벨포트조던 2022. 7. 11.
반응형

문제

클라이언트는 비트코인의 2022년 1월 1일자의 블록 생성 난이도 (difficulty)를 예측하고 싶어합니다. 클라이언트는 시각화 된 자료와 함께 RAW 데이터를 구글 스프레드시트로 보는 것을 즐기기 때문에, (1) 현재의 비트코인 블록체인 정보를 먼저 구글 스프레드 시트에 옮기고, (2) 구글 스프레드 시트의 정보를 읽어 웹으로 정보 시각화를 해주어야 합니다. 해당 시각화를 통해, 1월 1일자의 블록 생성 난이도를 예측하는데 도움이 되어야 합니다.

인계받은 클라이언트의 소속 개발자는 git 저장소의 내용을 바탕으로 해당 예측 웹 애플리케이션을 구동시킬 예정입니다. 클라이언트는 자신이 보유한 새로운 구글 스프레드 시트에 서버 프로그램이 기록을 해주면 됩니다.

목적

  • 풀스택 (프론트엔드, 스타일, 백엔드) 개발 역량을 고루 평가합니다.
  • 평소 어떤 식으로 프로그래밍하는지 그 스타일을 봅니다.
  • 다른 프로그래머가 재활용 할 수 있게끔 자신의 코드를 구조화 할 수 있는지를 확인합니다.

요구 사항

  • Bitquery를 이용하여 비트코인 블록체인의 정보를 조회해야 합니다.
  • 구글 스프레드시트에 블록 정보는, 블록 단위로 실시간 업데이트가 되어야 합니다.
  • 시각화는 웹 기술을 기반으로 하며, 어느 브라우저를 사용할 지 모르니 복수개의 브라우저를 지원해야 합니다.
  • 정보 시각화 웹페이지는 구글 스프레드 시트로부터 정보를 취득해야 합니다.
  • 클라이언트는 심미성을 중요하게 여깁니다. 독특할 필요는 없지만 완성도 있는 뷰를 구현해야 합니다.

정보 시각화의 예시

평가 요소

  • 중복 제거를 얼마나 고민하는가
  • 문제의 부분 문제를 두고, 각 부분 문제의 우선 순위를 잘 설정할 수 있는가
  • 주어진 시간 안에 달성할 수 있는가
  • 다른 사람이 유지 보수할 수 있게 배려하는가 (문서화, 주석, 네이밍 등)
  • 기초적인 알고리즘, 자료 구조 개념
  • 문제를 추상화하기 위한 언어적 도구를 잘 활용하는가
  • 버전 관리 시스템을 적절하게 사용할 줄 아는가
  • 표준적인 코딩 관습을 잘 따르는가
  • 코드가 충분히 방어적으로 짜여져 있는가

제출 방법

지정된 Git 저장소에 작업 내용을 푸시합니다. 평가는 저장소 내용만으로 진행합니다. 평가자가 참고해야 할 사항이 있다면 저장소의 README 등을 이용합니다.

반응형

댓글