· 오늘 공부한 것

기술면접 질문 2개 답변하기

최종프로젝트 S.A 작업하기

 

 

· 공부한 내용, 궁금한 내용, 부족한 내용

오늘의 기술면접 질문은 다음과 같다.

  • NoSQL과 RDBMS의 특징과 차이점에 대해서 장, 단점을 들어 설명해 주세요.
  • mvc 패턴에 대해서 설명해 주세요.

우리의 최종 프로젝트는 개발자를 위한 서비스이다. 내일 배움 캠프를 진행하면서 팀원으로 활동을 하다 보니 개발자가 되어서 팀원을 모으는 일은 필수지만 쉽지 않은 일이라는 것을 느꼈다. 그래서 개발자가 프로젝트를 진행할 때 같이 진행할 팀원들을 모을 수 있는 사이트를 생각하게 되었다. 팀원들과 회의해서 나온 프로세스는 사이트에 가입한 유저가 프로젝트에 대한 글을 올리고 해당 글을 다른 유저가 보고 맘에 들면 신청을 할 수 있는 구조이다. 모집글에는 작성자가 원하는 직군의 인원을 설정할 수 있고 무슨 스킬이 필요한지 명시할 수 있다. 또한 모집글에는 마감기한을 설정할 수 있어 모집 중에 신청한 사람을 수락할 수 있고 마감기한이 지났을 때 신청한 사람들의 리스트를 보고 3일 이내에 승인을 해야 한다. 만약에 하지 않는다면 모두 거절처리를 한다.

마이페이지가 있으며 모집글 필터를 할 수 있으며 관심 있는 모집글에 좋아요를 할 수 있다. 또한 관심 있는 유저를 팔로우할 수 있으며 모집글에 댓글을 남길 수 있다. 다른 유저와 실시간 1:1 채팅도 할 수 있다. 이러한 기능들을 생각하고 다음과 같이 ERD를 만들었다.

 

최종프로젝트 ERD

ERD를 만들고 보니 유저와 모집글에 다른 entity들이 많이 연관되어 있었다. 조회를 할 때 많은 DB를 조회해야 할 거 같지만 일단 나눠서 entity를 구성하였다. 나중에 튜터님의 피드백을 받고 변할 수도 있다. 다음으로는 이것을 바탕으로 API명세서를 작성하였다. 예상한 대로 모집글에 대한 API가 많이 나왔다. 그리고 이 모집글을 내가 담당하게 되었다. 아직 구현을 하지 않았지만 쉽지 않은 길이 될 것 같다. 그래도 최종이기 때문에 앞에서 하지 않은 기능들을 구현하면서 배우는 자세로 도전해 보려고 한다. 구조는 이해를 했지만 아직 Image 처리와 페이징, 필터처리등 생각해야 할 부분이 많다. 앞으로 이러한 것들을 진행하면서 트러블슈팅에 대한 부분을 기록할 것이다.

팀원들과 회의로 코드컨벤션, 깃헙전략등까지 정하고 각자 업무를 진행하였다. 그래서 처음 post, postStack, jobLimit에 대한 entity를 작성하였다. 그런데 여기서 처음 트러블이 생겼는데 그것은 jobLimit에서 limit이라는 칼럼이 있는데 이게 query에서 limit을 사용하기 때문에 실행했을 때 DB가 만들어지지 않았다. 처음에 이유를 몰랐지만 알고 나서 칼럼명을 headcount로 바꾸었다. 당연히 될 거라고 생각해서 사소한 문제지만 시간이 꽤 걸렸다. 그래도 경험을 하였기에 좋은 트러블슈팅이었다고 생각한다.

 

 

· 오늘 서칭 한 자료

https://www.whatap.io/ko/blog/173/

 

RDBMS와 NoSQL의 차이

RDBMS와 NoSQL database는 어떻게 다르고, 어떻게 써야 할까요?

www.whatap.io

https://developer.mozilla.org/ko/docs/Glossary/MVC

 

MVC - MDN Web Docs 용어 사전: 웹 용어 정의 | MDN

MVC (모델-뷰-컨트롤러) 는 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴입니다. 소프트웨어의 비즈니스 로직과 화면을 구분하는데 중점을 두고

developer.mozilla.org

 

· 느낀 점

- 이제 최종이라고 생각하니 아직도 많이 부족한데 취업에 대한 걱정도 생긴다.

- 기술면접도 프로젝트를 진행하면서 준비하고 있는데 과연 질문을 받았을 때 나만의 언어로 설명을 할 수 있을지 의문이다. (연습만이 살길!!!)

- 최종프로젝트에서 내가 맡은 부분을 확실하게 하고 싶다. 배운다는 자세이지만 팀원들에게 민폐를 끼치지 말아야 한다.

반응형

+ Recent posts