KR101530878B1 - Evaluation and recruit service for programmer - Google Patents

Evaluation and recruit service for programmer Download PDF

Info

Publication number
KR101530878B1
KR101530878B1 KR1020130022409A KR20130022409A KR101530878B1 KR 101530878 B1 KR101530878 B1 KR 101530878B1 KR 1020130022409 A KR1020130022409 A KR 1020130022409A KR 20130022409 A KR20130022409 A KR 20130022409A KR 101530878 B1 KR101530878 B1 KR 101530878B1
Authority
KR
South Korea
Prior art keywords
programmer
source code
programmers
unit
history
Prior art date
Application number
KR1020130022409A
Other languages
Korean (ko)
Other versions
KR20140108474A (en
Inventor
도인한
권진
Original Assignee
(주)트라이캣
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)트라이캣 filed Critical (주)트라이캣
Priority to KR1020130022409A priority Critical patent/KR101530878B1/en
Publication of KR20140108474A publication Critical patent/KR20140108474A/en
Application granted granted Critical
Publication of KR101530878B1 publication Critical patent/KR101530878B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/105Human resources
    • G06Q10/1053Employment or hiring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B7/00Electrically-operated teaching apparatus or devices working with questions and answers
    • G09B7/02Electrically-operated teaching apparatus or devices working with questions and answers of the type wherein the student is expected to construct an answer to the question which is presented or wherein the machine gives an answer to the question presented by a student

Abstract

본 발명은 프로그래머 평가 및 채용서비스 제공시스템에 관한 것으로서, 보다 상세하게는 통신망상에서 접속하여 코딩테스트를 위한 문제를 제공받고 문제풀이 답안을 입력하여 평가에 응시하는 프로그래머 단말기; 다수의 코딩테스트 문제를 제공하며, 상기 프로그래머 단말기에서 전송되는 문제풀이 답안인 소스코드를 수신하여 저장함과 아울러, 각 문제풀이 답안을 저지 로봇에 의해 채점한 후, 그 평가결과를 함께 저장하여 각 프로그래머의 역량 파악을 위한 히스토리로 관리하는 코딩테스트 서버; 및 프로그래머를 채용하기 위한 업체에서 접속하여 프로그래머들의 이력과 경력 및 코딩테스트 평가결과를 검토하고 채용여부를 결정하는 채용관리서버를 포함하여 구성됨으로써, 프로그래머들은 다양한 분야의 코딩테스트 문제를 접하여 평가받으면서 자신의 실력을 향상시킬 수 있음과 아울러, 프로그래머를 채용하고자 하는 업체로서는 상기 채용관리서버를 통하여 프로그래머들의 히스토리를 수시로 확인하면서 회사에 적합한 능력을 가진 프로그래머를 수시로 발굴하여 채용할 수 있는 프로그래머들의 전문화된 인력풀을 구현할 수 있게 한 프로그래머 평가 및 채용서비스 제공시스템에 관한 것이다.The present invention relates to a programmer evaluation and recruitment service providing system, and more particularly, to a programmer terminal for connecting with a communication network to provide a problem for a coding test, inputting a problem solving answer, Receiving a source code that is a problem solving solution transmitted from the programmer terminal and storing the source code, storing the evaluation results together with scores of the problem solutions after they are scored by the blocking robot, A coding test server that manages the history as a history for identifying the capabilities of the system; And a recruitment management server for accessing from a company for recruiting a programmer to review the history and experience of the programmers and the results of the evaluation of the coding test and determine whether to employ the programmer so that the programmer can evaluate the coding test problems in various fields, As a company that intends to employ a programmer, it is possible to check the history of programmers through the employment management server at any time, and to search for and hire programmers having a capability suitable for the company, And to provide a programmer evaluation and recruitment service providing system capable of implementing a pool.

Figure R1020130022409
Figure R1020130022409

Description

프로그래머 평가 및 채용서비스 제공시스템{EVALUATION AND RECRUIT SERVICE FOR PROGRAMMER}[0001] EVALUATION AND RECRUIT SERVICE FOR PROGRAMMER [

본 발명은 프로그래머 평가 및 채용서비스 제공시스템에 관한 것으로서, 보다 상세하게는 통신망상에서 접속하여 코딩테스트를 위한 문제를 제공받고 문제풀이 답안을 입력하여 평가에 응시하는 프로그래머 단말기; 다수의 코딩테스트 문제를 제공하며, 상기 프로그래머 단말기에서 전송되는 문제풀이 답안인 소스코드를 수신하여 저장함과 아울러, 각 문제풀이 답안을 저지 로봇에 의해 채점한 후, 그 평가결과를 함께 저장하여 각 프로그래머의 역량 파악을 위한 히스토리로 관리하는 코딩테스트 서버; 및 프로그래머를 채용하기 위한 업체에서 접속하여 프로그래머들의 이력과 경력 및 코딩테스트 평가결과를 검토하고 채용여부를 결정하는 채용관리서버를 포함하여 구성됨으로써, 프로그래머들은 다양한 분야의 코딩테스트 문제를 접하여 평가받으면서 자신의 실력을 향상시킬 수 있음과 아울러, 프로그래머를 채용하고자 하는 업체로서는 상기 채용관리서버를 통하여 프로그래머들의 히스토리를 수시로 확인하면서 회사에 적합한 능력을 가진 프로그래머를 수시로 발굴하여 채용할 수 있는 프로그래머들의 전문화된 인력풀을 구현할 수 있게 한 프로그래머 평가 및 채용서비스 제공시스템에 관한 것이다.The present invention relates to a programmer evaluation and recruitment service providing system, and more particularly, to a programmer terminal for connecting with a communication network to provide a problem for a coding test, inputting a problem solving answer, Receiving a source code that is a problem solving solution transmitted from the programmer terminal and storing the source code, storing the evaluation results together with scores of the problem solutions after they are scored by the blocking robot, A coding test server that manages the history as a history for identifying the capabilities of the system; And a recruitment management server for accessing from a company for recruiting a programmer to review the history and experience of the programmers and the results of the evaluation of the coding test and determine whether to employ the programmer so that the programmer can evaluate the coding test problems in various fields, As a company that intends to employ a programmer, it is possible to check the history of programmers through the employment management server at any time, and to search for and hire programmers having a capability suitable for the company, And to provide a programmer evaluation and recruitment service providing system capable of implementing a pool.

최근 스마트폰의 보급으로 IT 업계의 시장 규모가 커지면서 프로그래머들에 대한 수요도 지속적으로 증가하고 있다. 그러나 이처럼 증가하는 프로그래머들에 대한 수요에 비해, 프로그래머들을 전문적으로 평가할 수 있게 한 특화된 서비스가 존재하지 않아 프로그래머들로서는 자신의 역량을 발휘할 수 있는 업체를 찾기 어렵고, 업체로서는 자사에 적합한 프로그래머를 채용하기 어려운 문제점이 있었다.With the recent spread of smartphones, the market size of the IT industry has increased, and the demand for programmers is continuously increasing. However, there is no specialized service that allows programmers to be evaluated professionally compared to the demand for such an increasing number of programmers. As programmers, it is difficult to find a company capable of exerting their own capabilities. There was a difficult problem.

실리콘 밸리의 경우 인터뷰스트리트(Interviewstreet), 코드에발(Codeeval) 과 같은 다양한 프로그래머 채용 서비스가 적합한 프로그래밍 인력 확보에 도움을 주고 있으나, 이는 국내 업체들이 프로그래머를 채용하기 위해 적용하기는 어려웠다.In the Silicon Valley, a variety of programmers' recruitment services such as Interviewstreet and Codeeval helped to get the right programming staff, but it was difficult for domestic companies to adopt it to hire programmers.

최근 한국 소프트웨어 진흥원이 발효한“국내 소브트웨어 인력현황 보고서”에 따르면, 2008년을 기준으로 SW(소프트웨어)전문 인력은 9만6967명이며, 부족인원은 9380명으로, 8.8%의 부족율을 기록했으며, SW인력 채용이 어려운 이유로는 초급인력의 경우 원하는 수준의 숙련도와 실무 경험을 갖춘 인재를 찾기 어렵다는 응답이 72.1%(복수 응답)로 가장 많았다. 또한 원하는 기술 분야에 대한 교육을 받은 사람이 없다는 응답도 50.2%로 기업의 요구에 부합하는 능력을 갖춘 인재의 부재를 SW전문 인력 채용이 어려운 큰 이유로 꼽았다. 그에 따라 정부는 이에 대한 해결 방안 중 하나로 토익과 같은 IT 역량 평가 시험인 가칭 “TOCIT(Test of Competence in IT)를 진행 중이다. 그러나, 아직 그 명확한 형태가 결정되지 않음은 물론, 하나의 평가 시험으로 다양한 프로그램에 대하여 알고리즘을 고안하고 그에 적합한 소스코드를 작성하는 능력을 검증하기는 여전히 쉽지 않은 문제점이 있었다.According to the latest report on the status of domestic software workforce, which was recently introduced by the Korea IT Industry Promotion Agency, the total number of SW (software) specialists was 96,967, and the shortage was 9380, which was 8.8% 72.1% (multiple answers) of the respondents said that it is difficult to find talented people with the required level of proficiency and practical experience in the case of beginner workers. Also, 50.2% of respondents said that they did not have any training on the technology they wanted, and noted that the lack of talent with the ability to meet corporate needs is a major reason for hiring SW professionals. As a result, the government is working on the "TOCIT (Test of Competence in IT)", an IT competency evaluation test such as TOEIC. However, there is still a problem in that it is not easy to verify the ability to design an algorithm for various programs and to write the appropriate source code in accordance with one evaluation test as well as the definite form is not yet determined.

또한, 현재 국내에서 알고리즘과 관련된 문제를 접할 수 있는 대표적인 것으로는 알고스팟(Algospot)이 있는데, 이는 비영리 목적으로 비정기적인 알고리즘 대회를 개최하고 있다. 그러나 이러한 알고스팟은 채용과 직접적인 연계가 힘든 단순한 게시판 위주의 커뮤니티이므로, 프로그램 작서을 위한 알고리즘을 짜고 그에 적합한 소스코드 작성에 관심 있는 프로그래머들이 자신의 역량을 과시하기 위한 수단으로서 기능할 뿐, 이를 통하여 코딩 능력을 향상시키기 어려울 뿐만 아니라, 업체에서도 그 대회의 결과를 그대로 인정하고 수용하기 어려운 문제점이 있었다.In addition, Algospot, which is one of the representative examples of problems related to the algorithm at present, holds an occasional algorithm competition for non-commercial purposes. However, since this aware spot is a simple bulletin-oriented community that is difficult to directly connect with recruitment, it functions only as a means for programmers who are interested in writing source code suitable for the programmer's work to demonstrate their capabilities. It is difficult not only to improve the coding ability but also to be difficult to accept and accept the result of the competition as it is.

따라서, 프로그래머들이 자신들의 코딩 능력을 향상시킴과 아울러, 이러한 프로그래머들의 노력을 업체에서도 용이하게 파악하여 채용에 활용할 수 있게 한 새로운 형태의 서비스, 즉 프로그래머의 전문화된 특성을 충실히 반영할 수 있는 새로운 인력풀에 대한 요청이 더욱 절실하다.Therefore, it is necessary for programmers to improve their coding skills and to provide a new type of service that enables the programmers to easily grasp the efforts of the programmers and to utilize them for recruitment, Requests for pools are more urgent.

대한민국 공개특허공보 제10-2012-0088014호Korean Patent Publication No. 10-2012-0088014

본 발명이 해결하고자 하는 과제는, 프로그래머들은 다양한 분야의 코딩테스트 문제를 접하여 평가받으면서 자신의 실력을 향상시킬 수 있음과 아울러, 프로그래머를 채용하고자 하는 업체로서는 상기 채용관리서버를 통하여 프로그래머들의 히스토리를 수시로 확인하면서 회사에 적합한 능력을 가진 프로그래머를 수시로 발굴하여 채용할 수 있는 프로그래머들의 전문화된 인력풀을 구현할 수 있게 한 프로그래머 평가 및 채용서비스 제공시스템을 제공함에 있다.SUMMARY OF THE INVENTION It is an object of the present invention to provide a program management system and a program management system capable of improving the performance of a programmer while being evaluated in response to a coding test problem in various fields, And to provide a programmer evaluation and recruitment service providing system capable of realizing a specialized human resource pool of programmers who can search for and employ a programmer who has the capability appropriate for the company at any time.

상기 과제를 해결하기 위한 프로그래머 평가 및 채용서비스 제공시스템은, A programmer evaluation and recruitment service providing system for solving the above-

통신망상에서 접속하여 코딩테스트를 위한 문제를 제공받고 문제풀이 답안을 입력하여 평가에 응시하는 프로그래머 단말기; 및 다수의 코딩테스트 문제를 제공하며, 상기 프로그래머 단말기에서 전송되는 문제풀이 답안인 소스코드를 수신하여 저장함과 아울러, 각 문제풀이 답안을 저지 로봇에 의해 채점한 후, 그 평가결과를 함께 저장하여 각 프로그래머의 역량 파악을 위한 히스토리로 관리하는 코딩테스트 서버를 포함하여 구성되는 것을 특징으로 한다.A programmer terminal connected on a communication network to receive a problem for a coding test and to take an evaluation answer by inputting an answer; And a plurality of coding test problems, receiving and storing source code, which is a problem solving answer transmitted from the programmer terminal, scoring each of the problem solving answers by a blocking robot, storing the evaluation results together, And a coding test server that manages the history as a history for grasping the capability of the programmer.

이때, 상기 코딩테스트 서버는,In this case,

코딩테스트를 수행하기 위한 다수의 문제가 저장되어 있는 문제은행부; 통신망을 통하여 접속한 프로그래머 단말기에서의 선택신호에 의해 선택된 문제를 상기 문제은행부에서 추출하여 상기 프로그래머 단말기로 전송하는 문제제공부; 상기 프로그래머 단말기에 표출되는 문제를 해결하기 위해 프로그래머가 작성한 소스코드를 해당 문제에 대한 답안으로 수신하여 데이터베이스에 저장하는 소스코드 수신부; 상기 소스코드 수신부에서 수신한 답안의 소스코드를 저지 로봇에서 컴파일하고 실행하여 채점하는 버추얼 머신 채점부; 및 상기 버추얼 머신 채점부에서의 평가 결과를 답안과 함께 데이터베이스에 저장하는 평가결과 저장부를 포함하여 구성되는 것을 특징으로 한다.A question bank section storing a plurality of problems for performing a coding test; A problem solving unit for extracting a problem selected by a selection signal from a programmer terminal connected through a communication network and transmitting the extracted problem to the programmer terminal; A source code receiver for receiving the source code written by the programmer as an answer to the problem and storing the received source code in a database in order to solve a problem displayed on the programmer terminal; A virtual machine scoring unit for compiling, executing and scoring the source code of the answer received by the source code receiving unit in a blocking robot; And an evaluation result storage unit for storing an evaluation result in the virtual machine scoring unit together with an answer in a database.

이때, 상기 문제은행부는 외부 전문업체인 커리어컵(Careercup)의 채용 인터뷰 문제를 코딩테스트 문제로 제공받거나, 프로그래머를 채용하고자 하는 업체로부터 각 업체의 실무능력과 관련된 문제를 제공받아 문제은행을 형성하도록 구성되는 것이 바람직하다.At this time, the question bank department receives the interview question of Career Cup (Careercup), which is an external specialist company, as a coding test problem, or issues a question related to the practical ability of each company from a company that wants to hire a programmer, .

또한, 상기 코딩테스트 서버는 상기 문제은행부에 저장되어 있는 다수의 문제들의 난이도를 선별한 후, 각 난이도별로 정렬하여 저장하는 난이도 선별부를 더 포함하여 구성되는 것을 특징으로 한다.In addition, the coding test server further comprises a difficulty level selection unit for sorting the difficulty levels of the plurality of problems stored in the question banking unit, and sorting the difficulty levels for each degree of difficulty.

또한, 상기 코딩테스트 서버는 동일한 문제에 대하여 기설정된 상위권 안에 드는 점수를 획득한 프로그래머들의 답안인 소스코드를 다른 프로그래머들이 접근하여 그 알고리즘을 검토하고 볼 수 있도록 개방하는 소스코드 공유부를 더 포함하여 구성되는 것을 특징으로 한다.The coding test server may further include a source code sharing unit for allowing the other programmers to access the source code, which is an answer of the programmer who obtained the score in the predetermined top level for the same problem, .

또한, 상기 버추얼 머신 채점부는 상기 소스코드 수신부에서 수신한 소스코드로 이루어진 답안을 채점하여 평가하는 버추얼 머신(Virtual Machine)으로서, 답안에 기재되어 있는 소스코드를 컴파일한 후 실행하여 채점을 수행하는 저지 로봇을 포함하여 구성되는 것을 특징으로 한다.The virtual machine scoring unit is a virtual machine for scoring an answer made up of the source code received by the source code receiving unit and evaluating it. The virtual machine scoring unit compiles the source code described in the answer, And a robot.

또한, 상기 코딩테스트 서버는 각 프로그래머들이 풀었던 문제와 그 평가결과 등을 순차적으로 저장함과 아울러, 각 프로그래머들의 이력과 경력이 기재되어 프로그래머의 히스토리를 용이하게 파악할 수 있게 한 히스토리 관리부를 더 포함하여 구성되는 것을 특징으로 한다.The coding test server may further include a history management unit for sequentially storing the problems that the respective programmers have solved and the evaluation results thereof, as well as history and experience of each of the programmers so that they can easily grasp the history of the programmer .

또한, 다수의 프로그래머에게 일정기간 동안 경진대회 문제를 제시하고, 그 경진대회 문제를 해결하기 위한 알고리즘을 구현할 수 있는 소스코드로 이루어진 경진대회 답안을 수령한 후, 상기 경진대회 답안을 평가하여 보상을 부여하는 콘테스트 관리서버를 더 포함하여 구성되는 것을 특징으로 한다.In addition, after a programmer has presented a contest problem for a predetermined period of time, received a contestant contest consisting of source code capable of implementing an algorithm for resolving the contest contest, And a contest management server to which the contest management server is assigned.

또한, 프로그래머를 채용하기 위한 업체에서 접속하여, 상기 히스토리 관리부에 저장되어 있는 프로그래머들의 이력과 경력 및 코딩테스트 평가결과를 검토하고 채용여부를 결정하는 채용관리서버를 더 포함하여 구성되는 것을 특징으로 한다.The present invention further comprises a job management server for accessing from a vendor for employing a programmer, examining the history and career of the programmers stored in the history management unit and the result of the coding test evaluation, .

이때, 상기 채용관리서버는,At this time,

프로그래머를 채용하고자 하는 업체의 클라이언트 단말기와 통신로를 형성하는 채용업체 접속부; 상기 채용업체 접속부를 통하여 연결되어 있는 업체의 클라이언트 단말기를 이용하여 상기 히스토리 관리부에 저장되어 있는 프로그래머들의 이력과 경력 및 코딩테스트 평가결과를 검색하는 히스토리 검색부; 및 상기 히스토리 검색부에서 선택된 프로그래머들과 통신망상에서 연결되어 온라인 면접을 실행하는 온라인 면접부를 더 포함하여 구성되는 것을 특징으로 한다.A recruiter connection unit that forms a communication path with a client terminal of a company wishing to employ a programmer; A history retrieval unit for retrieving a history, a career history, and a coding test evaluation result of programmers stored in the history management unit using a client terminal of a company connected through the recruitment company connection unit; And an online interviewer connected to the programmer selected by the history searcher on a communication network to execute an online interview.

본 발명은 코딩테스트 서버를 통하여 프로그래머들은 다양한 분야의 코딩테스트 문제를 접하여 평가받으면서 자신의 실력을 향상시킬 수 있음과 아울러, 프로그래머를 채용하고자 하는 업체로서는 채용관리서버를 통하여 프로그래머들의 히스토리를 수시로 확인하면서 회사에 적합한 능력을 가진 프로그래머를 용이하게 발굴하여 채용할 수 있는 프로그래머들의 전문화된 인력풀을 구현할 수 있는 효과가 있다.In the present invention, programmers can evaluate their coding skill through a coding test server, thereby improving their skills. In addition, as a company that intends to employ a programmer, it is necessary to check the history of programmers It is possible to implement a specialized human resource pool of programmers who can easily find and employ a programmer having a suitable capability for a company.

또한, 본 발명은 동일한 코딩테스트 문제에 대하여 다른 프로그래머들이 작성한 소스코드를 확인하면서 자신의 소스코드와 알고리즘을 수정하면서 코딩 능력을 향상시킬 수 있는 효과가 있다.In addition, the present invention has the effect of improving the coding ability while correcting the source code and the algorithm of the same while checking the source code written by other programmers for the same coding test problem.

도 1은 본 발명에 따른 프로그래머 평가 및 채용서비스 제공시스템의 블록 구성도.
도 2는 본 발명에 따른 코딩테스트를 통하여 프로그래머의 능력을 평가하는 것을 나타내는 시스템 구성도.
도 3은 본 발명에 따라 프로그래머 단말기에 코딩테스트를 위한 문제가 표출되는 것을 나타내는 예시화면.
도 4는 본 발명에 따라 프로그래머가 입력한 프로그램의 소스코드를 평가한 결과를 나타내는 예시화면.
도 5는 본 발명에 따라 문제 풀이 결과 등의 평가 결과를 프로그래머 별로 저장한 히스토리를 나타내는 예시화면.
도 6은 본 발명에 따라 채용관리서버를 통하여 온라인 면접을 실행하는 것을 나타내는 예시화면.
1 is a block diagram of a programmer evaluation and recruitment service providing system according to the present invention;
Figure 2 is a system configuration diagram illustrating the ability of a programmer to evaluate through a coding test according to the present invention;
3 is an exemplary screen showing that a problem for a coding test is displayed on a programmer terminal according to the present invention;
4 is an exemplary screen showing a result of evaluation of a source code of a program inputted by the programmer according to the present invention.
FIG. 5 is an exemplary screen showing a history in which a result of evaluation of a problem solving result or the like is stored for each programmer according to the present invention. FIG.
6 is an exemplary screen showing that an online interview is executed through the employment management server according to the present invention;

이하에서는 본 발명의 구체적인 실시예를 도면을 참조하여 상세히 설명하도록 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

도 1은 본 발명에 따른 프로그래머 평가 및 채용서비스 제공시스템의 블록 구성도이고, 도 2는 본 발명에 따른 코딩테스트를 통하여 프로그래머의 능력을 평가하는 것을 나타내는 시스템 구성도이다.FIG. 1 is a block diagram of a programmer evaluation and recruitment service providing system according to the present invention, and FIG. 2 is a system configuration diagram showing evaluation of a programmer's ability through a coding test according to the present invention.

도 1 및 도 2를 참조하면, 본 발명에 따른 프로그래머 평가 및 채용서비스 제공시스템은, 통신망상에서 접속하여 코딩테스트를 위한 문제를 제공받고 문제풀이 답안을 입력하여 평가에 응시하는 프로그래머 단말기(100)와, 프로그래머의 역량을 측정할 수 있는 다수의 코딩테스트 문제를 제공하며 상기 프로그래머 단말기에서 전송되는 문제풀이 답안인 소스코드를 수신하여 저장함과 아울러 각 문제풀이 답안을 저지 로봇에 의해 채점한 후 그 평가결과를 함께 저장하여 각 프로그래머의 역량 파악을 위한 히스토리로 관리하는 코딩테스트 서버(200)를 포함하여 구성된다.1 and 2, a programmer evaluation and recruitment service providing system according to the present invention includes a programmer terminal 100 for connecting on a communication network to receive a problem for a coding test, inputting a problem solving answer, A plurality of coding test problems capable of measuring a capability of a programmer, receiving and storing source code, which is a problem solving answer transmitted from the programmer terminal, scoring each of the problem solving answers by a blocking robot, And a coding test server 200 that manages the history of each programmer as a history for identifying competence.

상기 프로그래머 단말기(100)는 상기 코딩테스트 서버와 통신망을 통하여 연결되어 있으며, 코딩테스트를 위한 문제가 표출되는 디스플레이 수단과, 문제풀이를 위해 프로그래머가 작성한 답안의 알고리즘을 이루는 소스코드를 입력하기 위한 입력수단이 구비된 퍼스널 컴퓨터나 노트북, 또는 태블릿 피씨와 같은 스마트 단말기 등으로 구성된다.The programmer terminal 100 is connected to the coding test server through a communication network and includes a display unit for displaying a problem for a coding test and an input unit for inputting a source code of an algorithm of an answer written by a programmer A smart terminal such as a personal computer, a notebook, or a tablet PC equipped with means.

이때, 상기 프로그래머 단말기(100)는 학원이나 학교의 전산실과 같이 특정 공간에 설치되어 있으며 별도의 전용선을 통하여 상기 코딩테스트 서버(200)에 연결되어 있는 전용 단말기로 구성될 수도 있으나, 공간적 시간적 제약 없이 프로그래머가 편리한 장소와 시간에 인터넷 등의 통신망을 이용하여 상기 코딩테스트 서버(200)에 접속하여 문제를 풀면서 자신의 역량을 점검할 수 있도록 각 프로그래머가 관리하는 개별 퍼스널 컴퓨터 등의 단말기로 구성되는 것이 바람직하다.At this time, the programmer terminal 100 may be a dedicated terminal connected to the coding test server 200 through a separate dedicated line installed in a specific space such as a computer room of a school or a school. However, And a terminal such as an individual personal computer managed by each programmer so that the programmer can check his / her capability while solving a problem by accessing the coding test server 200 using a communication network such as the Internet at a convenient place and time .

상기 코딩테스트 서버(200)는 코딩테스트를 수행하기 위한 다수의 문제가 저장되어 있는 문제은행부(210)와, 통신망을 통하여 접속한 프로그래머 단말기에서의 선택신호에 의해 선택된 문제를 상기 문제은행부에서 추출하여 상기 프로그래머 단말기로 전송하는 문제제공부(230)와, 상기 프로그래머 단말기에 표출되는 문제를 해결하기 위해 프로그래머가 작성한 소스코드를 해당 문제에 대한 답안으로 수신하여 데이터베이스에 저장하는 소스코드 수신부(240)와, 상기 소스코드 수신부에서 수신한 답안의 소스코드를 저지 로봇에서 직접 컴파일하고 실행하여 채점하는 버추얼 머신 채점부(250)와, 상기 버추얼 머신 채점부에서의 평가 결과를 답안과 함께 데이터베이스에 저장하는 평가결과 저장부(260)를 포함하여 구성된다.The coding test server 200 includes a question bank unit 210 in which a plurality of problems for performing a coding test are stored, and a problem selecting unit 210 for selecting a problem selected by a selection signal from a programmer terminal connected through a communication network, And a source code receiver 240 for receiving the source code generated by the programmer as an answer to the problem and storing the received source code in a database to solve the problem expressed to the programmer terminal A virtual machine scoring unit 250 for directly compiling, executing, and scoring source code of an answer received from the source code receiving unit, and for storing the evaluation result at the virtual machine scoring unit in a database And an evaluation result storage unit 260 that stores the evaluation result.

상기 문제은행부(210)는 본 발명에 따른 프로그래머 평가 및 채용서비스를 제공하는 사업자가 직접 출제하는 문제를 저장하여 문제은행을 형성하도록 구성될 수도 있으나, 프로그래머의 전문적인 능력향상과 검증된 문제를 통한 실력 배양 및 업체에서 실질적으로 요구하는 능력향상을 위하여, 외부 전문업체 서버로부터 코딩테스트 문제를 수신하여 저장하도록 구성될 수도 있다.The question bank unit 210 may be configured to store a problem which is directly executed by a provider providing a programmer evaluation and recruitment service according to the present invention to form a question bank. However, May be configured to receive and store a coding test problem from an external professional server for the purpose of cultivating the skills and improving the capability substantially required by the vendor.

그에 따라, 상기 실시예에서 상기 문제은행부(210)는 프로그래머들이 접할 수 있는 문제의 신뢰도를 향상시킬 수 있도록, 실리콘 밸리의 인터뷰 자료를 공유하는 커리어컵(Careercup)으로부터 코딩테스트 문제를 제공받아 문제은행을 형성하도록 구성하였다.Accordingly, in the above embodiment, the question bank unit 210 receives a coding test problem from a Careercup that shares the interview data of Silicon Valley so as to improve the reliability of the problems that the programmers can access, To form a bank.

또한, 상기 문제은행부(210)는 프로그래머를 채용하고자 하는 업체로부터 각 업체의 실무능력과 관련된 문제를 제공받아 문제은행을 형성하도록 구성될 수도 있으며, 이처럼 프로그래머를 채용할 것으로 예상되는 업체로부터 직접 문제를 제공받게 될 경우 회사로서는 자사에서 필요로 하는 능력이 있는 프로그래머를 찾기 쉽게 될 뿐만 아니라, 해당 문제를 푸는 능력을 배양하게 된 프로그래머로서는 보다 많은 취업기회를 가질 수 있게 된다.In addition, the question bank unit 210 may be configured to form a question bank by receiving a problem related to the practical ability of each company from a company that intends to employ a programmer. In this case, It will be easier for the company to find programmers who have the skills they need, and for programmers who have the ability to solve the problems, they will have more job opportunities.

이때, 상기 코딩테스트 서버(200)는 상기 문제은행부에 저장되어 있는 다수의 문제를 프로그래머들이 능력별로 접근하여 풀 수 있도록, 각 문제의 난이도를 선별한 후 각 난이도별로 정렬하여 저장하는 난이도 선별부(220)를 더 포함하여 구성되는 것이 바람직하다.At this time, the coding test server 200 selects the degree of difficulty of each problem so that programmers can access and solve a number of problems stored in the question bank unit by capacity, sorting the difficulty by each degree of difficulty, (220).

이때, 상기 난이도 선별부(220)에서 설정하는 난이도는 문제를 공급하는 외부 전문업체에서 설정되거나, 업체에서 설정된 난이도를 그대로 반영하여 설정하도록 구성될 수 있음은 물론, 본 발명에 따른 프로그래머 평가 및 채용서비스 제공시스템을 운영하는 사업자가 각 문제의 난이도를 설정하도록 구성될 수도 있다.In this case, the degree of difficulty set by the degree-of-difficulty selector 220 may be set by an external professional company that supplies the problem, or may be configured to reflect the difficulty level set by the company, A service provider operating the service providing system may be configured to set the degree of difficulty of each problem.

그에 따라, 도 3에 도시된 바와 같이, 상기 코딩테스트 서버에 접속한 프로그래머 단말기(100)에는 문제은행부에 저장되어 있는 문제들이 ‘쉬움’, ‘보통’, ‘어려움’ 등의 형태로 그룹지어져 표현되므로 문제풀이를 체험하고자 하는 프로그래머들은 자신의 수준에 맞는 난이도를 택하여 문제를 풀어볼 수 있게 된다.Accordingly, as shown in FIG. 3, the programmer terminal 100 connected to the coding test server groups the problems stored in the question bank unit in the form of 'easy', 'normal', 'difficulty', etc. The programmer who wants to experience the problem solving can express the difficulty according to his level and solve the problem.

상기 문제제공부(230)는 상기 코딩테스트 서버(200)에 접속하여 사용자 인증을 받은 프로그래머가 홈페이지 상에 표출되는 문제를 보고 자신이 풀어보고자 하는 문제를 선택하는 선택신호를 수신한 후, 해당 문제를 상기 문제은행부(210)에서 추출하여 통신로를 형성하고 있는 프로그래머 단말기(100)로 전송하여 디스플레이 수단에 표출시키도록 구성된다.The problem solving unit 230 accesses the coding test server 200 and receives a user selection signal to select a problem to be solved by the programmer who has been authenticated by the user, Is extracted by the question bank unit 210 and transmitted to the programmer terminal 100 forming the communication path to be displayed on the display means.

그에 따라, 상기 프로그래머 단말기(100)에 표출되는 문제는 도 3에 도시된 바와 같이, 문제 제목과 문제 내용이 표출된다. 이때, 상기 문제제공부(230)를 통하여 프로그래머 단말기에 표출되는 문제의 하부에는 프로그래머가 해당 문제에 대한 답안을 입력할 수 있는 빈 공간이 함께 표출되게 하여, 문제에서 제시된 알고리즘을 구현할 수 있는 소스코드를 프로그래머들이 쉽게 입력할 수 있게 하는 것이 바람직하다.Accordingly, as shown in FIG. 3, the problem title and the problem content are displayed on the programmer terminal 100. At this time, under the problem displayed on the programmer terminal through the trouble remover 230, a programmer can display an empty space for inputting an answer to the problem, so that a source code To be easily input by programmers.

또한, 해당 문제를 이미 풀었던 다른 프로그래머 중 기설정된 상위권 안에 드는 점수를 획득한 몇몇 프로그래머의 소스코드가 모범 답안과 같은 형태로 표출되게 하는 것이 바람직하며, 문제를 풀고자 하는 프로그래머는 해당 소스코드를 선택함으로써 다른 프로그래머가 이미 풀었던 소스코드를 확인하며 학습할 수 있게 된다.It is also desirable to have the source code of some programmers who have already scored a score within a predetermined range among other programmers who have already solved the problem in the same format as the best answer, By selecting this, you will be able to identify and learn the source code that other programmers have already solved.

이를 위하여 상기 코딩테스트 서버(200)는 동일한 문제에 대하여 기설정된 상위권 안에 드는 점수를 획득한 프로그래머들의 답안인 소스코드를 다른 프로그래머들이 접근하여 그 알고리즘을 검토하고 볼 수 있도록 개방하는 소스코드 공유부(290)를 더 포함하여 구성되는 것이 바람직하다.To this end, the coding test server 200 may include a source code sharing unit (not shown) for opening the source code to be accessed by other programmers to review and view the algorithm, 290).

이때, 상기 소스코드 공유부(290)에 자신이 작성한 소스코드를 문제와 함께 오픈하고, 알고리즘 작성 또는 소스코드 작성시의 조언을 구할 수 있도록 구성됨으로써, 프로그래머들 간에 다양한 의견교환이 가능하게 할 수도 있다.At this time, the source code sharing unit 290 may be configured to open the source code created by the source code sharing unit 290 together with the problem, and to obtain advice on algorithm creation or source code creation, have.

상기 소스코드 수신부(240)는 문제제공부(230)를 통하여 프로그래머 단말기(100)에 표출된 문제를 보고 프로그래머가 생각한 알고리즘을 구현할 수 있도록 작성한 소스코드를 해당 문제에 대한 답안으로 수신하여 해당 문제와 함께 데이터베이스(280)에 저장하도록 구성된다.The source code receiving unit 240 receives the source code written to the programmer terminal 100 through the problem providing unit 230 so as to implement the algorithm thought by the programmer as an answer to the problem, Together in the database 280.

이때, 프로그래머가 입력하는 소스코드는 프로그래머가 문제 해결을 위해 가장 바람직하다고 생각한 알고리즘을 구현할 수 있는 소스코드로서, 상기 프로그래머 단말기(100)를 이용하여 문제와 함께 제시되는 빈 공간에 작성한 후 전송 또는 입력을 선택하면 상기 소스코드 수신부(240)에서 이를 수신하여 데이터베이스(280)에 저장하게 된다.At this time, the source code input by the programmer is source code capable of implementing an algorithm that a programmer believes most desirable for solving a problem. The source code is written in a blank space presented with the problem using the programmer terminal 100, The source code receiving unit 240 receives it and stores it in the database 280.

상기 버추얼 머신 채점부(250)는 상기 소스코드 수신부에서 수신한 소스코드로 이루어진 답안을 채점하여 평가하는 버추얼 머신(Virtual Machine)으로서, 답안에 기재되어 있는 소스코드를 컴파일한 후 실행함으로써 채점을 수행할 수 있는 저지 로봇을 포함하여 구성된다.The virtual machine scoring unit 250 is a virtual machine for scoring and evaluating an answer made up of the source code received by the source code receiving unit. The virtual machine scoring unit 250 scans and executes the source code described in the answer And a lowering robot capable of performing the same.

이때, 답안을 채점하는 로봇은 검증된 오픈 소스를 활용하여 안정성을 갖추도록 하는 것이 바람직하며, XML 기반의 분산 시스템 통신방법으로서 HTTP를 통하여 간단하고 이식성 높은 원격 프로시저 호출을 지원할 수 있는 XML - RPC를 이용하여 상기 소스코드 수신부(240)에서 수신한 답안을 버추얼 머신을 이루는 저지 로봇으로 전송하여 채점이 이루어지도록 구성되는 것이 바람직하다.At this time, it is desirable that robots scoring the answers are made to have stability by using the proven open source, and XML - based Distributed System communication method is used as an XML - RPC The answer received by the source code receiving unit 240 is transmitted to a blocking robot constituting a virtual machine so as to be scored.

이때, 상기 저지 로봇은 보호된 영 역안에서 프로그램을 작동시키는 보안 소프트웨어인 Sandbox 모듈로 구현하여 해당 모듈내에서 컴파일과 측정을 실행함으로써, 매 측정마다 동일한 결과를 낼 수 있게 하는 것이 바람직하다. 또한, 리눅스 내의 권한 조정과 리눅스에서의 버추얼 머신(Virtual Machine)을 활용하여 악의적인 코드로부터 발생할 수 있는 보안문제를 안전하게 봉쇄하도록 구성되는 것이 바람직하다.At this time, it is preferable that the blocking robot implement the Sandbox module, which is a security software for operating a program in a protected area, to compile and measure in the corresponding module, thereby achieving the same result every measurement. It is also desirable to be configured to safely block security problems that may arise from malicious code by exploiting the privilege control in Linux and the virtual machine in Linux.

또한, Produce-Consumer 아키텍쳐를 이용하여 측정해야 할 문제가 발생하면 큐(Queue)에 담아 두었다가, 아이들(Idle) 상태의 저지 로봇(스레드)이 발생하면 꺼내어 실행하도록 구성됨으로써 최적화된 저지 로봇을 구현할 수 있게 하는 것이 바람직하다.In addition, when a problem to be measured by the Produce-Consumer architecture arises, it is stored in a queue, and when the idle robot (thread) of the idle state occurs, it is configured to be taken out and executed so that an optimized low- .

상기 평가결과 저장부(260)는 상기 버추얼 머신 채점부에서 채점된 답안의 채점 결과를 저지 로봇으로부터 수신하여 해당 답안과 함께 데이터베이스(280)에 저장하도록 구성된다.The evaluation result storage unit 260 receives the scoring result of the answer scored in the virtual machine scoring unit from the blocking robot and stores the scoring result in the database 280 together with the answer.

이때, 상기 평가결과 저장부(260)에는 프로그래머의 인적정보와, 문제와, 답안 및 그 채점 결과가 함께 저장됨으로써 추후 본인이 작성하였던 소스코드를 검토하면서 알고리즘을 보완하는 등 학습에 활용할 수 있게 하는 것이 바람직하다. 그에 따라, 도 4에 도시된 바와 같이 문제풀이를 통한 기초 코딩테스트 결과를 그래프 등으로 표현하여 문제를 푼 프로그래머 자신이나 해당 프로그래머의 능력을 확인하고자 하는 기업체에서도 그 능력을 쉽게 파악할 수 있게 하는 것이 바람직하다.At this time, the evaluation result storage unit 260 stores the programmer's personal information, the problem, the answer, and the scoring result together so that the evaluation result storage unit 260 can utilize it for learning such as supplementing the algorithm while examining the source code . Accordingly, it is desirable to express the basic coding test result through the problem solving by a graph or the like, as shown in FIG. 4, so that the programmer who solves the problem or the enterprise who wants to check the ability of the programmer can easily grasp the capability Do.

또한, 상기 코딩테스트 서버(200)는 각 프로그래머들이 풀었던 문제와 그 평가결과 등을 순차적으로 저장함과 아울러, 각 프로그래머들의 이력과 경력이 기재되어 프로그래머의 히스토리를 용이하게 파악할 수 있게 한 히스토리 관리부(270)를 더 포함하여 구성되는 것이 바람직하다.In addition, the coding test server 200 sequentially stores the problems that the respective programmers have solved, the evaluation results thereof, and the like, as well as a history management unit (hereinafter referred to as " 270). ≪ / RTI >

그에 따라, 본 발명에 따른 프로그래머 평가 및 채용서비스를 이용하여 프로그래머를 채용하고자 하는 업체로서는 도 5에 도시된 바와 같이 상기 히스토리 관리부(270)에 저장되어 있는 각 프로그래머들의 이력과 경력을 용이하게 확인하면서 자사에서 필요로 하는 능력을 갖춘 프로그래머를 용이하게 파악할 수 있게 된다.As shown in FIG. 5, a company that intends to employ a programmer using the programmer evaluation and recruitment service according to the present invention can easily confirm the history and career of each programmer stored in the history management unit 270 It will be easy to identify programmers with the capabilities they need.

또한, 본 발명에 따른 프로그래머 평가 및 채용서비스 제공시스템은 다수의 프로그래머에게 일정기간 동안 경진대회 문제를 제시하고 그 경진대회 문제를 해결하기 위한 알고리즘을 구현할 수 있는 소스코드로 이루어진 답안을 수령한 후, 그 답안을 평가하여 우수한 알고리즘을 구현한 프로그래머에게 보상을 부여하는 콘테스트 관리서버(300)를 더 포함하여 구성되는 것이 바람직하다.In addition, the programmer evaluation and recruitment service providing system according to the present invention may provide a plurality of programmers with a contest problem for a predetermined period of time, receive an answer consisting of source code that can implement an algorithm for resolving the contest problem, And a contest management server 300 that evaluates the answer and gives compensation to a programmer who implements an excellent algorithm.

이때, 상기 콘테스트 관리서버(300)에 접속한 프로그래머 단말기(100)에 경진대회 문제와 함께 표출되는 빈 공간에 프로그래머가 작성한 소스코드를 수신하여 경진대회 답안으로 수령하고, 이를 버추얼 머신에서 채점한 후 평가하여 우수한 알고리즘을 구현한 경진대회 답안을 추출하여 보상함으로써, 프로그래머들의 관심과 흥미를 야기할 수 있게 된다.At this time, the programmer's terminal 100 connected to the contest management server 300 receives the source code written by the programmer in the empty space displayed together with the contest tournament question, receives the source code, and scans it in the virtual machine By extracting and compensating for the contest winning answers that evaluate and implement superior algorithms, it can cause interest and interest of programmers.

또한, 상기 콘테스트 관리서버(300)에서 제시되는 경진대회 문제는 본 발명에 따른 프로그래머 평가 및 채용서비스를 제공하는 사업자가 임의로 제시할 수도 있으나, 기업체에서 필요로 하는 능력을 평가할 수 있는 문제를 경진대회 문제로 제시하고 그에 대한 답안을 평가하여 채용의 수단으로 활용하도록 구성될 수도 있다.In addition, the contest competition problem presented by the contest management server 300 may be provided by a provider who provides the programmer evaluation and recruitment service according to the present invention. However, It may be structured to present the problem and to evaluate the answer and use it as a means of recruitment.

또한, 본 발명에 따른 프로그래머 평가 및 채용서비스 제공시스템은 프로그래머를 채용하기 위한 업체에서 접속하여 상기 히스토리 관리부(270)에 저장되어 있는 프로그래머들의 이력과 경력 및 코딩테스트 평가결과 등을 검토하고 채용여부를 결정하는 채용관리서버(400)를 더 포함하여 구성되는 것이 바람직하다.In addition, the programmer evaluation and recruitment service providing system according to the present invention accesses from a vendor for employing a programmer, examines history, career, and coding test evaluation results of the programmers stored in the history management unit 270, And an employment management server 400 for deciding the employment management server 400.

이를 위하여, 상기 채용관리서버(400)는 프로그래머를 채용하고자 하는 업체의 클라이언트 단말기와 통신로를 형성하는 채용업체 접속부(410)와, 상기 채용업체 접속부를 통하여 연결되어 있는 업체의 클라이언트 단말기를 이용하여 상기 히스토리 관리부에 저장되어 있는 프로그래머들의 이력과 경력 및 코딩테스트 평가결과를 검색하는 히스토리 검색부(420)와, 상기 히스토리 검색부에서 선택된 프로그래머들과 통신망상에서 연결되어 온라인 면접을 실행하는 온라인 면접부(430)를 포함하여 구성된다.To this end, the employment management server 400 includes a recruitment company connection unit 410 for establishing a communication path with a client terminal of a company that employs a programmer, and a client terminal of a company connected through the recruitment company connection unit A history retrieval unit 420 for retrieving the history, history, and coding test evaluation results of the programmers stored in the history management unit; and an online interview unit 420 for executing online interviews with the programmers selected in the history retrieval unit, 430).

이와 같이 상기 채용관리서버(400)는 프로그래머들의 이력과 경력 및 코딩테스트 평가결과 등이 정리되어 있는 프로그래머들의 히스토리를 용이하게 확인할 수 있으므로, 별도의 채용공고나 지원자의 능력을 평가하기 위한 별도의 테스트 없이도 자사에서 필요로 하는 능력을 갖춘 프로그래머들을 용이하게 채용할 수 있게 된다.As described above, since the hiring management server 400 can easily confirm the history of the programmers whose histories and experiences of the programmers and the evaluation results of the coding tests are listed, it is possible to perform a separate test for evaluating the applicant's ability It is easy to hire programmers with the capabilities they need.

또한, 상기 온라인 면접부(430)를 통하여, 도 6에 도시된 바와 같이 통신망상에서 프로그래머 단말기(100)와 채용업체의 클라이언트 단말기(500)간에 통신로를 형성하고, 이러한 통신로를 통하여 다시 한 번 프로그래머의 알고리즘 작성 능력과 코딩 능력을 테스트 할 수 있으므로 업체에서 필요로 하는 프로그래머를 용이하게 채용할 수 있게 된다.6, a communication path is formed between the programmer terminal 100 and the client terminal 500 of the recruiting company on the communication network through the online interviewing unit 430, and once again through the communication path Programmers can test their algorithmic and coding abilities so they can easily adopt the programmers they need.

이처럼 상기 코딩테스트 서버를 통하여 프로그래머들은 다양한 분야의 코딩테스트 문제를 접하여 평가받으면서 자신의 실력을 향상시킬 수 있음과 아울러, 프로그래머를 채용하고자 하는 업체로서는 상기 채용관리서버를 통하여 프로그래머들의 히스토리를 수시로 확인하면서 회사에 적합한 능력을 가진 프로그래머를 수시로 발굴하여 채용할 수 있는 프로그래머들의 전문화된 인력풀을 구현할 수 있게 된다.As described above, programmers can evaluate their coding skills through various coding test problems and improve their skills. Also, as a company that intends to employ a programmer, it is possible to check the history of programmers through the job management server It is possible to implement a specialized pool of programmers who can find and employ programmers who have the right skills for the company at any time.

이상에서는 본 발명에 대한 기술사상을 첨부 도면과 함께 서술하였지만 이는 본 발명의 바람직한 실시예를 예시적으로 설명한 것이지 본 발명을 한정하는 것은 아니다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 이라면 누구나 본 발명의 기술적 사상의 범주를 이탈하지 않는 범위 내에서 다양한 변형 및 모방이 가능함은 명백한 사실이다.While the present invention has been described in connection with what is presently considered to be the most practical and preferred embodiment, it is to be understood that the invention is not limited to the disclosed embodiments. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.

100 프로그래머 단말기
200 - 코딩테스트 서버 210 - 문제은행부
220 - 난이도 선별부 230 - 문제제공부
240 - 소스코드 수신부 250 - 버추얼 머신 채점부
260 - 평가결과 저장부 270 - 히스토리 관리부
280 - 데이터베이스 290 - 소스코드 공유부
300 - 콘테스트 관리서버
400 - 채용관리서버 410 - 채용업체 접속부
420 - 히스토리 검색부 430 - 온라인 면접부
500 - 업체 클라이언트 단말기
100 programmer terminal
200 - Coding test server 210 - Question bank part
220 - Difficulty Selection Section 230 - Problem Solving
240 - source code receiving unit 250 - virtual machine scoring unit
260 - Evaluation result storage unit 270 - History management unit
280 - Database 290 - Source code sharing part
300 - Contest management server
400 - Recruitment management server 410 - Recruiter connection
420 - history searching unit 430 - online interviewing unit
500 - Business client terminal

Claims (15)

프로그래머 단말기, 코딩테스트 서버, 채용관리서버, 및 콘테스트 관리서버를 포함하되,
상기 프로그래머 단말기는,
통신망상에서 접속하여 코딩테스트를 위한 문제를 제공받고 문제풀이 답안을 입력하여 평가에 응시하도록 설치되고,
상기 코딩테스트 서버는,
코딩테스트를 수행하기 위한 다수의 문제가 저장되어 있는 문제은행부;
통신망을 통하여 접속한 프로그래머 단말기에서의 선택신호에 의해 선택된 문제를 상기 문제은행부에서 추출하여 상기 프로그래머 단말기로 전송하고, 또한, 해당 문제를 이미 풀었던 다른 프로그래머들의 소스코드 중에서 기설정된 상위권 안에 드는 점수를 받은 소스코드를 모범 답안의 형태로 표출시키는 문제제공부;
상기 프로그래머 단말기에 표출되는 문제를 해결하기 위해 프로그래머가 작성한 소스코드를 해당 문제에 대한 답안으로 수신하여 데이터베이스에 저장하는 소스코드 수신부;
상기 소스코드 수신부에서 수신한 답안의 소스코드를 저지 로봇에서 컴파일하고 실행하여 채점하는 버추얼 머신 채점부;
상기 버추얼 머신 채점부에서의 평가 결과를 답안과 함께 데이터베이스에 저장하는 평가결과 저장부;
동일한 문제에 대하여 기설정된 상위권 안에 드는 점수를 획득한 프로그래머들의 답안인 소스코드를 다른 프로그래머들이 접근하여 그 알고리즘을 검토하고 볼 수 있도록 개방하는 소스코드 공유부;
상기 문제은행부에 저장되어 있는 다수의 문제들의 난이도를 선별한 후, 각 난이도별로 정렬하여 저장하는 난이도 선별부;
각 프로그래머들이 풀었던 문제와 그 평가결과 등을 순차적으로 저장함과 아울러, 각 프로그래머들의 이력과 경력이 기재되어 프로그래머의 히스토리를 용이하게 파악할 수 있게 한 히스토리 관리부; 를 포함하며,
상기 채용관리서버는,
프로그래머를 채용하고자 하는 업체의 클라이언트 단말기와 통신로를 형성하는 채용업체 접속부;
상기 채용업체 접속부를 통하여 연결되어 있는 업체의 클라이언트 단말기를 이용하여 상기 히스토리 관리부에 저장되어 있는 프로그래머들의 이력과 경력 및 코딩테스트 평가결과를 검색하는 히스토리 검색부; 및
상기 히스토리 검색부에서 선택된 프로그래머들과 통신망상에서 연결되어 온라인 면접을 실행하는 온라인 면접부; 를 포함하며,
상기 콘테스트 관리서버는, 다수의 프로그래머에게 일정기간 동안 경진대회 문제를 제시하고, 그 경진대회 문제를 해결하기 위한 알고리즘을 구현할 수 있는 소스코드로 이루어진 경진대회 답안을 수령한 후, 상기 경진대회 답안을 평가하여 보상을 부여하는 것을 특징으로 하는 프로그래머 평가 및 채용서비스 제공시스템.
A programmer terminal, a coding test server, a recruitment management server, and a contest management server,
The programmer terminal comprising:
The user is connected to the communication network to provide a problem for the coding test,
The coding test server,
A question bank section storing a plurality of problems for performing a coding test;
A problem selected by a selection signal from a programmer terminal connected through a communication network is extracted from the question bank section and transmitted to the programmer terminal. In addition, a score of a predetermined uppermost point among source codes of other programmers who have already solved the problem Problem solver that displays the source code in the form of a model answer;
A source code receiver for receiving the source code written by the programmer as an answer to the problem and storing the received source code in a database in order to solve a problem displayed on the programmer terminal;
A virtual machine scoring unit for compiling, executing and scoring the source code of the answer received by the source code receiving unit in a blocking robot;
An evaluation result storage unit for storing an evaluation result in the virtual machine scoring unit together with an answer in a database;
A source code sharing unit for allowing other programmers to access the source code, which is an answer of the programmers who have acquired the score in the predetermined top level for the same problem, and to open the source code so that the algorithm can be reviewed and viewed;
A difficulty level selection unit for sorting the difficulty levels of the plurality of problems stored in the question bank unit and storing the difficulty levels for each difficulty level;
A history manager for sequentially storing the problems that the respective programmers have solved and the evaluation results thereof, as well as history and experience of the programmers are described so that the history of the programmer can be easily identified; / RTI >
The employment management server comprises:
A recruiter connection unit that forms a communication path with a client terminal of a company wishing to employ a programmer;
A history retrieval unit for retrieving a history, a career history, and a coding test evaluation result of programmers stored in the history management unit using a client terminal of a company connected through the recruitment company connection unit; And
An online interviewer connected to the programmer selected in the history searching unit on a communication network to execute an online interview; / RTI >
The contest management server presents a contest competition problem to a plurality of programmers for a predetermined period of time and receives an contest competition answer made up of source code capable of implementing an algorithm for solving the contest competition problem, And evaluates the program and provides compensation to the programmer.
삭제delete 제1항에 있어서,
상기 문제은행부는 외부 전문업체 서버로부터 코딩테스트 문제를 수신하여 저장하도록 구성되는 것을 특징으로 하는 프로그래머 평가 및 채용서비스 제공시스템.
The method according to claim 1,
Wherein the question bank is configured to receive and store a coding test problem from an external professional vendor server.
제3항에 있어서,
상기 문제은행부는 커리어컵(Careercup)의 채용 인터뷰 문제를 코딩테스트 문제로 제공받는 것을 특징으로 하는 프로그래머 평가 및 채용서비스 제공시스템.
The method of claim 3,
Wherein the question bank part is provided with a coding test problem for a Career Cup (Careercup) employment interview problem.
제1항에 있어서,
상기 문제은행부는 프로그래머를 채용하고자 하는 업체로부터 각 업체의 실무능력과 관련된 문제를 제공받아 문제은행을 형성하도록 구성되는 것을 특징으로 하는 프로그래머 평가 및 채용서비스 제공시스템.
The method according to claim 1,
Wherein the question bank unit is configured to form a question bank by receiving a problem related to a practical capability of each company from a company that intends to employ a programmer.
삭제delete 삭제delete 삭제delete 삭제delete 제1항에 있어서,
상기 저지 로봇은 샌드박스(Sandbox) 모듈로 구현하고 상기 샌드박스(Sandbox) 모듈내에서 컴파일과 측정을 실행하도록 구성되는 것을 특징으로 하는 프로그래머 평가 및 채용서비스 제공시스템.
The method according to claim 1,
Wherein the blocking robot is implemented as a sandbox module and is configured to compile and measure within the sandbox module.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020130022409A 2013-02-28 2013-02-28 Evaluation and recruit service for programmer KR101530878B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130022409A KR101530878B1 (en) 2013-02-28 2013-02-28 Evaluation and recruit service for programmer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130022409A KR101530878B1 (en) 2013-02-28 2013-02-28 Evaluation and recruit service for programmer

Publications (2)

Publication Number Publication Date
KR20140108474A KR20140108474A (en) 2014-09-11
KR101530878B1 true KR101530878B1 (en) 2015-06-24

Family

ID=51755583

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130022409A KR101530878B1 (en) 2013-02-28 2013-02-28 Evaluation and recruit service for programmer

Country Status (1)

Country Link
KR (1) KR101530878B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180104789A (en) * 2017-03-13 2018-09-27 서울대학교산학협력단 The information infrastructure supply method of global human resources in construction

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101971660B1 (en) * 2018-10-01 2019-08-16 윤정관 Coding capability evaluation system based on storytelling
KR20200068159A (en) * 2018-12-04 2020-06-15 순천향대학교 산학협력단 System and method for practice programming
KR102179202B1 (en) * 2018-12-27 2020-11-16 ㈜ 한국공학기술연구원 Software coding training support and evaluation system
KR102004489B1 (en) * 2019-01-21 2019-07-26 주식회사 종달랩 A developer recommended outsourcing system that automatically analyzes the developer's code output and recommends the developer based on it
KR102004486B1 (en) * 2019-01-21 2019-07-26 주식회사 종달랩 Automated developer capability analysis system using developer's code output
KR102124100B1 (en) * 2019-05-20 2020-06-17 주식회사 글로벌코딩연구소 System for coding education
KR102384717B1 (en) * 2020-11-12 2022-04-11 한국과학기술원 Providing method of hacking platform based on open community and providing system using the same

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120088014A (en) * 2010-09-24 2012-08-08 한국과학기술원 Learning assessment system and method using tablet PC, and recording medium for program for the same
KR101176718B1 (en) * 2010-05-07 2012-08-28 유용진 The public contest or mediation system and methods for resources, knowledge information and creative ideas on the network based

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101176718B1 (en) * 2010-05-07 2012-08-28 유용진 The public contest or mediation system and methods for resources, knowledge information and creative ideas on the network based
KR20120088014A (en) * 2010-09-24 2012-08-08 한국과학기술원 Learning assessment system and method using tablet PC, and recording medium for program for the same

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
카탈로그:다음까페 *
카탈로그:다음까페*
카탈로그:티스토리 *
카탈로그:티스토리*

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180104789A (en) * 2017-03-13 2018-09-27 서울대학교산학협력단 The information infrastructure supply method of global human resources in construction
KR102073054B1 (en) 2017-03-13 2020-02-05 서울대학교산학협력단 The information infrastructure supply method of global human resources in construction

Also Published As

Publication number Publication date
KR20140108474A (en) 2014-09-11

Similar Documents

Publication Publication Date Title
KR101530878B1 (en) Evaluation and recruit service for programmer
Brooks et al. Undergraduate work placements: an analysis of the effects on career progression
Behrens et al. Corporate entrepreneurship managers’ project terminations: integrating portfolio–level, individual–level, and firm–level effects
Gupta et al. A longitudinal examination of the relationship between team leadership and performance
Bal et al. The role of future time perspective in psychological contracts: A study among older workers
Greer et al. Diverse succession planning: Lessons from the industry leaders
Arzubiaga et al. Entrepreneurial orientation in family firms: New drivers and the moderating role of the strategic involvement of the board
AU774295B2 (en) Recorded medium on which program for displaying skill achievement level, display device, and displaying method
Johnson et al. Exploratory analysis to identify concepts, skills, knowledge, and tools to educate business analytics practitioners
Highhouse Understanding and improving job-finalist choice: The relevance of behavioral decision research
Vui-Yee The impact of strategic human resource management on employee outcomes in private and public limited companies in Malaysia
Windisch et al. Headhunting among extremist organizations: An empirical assessment of talent spotting
WO2013036594A1 (en) Methods and apparatus for evaluating a candidate's psychological fit for a role
TWI575472B (en) Online learning system, skill evaluation method thereof, and storage media storing the method
Jones Career commitment of nurse faculty
Strobl et al. Entrepreneurial leadership in Austrian family SMEs: A configurational approach
Mokhlis et al. Predicting Malaysian university students’ intent to pursue retailing career: Applicability of theory of planned behavior
Kamarudin et al. Conceptualization of Entrepreneurial Training Model for Family Business SMEs in Malaysia
Agarwal et al. The evolution of internal employer branding and employee engagement: The temporal role of internal social media usage
Umirzakov et al. Human resource managemnt and employee turnover in kazakhstan’s companies
Strauss et al. Demographics, individual value structures, and diversity attitudes in the United Kingdom
US20140372331A1 (en) Methods and apparatus having applicability to succession planning
Cortner et al. Institutional limits to national public planning for forest resources: The resources planning act
Appelhans et al. From" Leaky Pipelines" to" Diversity of Thought": What Does" Diversity" Mean in Engineering Education?
Nicholas et al. Assessing the readiness of building diplomates for the South African construction industry

Legal Events

Date Code Title Description
AMND Amendment
E601 Decision to refuse application
AMND Amendment
E90F Notification of reason for final refusal
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180417

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190515

Year of fee payment: 5