sample
심층서술형 과제 샘플 문항
본 자료는 역량진단 대상인원에게 제공하는 자료로 역량진단 대상자 및 관련 인원 외 외부 열람/유출을 금합니다.1 / 4
과제 제시
[고객 상황]
K Software는 전 세계 판매를 목적으로 Cloud 환경에 게임 판매 사이트를 구축하려 한다. 사용자 성향 및 SNS 분석을 통해 게임을
추천하고, 이를 통해 구매를 유도할 계획이다. 사용자는 사이트를 통해 게임을 다운로드하여 구입, 관리할 수 있으며, 채팅, 방송 및 다양한
커뮤니티 기능을 통해서 다른 사용자와 소통할 수 있다. 사이트의 다양한 기능은 POC 진행 후 고객 Feedback에 따라 확대를 진행하는
방식으로 사업 영역을 넓혀가려고 한다.
[업무 요건]
• 전 세계 대상 게임 판매를 목적으로 시스템을 구축하려 한다.
• 사용자 증감에 따라서 시스템 확장이 유연해야 한다.
• 업무 특성에 맞는 최적의 개발 언어와 DB를 선택하여 구축한다. (커뮤니티나 채팅은 빠른 응답, 결제와 분석은 안정성)
• 자연재해나 시스템의 물리적인 결함 상황에서도 시스템은 운영이 되어야 한다.
• 프로모션은 수시로 진행되며, 운영 중에도 적용이 쉽게 되면서, 다른 서비스에 영향이 없어야 한다.
• 프로모션이 진행되면 사용자 수가 평소보다 급격히 증가할 것으로 예상된다.
• 가입과 인증을 쉽게 하기 위해 각 국가의 소셜 로그인 기능을 지속적으로 추가하여, 사용자 가입을 유도한다.
• 사용자가 게임을 직접 검색할 수도 있고, 시스템이 사용자의 개인 성향에 따라서 맞춤형 게임을 추천할 수 있어야 한다.
• 추천은 게임의 평점, 최근 플레이한 게임, 커뮤니티 및 각종 SNS 사이트의 내용 등을 고려한다.
• 다양한 결제 방법을 선택할 수 있고, 각 국가의 대표적인 결제 수단이 반영되어야 한다.
• 사용자는 다양한 SNS를 통하여 본인의 게임 내용을 쉽게 공유할 수 있어야 한다.
• 특정 지역에서는 계약 및 법률 규정에 따라서 판매 및 이용이 불가능하도록 해야 한다.
• 모든 구매를 포함한 사용자의 활동 정보는 분석을 위하여 사용되고, 다시 사용자에게 feedback되어야 한다.
[Software Engineer]2 / 4
과제 제시
[업무 시나리오 1]
- 신규 출시 게임 예약
① 신규 게임 출시가 확정되면 담당자는 게임을 등록한다.
② 신규 게임이 출시되면 해당 게임 유형 선호도가 높은 사용자에게 추천 시스템을 통해 이메일을 자동 발송한다.
③ 사용자는 메일 예약 링크 또는 사이트 검색을 통해 예약 주문을 진행한다.
④ 신규 게임의 서비스 대상 국가와 사용자의 거주 국가가 일치하지 않는 경우에는 예약을 할 수 없다.
⑤ 사용자는 결제 방식을 선택하고 결제를 진행한다.
⑥ 결제 금액은 담당자가 등록한 할인 금액이 적용된다.
⑦ 결제는 해당 국가에서 지원하는 신용카드와 간편 결제 서비스를 통해서 이루어진다.
⑧ 결제 시 포인트를 사용할 수 있고, 사용한 포인트를 제외한 금액이 신용카드나 간편 결제 서비스에 청구된다.
⑨ 결제를 완료하면 예약이 완료된다.
⑩ 결제가 완료되면 사용자에게 포인트가 적립되고 메일이 발송된다.
⑪ 구매 목록에 신규 게임이 나타나고, "환불 요청" 버튼이 활성화된다.
⑫"환불 요청“ 버튼을 누르면 예약과 결제가 동시에 취소된다.
⑬ 취소가 되면 사용자의 구매 목록에서 사라진다.
⑭ 환불을 진행하면 적립된 포인트도 차감이 된다.
⑮ 출시일이 되면 사용자는 다운로드가 가능해진다.
⑯ 출시일이 되면 예약 할인이 종료되고 정상가로 구매가 가능하다.
[Software Engineer]3 / 4
과제 제시
[업무 시나리오 2]
- 선물하기
① 사용자는 선물하기를 통하여 게임을 다른 사용자에게 선물할 수 있다.
② 기존에 구매한 제품은 선물이 불가하다.
③ 게임 상점 페이지에서 "선물로 구매"를 선택한다.
④ 선물은 친구 목록에 추가된 사용자에게만 가능하다. 친구 목록은 사전에 상대방의 승인을 통해서 등록한다.
⑤ 선물할 게임을 가지고 있는 친구는 친구 목록에 나타나지 않는다.
⑥ 선물할 친구가 포함되어 있지 않다면, 친구 추가 메뉴에서 추가한다. 시스템은 추가된 친구에게 메일을 발송한다.
⑦ 선물하기는 바로 보내기 또는 예약을 통하여 특정 날짜에 자동 전달이 될 수 있다. 이때 메시지를 작성할 수 있다.
⑧ 결제는 사용자의 국가에서 지원하는 결제 방식(신용카드/간편 결제 시스템)을 선택하여 결제한다.
⑨ 결제는 외부 업체를 통해서 처리한다.
⑩ 결제가 완료되면 친구에게 알림과 이메일이 발송된다.
⑪ 선물을 받은 사람이 “선물 수락”을 하면 게임을 다운로드 받게 된다.
⑫ 선물을 받은 사람이 “선물 거절”을 하면 보낸 사람에게 바로 환불 처리가 된다.
⑬ 친구가 30일 동안 수락하지 않으면 자동 환불 처리가 된다.
⑭ 선물한 내용은 리포팅 시스템에서 조회가 가능하다.
[Software Engineer]4 / 4
과제 제시
문제1. 업무 시나리오 1에서 예약 결제(⑤~⑪)와 환불 처리(⑫~⑭)에 대해, 아래 요건을 고려하여 필요한 API 기능을 정의하고,
실패 시 필요한 보상 트랜잭션에 대해서 정리하시오. (30점)
- 예약 결제와 환불 처리에 대해서 각각 작성
- 서비스는 1번 문제에서 도출한 서비스를 기반으로 작성(필요 시 추가 가능)
- 보상 트랜잭션의 호출이 최대한 적게 발생할 수 있도록 호출 순서 정의
- 트랜잭션 종류에 보상 가능 / 피봇 / 재시도 가능 트랜잭션 표기
순서 동기/비동기
API 필요 보상 트랜잭션 트랜잭션 종류
서비스 기능명 서비스 기능명
1 비동기 주문 서비스 주문 상태 변경 보상 가능
트랜잭션
2 동기 결제 서비스 외부 업체 결제 요청 주문 서비스 주문 상태 변경 피봇 트랜잭션
3 비동기 공통 서비스 메일 발송 재시도 가능
트랜잭션
예시
[Software Engineer]
(후략)수고하셨습니다.