# 개발자 기술 면접 준비를 위한 문제 구독 서비스

## Introduce

### What
개발자가 되기 위해 또는 새로운 회사로 이직하기 위해 기술 면접 준비는 필수입니다.
많은 분들이 기술 면접을 준비하는 과정에서 조금이나마 도움이 되었으면 하는 마음으로 기술 문제 질문을 메일로 발송해주는 서비스를 구성해보았습니다.

| ![sample.png](sample.png) |
| ------------------------- |

<br>
<br>

### Category
위 서비스는 기술 면접 카테고리를 다음과 같이 분류하였습니다.
- JAVA
  - Java 언어에 대한 질문
  - ex) 가비지 컬렉터에 대해 설명하고, 가비지 컬렉션 과정에 대해 설명해주세요
- SPRING
  - Spring 프레임워크에 대한 질문
  - ex) Spring 프레임워크는 트랜잭션을 어떻게 구현하였는지 설명해주세요
- SERVER
  - 서버 사이드 프로그래밍에 대한 질문
  - ex) 세션이 무엇인지 설명하고, 서버가 여러 대일 때 세션을 어떻게 처리하는지 설명해주세요
- NETWORK
  - 네트워크에 대한 질문
  - ex) 3-Way Handshake에 대해 설명해주세요
- OPERATING_SYSTEM
  - 운영체제에 대한 질문
  - ex) 세마포어(Semaphore)와 뮤텍스(Mutex)의 차이에 대해 설명해주세요
- DATABASE
  - 데이터베이스에 대한 질문
  - ex) 데이터베이스 정규화에 대해 설명해주세요
- PROGRAMMING
  - 프로그래밍 전반에 대한 질문
  - ex) 메모리 구조에 대해 설명해주세요
- DATA_STRUCTURE
  - 자료구조에 대한 질문
  - ex) 해시 테이블(Hash Table)과 시간 복잡도에 대해 설명해주세요
- ALGORITHM
  - 알고리즘에 대한 질문
  - ex) 버블소트, 힙소트, 머지소트, 퀵소트, 삽입소트와 각각의 시간 복잡도에 대해 설명해주세요
- PROBLEM_SOLVING
  - 문제 해결 능력과 관련된 질문
  - ex) 사용자 등록/조회/수정/삭제에 대한 Rest API를 설계해보세요
- CULTURE
  - 문화 적합성과 관련된 질문
  - ex) 만약에 일을 하게 됐을 때 그 팀이 코드 리뷰에 대해 보수적이고 페어를 완강하게 거부하는 곳이라면 어떻게 대처할 것인가요?
- EXPERIENCE
  - 프로젝트 경험과 관련된 질문
  - ex) 인상깊었던 트러블 슈팅 과정이 있으면 얘기해주세요
- PERSONALITY
  - 면접자 개인에 관련된 질문
  - ex) 최근에 읽은 기술 관련 책 이름이 무엇이고 인상깊었던 부분을 얘기해주세요
  
<br>
<br>

### Level
위 서비스는 등급을 다음과 같이 분류하였습니다. 사용자는 등급에 맞는 문제를 받게 됩니다. 
신입과 주니어는 기술적인 내용들이 많이 포함되지만, 시니어는 프로젝트 경험과 주어진 문제 해결 능력이 주를 이룹니다.
- NEW: 첫 직장을 준비하는 신입 개발자
- JUNIOR: 이직을 준비하는 주니어 개발자
- SENIOR: 이직을 준비하는 시니어 개발자

<br>
<br>

### QuizList
- 모든 면접 질문은 기출 문제들 중에서 수집하였습니다. 
- 빈출 문제들 위주로 엄선하여 수집하였고, 직접 등급을 나누었습니다. 
- 제가 Spring, 백엔드 개발자인지라 다른 영역(안드로이드, 프론트엔드, 인공지능 등)에 대한 문제는 수집하지 못했습니다.

<br>
<br>

### How To Use
- 본인의 이메일 및 등급, 원하는 문제의 양, 원하는 요일을 [블로그 댓글](https://mangkyu.tistory.com/200)로 알려주면 사용자 등록을 해줍니다.
- 원하는 요일의 새벽 1시에 원하는 양의 문제가 랜덤으로 발송됩니다.(최소 1, 최대 5, 기본 3문제)
- 원하는 특정 카테고리가 있을 경우 지정하실 수 있습니다.
- 주어진 문제를 해결해나가면 됩니다.

<br>
<br>

## Skill Set
- SpringBoot
- JPA
- Gradle
- ETC ...


## Todo
이 서비스는 아직 매우 초기의 서비스이고, 나아갈 방향이 많이 있는 것 같습니다.
많은 분들께서 찾고 이용해 주시면 다음과 같은 기능들을 계속해서 추가해 나가도록 하겠습니다.
- 즉시 새로운 문제 전송 기능
- 문제에 대한 예시 정답 제공
- 기타 등등

