정해진 목적에 따라서 동작하는 완성된 프로그램을 개발하는 것을 요구하는 코딩 테스트 유형
알고리즘 코딩 테스트
- 요구사항에 맞는 하나의 모듈 개발
- 시간 복잡도와 공간 복잡도 분석
개발형 코딩 테스트
- 완성도 높은 하나의 프로그램을 개발
- 모듈을 적절히 조합하는 능력 요구
일부 기업은 해커톤을 통해 채용을 진행함
해커톤(Hackathon) : 단기간에 아이디어를 제품화하는 프로젝트 이벤트
개발형 코딩 테스트는 분야에 따라 상세 요구사항이 다를 수 있음
분야에 상관없이 꼭 알아야 하는 개념과 도구도 학습해야 함
import requests
target = "http://google.com"
response = requests.get(url=target)
print(response.text)
<!doctype html><html itemscope="" itemtype="http://schema.org/WebPage" lang="en"><head><meta content="Search the world's information, including webpages, images, videos and more. ...
REST(Representational State Transfer)는 각 자원(resource)에 대하여 자원의 상태에 대한 정보를 주고받는 개발 방식을 의미함
REST 구성 요소
- 자원 (Resource) : URI를 이용
- 행위 (Verb) : HTTP 메서드 이용
- 표현 (Representational) : payload 이용
예제
" 사용자 회원 등록을 하고 싶습니다.
아이디는 abcd로 비밀번호는 1234로 설정하고 싶어요. "
- 자원 : 사용자
- 행위 : 회원 등록
- 표현 : 아이디는 abcd로 비밀번호는 1234로 설정
- URI : https://www.example.com/users
- HTTP Method : POST
- Payload : {"id": "abcd", "password": "1234"}
{
"id": "abcd",
"password": "1234",
"age": 20,
"hobby": [
"programming",
"baking"
]
}
import json
# 사전 자료형(dict) 데이터 선언
user = {
"id": "abcd",
"password": "1234",
"age": 20,
"hobby": ["programming", "baking"]
}
# 파이썬 변수를 JSON 객체로 변환
json_data = json.dumps(user, indent = 4)
print(json_data)
{
"id": "abcd",
"password": "1234",
"age": 20,
"hobby": [
"programming",
"baking"
]
}
import json
# 사전 자료형(dict) 데이터 선언
user = {
"id": "abcd",
"password": "1234",
"age": 20,
"hobby": ["programming", "baking"]
}
# JSON 데이터로 변환하여 파일로 저장
with open("user.json", "w", encoding="utf-8") as file:
json_data = json.dump(user, file, indent = 4)
{
"id": 1,
"name": "Leanne Graham",
"username": "Bret",
"email": "Sincere@april.biz",
(생략)
}
[
{
"id": 1,
"name": "Leanne Graham",
"username": "Bret",
"email": "Sincere@april.biz",
(생략)
},
{
"id": 9,
"name": "Glenna Reichert",
"username": "Delphine",
"email": "Chaim_McDermott@dana.io",
(생략)
}
]
import requests
# REST API 경로에 접속하여 응답(Response) 데이터 받아오기
target = "https://jsonplaceholder.typicode.com/users"
response = requests.get(url=target)
# 응답(Response) 데이터가 JSON 형식이므로 바로 파이썬 객체로 변환
data = response.json()
# 모든 사용자(user) 정보를 확인하며 이름 정보만 삽입
name_list = []
for user in data:
name_list.append(user['name'])
print(name_list)
['Leanne Graham', 'Ervin Howell', 'Clementine Bauch', 'Patricia Lebsack', 'Chelsey Dietrich', 'Mrs. Dennis Schulist', 'Kurtis Weissnat', 'Nicholas Runolfsdottir V', 'Glenna Reichert', 'Clementina DuBuque']
# 모든 사용자(user) 정보를 확인하며 사용자 별 휴대폰 번호 정보 저장
phone_list = []
for user in data:
phone_list.append((user['name'], user['phone']))
print(phone_list)
[('Leanne Graham', '1-770-736-8031 x56442'), ('Ervin Howell', '010-692-6593 x09125'), ('Clementine Bauch', '1-463-123-4447'), ('Patricia Lebsack', '493-170-9623 x156'), ('Chelsey Dietrich', '(254)954-1289'), ('Mrs. Dennis Schulist', '1-477-935-8478 x6430'), ('Kurtis Weissnat', '210.067.6132'), ('Nicholas Runolfsdottir V', '586.493.6943 x140'), ('Glenna Reichert', '(775)976-6794 x41206'), ('Clementina DuBuque', '024-648-3804')]