Cohe

2024년 8월 넷째주 회고록 본문

일상 이모저모

2024년 8월 넷째주 회고록

코헤0121 2024. 8. 25. 16:40
728x90

 

 

8월 취준 회고록

들어가며

안녕하세요. 이번 포스트에서는 8월 한 달간의 취준 기간을 되돌아보며 저의 경험과 생각들을 정리해보고자 합니다. 

스타트업 면접

스타트업 면접을 보았지만, 아쉽게도 불합격하였습니다. 직무가 달라서 크게 도움이 되지 않았어요.

아무래도 스타트업이니까 주말 출근과 야근이 잦다고 이야기 들었고 연봉은 대외비로 딱히 답변받지 못했습니다. 저는 인턴 면접으로 진행했습니다!

1. 주로 서버 쪽을 하시는 것 같은데 프론트엔드 과제를 하신 이유가 있나요? 
2. 스프링으로 과제를 해주신 이유는 무엇인가요?

3. 스프링의 서블릿 구조에 대해 알고 계신 것을 설명해 주실 수 있나요?

4. 컨트롤러, DTO, Entity 등을 나누는 이유에 대해 설명해 주실 수 있나요?

5. 데이터 가공을 서버에서 하는 게 좋을까요, 클라이언트에서 하는 게 좋을까요?

6. 서버는 어떤 패턴으로 패키지 구조를 나누셨나요?

7. 인프라 설정은 잘 하시나요?

8. 데이터베이스는 무엇을 사용하셨나요? NoSQL에 대해 알고 계신가요?

9. 테스트 코드를 작성하지 않은 이유가 있나요?

10. 프레임워크나 라이브러리 선택 시 고려사항은 무엇인가요?

11. 새로운 프레임워크나 라이브러리를 적용할 때 어떤 방식으로 접근하시나요?

12. Next.js를 선택한 이유와 장점은 무엇인가요?

13. 자바스크립트 숙련도를 어느 정도로 평가하시나요? 가장 약한 부분은 어디인가요?

14. 스프링과 Node.js의 차이점은 무엇이라고 생각하시나요?

15. 스프링에 대한 본인의 깊이는 어느 정도라고 생각하시나요?

16. 5년 후, 10년 후 어떤 직무를 하고 싶으신가요?

17. 대기업에 지원하지 않은 이유는 무엇인가요?

중소기업 면접

해당 기업을 합격하며 입사하기로 했습니다.

사실 해당 기업 면접을 응시할 때, 앞선 면접자의 면접이 길어지며 15분정도 대기를 했습니다. (예상하기론 앞 면접자는 1시간 넘겨서 면접을 본 듯 합니다.) 

그래서 걱정이 많았는데 이게 웬걸.......................... 저는 20분 보더니 나가라길래
짱나서.............. 떨어졌구만 ㅡㅡ 하고 학원에 갔는데
합격했답니다...................... 진짜 의문입니다..................... 진짜 왜지

1. Q: 인천이 너무 멀지 않나요? 어떻게 오셨어요?
   A: 2시간 반 통학 경험이 있어서 멀다고 생각하지 않습니다. 필요하다면 자취할 수 있습니다.

2. Q: 2023년 8월 이후에는 어떤 걸 하고 계세요?
   A: 2024년 2월까지 졸업 프로젝트를 마무리하고, 3월부터 교육을 받으며 포트폴리오를 쌓고 있습니다.

3. Q: 직전 연봉 3천만 원은 어디서 받은 연봉이에요?
   A: 게임 업체에서 받았습니다.

4. Q: 희망 연봉은?
   A: 이전과 비슷하거나 좀 더 높으면 좋겠습니다.

5. Q: 학원에서 맡은 역할과 하고 있는 일에 대해 설명해 주세요.
   A: 스프링 부트 백엔드 위주로 CTO 역할을 맡았고, MVC 패턴 적용, 회원 관리, JWT 보안 설정 등을 담당했습니다.

6. Q: 스프링 버전을 알고 계세요?
   A: 3.2.5 버전을 쓰고 있고, 현재 3차 프로젝트에서는 3.3.1 버전을 사용하고 있습니다.

7. Q: MVC에 대한 개념을 설명해 주세요.
   A: 모델, 뷰, 컨트롤러로 나누어져 있으며, 각 부분의 역할과 통신 방식에 대해 설명했습니다.

8. Q: 자바의 접근 제어자들에 대해 설명해 주세요.
   A: 퍼블릭, 프라이빗, 디폴트, 프로텍티드에 대해 설명했지만 일부 개념이 헷갈린다고 했습니다.

9. Q: 오버로딩과 오버라이딩에 대한 개념을 설명해 주세요.
   A: 오버로딩은 같은 메서드지만 매개변수가 다른 것, 오버라이딩은 부모에서 상속받은 메서드를 자식이 다르게 사용하는 것이라고 설명했습니다.

10. Q: 컬렉션 프레임워크에 대해 설명해 주세요.
    A: 실제 사용 예시를 들어 설명했습니다. 예를 들어, Set을 사용해 관리자 권한 관리, ArrayList를 사용해 동적 확장 등을 언급했습니다.

11. Q: HTTP 메소드들에 대해 아는 대로 설명해 주세요.
    A: GET, POST, PUT, DELETE에 대해 각각의 용도와 사용 방법을 설명했습니다.

12. Q: 정규화에 대해 설명해 주세요.
    A: 1차, 2차, 3차 정규화 등에 대해 설명하고, 정규화의 목적(삽입, 삭제, 갱신 이상 현상 제거)에 대해 언급했습니다.

13. Q: DDL, DML, DCL에 대해 설명해 주세요.
    A: 각각의 의미와 용도에 대해 설명했지만, 일부 개념에 대해 혼란이 있었습니다.

14. Q: 영어 실력은 어떠신가요?
    A: IM 정도라고 답변했지만, 실제 영어 면접에서 실력이 약간 아쉬웠다고 들었습니다 (의사소통에 문제는 없는 정도...)

15. Q: 개인 어필이나 하실 얘기 있나요?
    A: 자바와 AI 개발에 대해 질문했습니다.

코스닥 상장사 코딩테스트

IT 업계가 아니어도 알만한 코스닥 상장사의 코딩테스트를 치렀습니다. 난이도가 상당히 높았고, 결과는 아직 안나왔습니다.

저 포함 서류 합격자가 20~30명 정도 되는 것 같았고 주말 오전에 시험을 치뤘습니다..

코딩 테스트
 - 주어진 시간 : 2시간 30분
 - 체감 난이도 : 프로그래머스 기준으로 레벨 2~3 정도
 - 문제 출처 : 프로그래머스

코테 문제 유형
- 비밀 유지 각서를 써서 자세한 사항은 비공개로 유형만 알려드립니당..

백트래킹 문제: 주어진 조건에 따라 가능한 모든 조합을 찾는 문제, 재귀 함수를 이용한 완전 탐색 방식으로 해결
그리디 알고리즘 문제: 거리 계산 문제, 최소한의 이동으로 목표를 달성하는 최적해를 찾는 문제
시뮬레이션 문제: 주어진 규칙에 따라 시스템의 상태 변화를 시뮬레이션하는 문제

 

취준을 마치며....

사실 코테를 과감히 포기하고 임한거라 연봉이 높지 않거나 낮은 곳 위주로 많이 지원을 했는데, 질문들의 수준이 낮아서 실망감이 컸습니다. (부모님 두 분 다 살아계시냐는 등의 질문들..) 그러다 연봉이 높고 조건이 좋은 곳 위주로 넣으면 금방 탈락되더군요.

스타트업을 많이 넣어보기도 했는데, 제가 면접 본 스타트업 중 한 군데는 지원자가 N명이라며 으스대는 걸 듣거나, 정말로 신입을 뽑을 생각인지 의문인 곳이 많더라고요.

이 과정을 반복하면서 CS 공부의 빈칸을 찾고 메꾸며 무엇을 중요시 해야할지 알아가는 과정이었습니다. 다양한 실무자와 함께 대화할 수 있는 기회였고, 그 동안 스스로의 고생을 치하하며 여행 한 번을 다녀오려고 합니다.

 

프로젝트

푸딩 캠프 프로젝트 첫 주차 후기

푸딩 캠프 프로젝트의 첫 주가 마무리되었습니다. 프로젝트 인원은 저를 포함하여 6명(FE 2명, BE 4명)의 대규모 팀으로 시작했습니다. 첫 주 동안 많은 일들이 있었는데, 주요 활동과 배운 점을 정리해보겠습니다.

주요 활동

  • 투표 SNS 컨셉으로 서비스 명 결정
  • GitHub 레포지토리 생성
  • 기술 스택 선정
  • 팀 협업 툴 선정 및 설정
  • 자료 정리 및 문서화
  • 4~5회의 팀 회의 진행

배운 점

  1. 비대면 팀 프로젝트에서의 문서화 중요성: 모든 내용을 텍스트로 정리하여 한 번에 확인할 수 있게 하는게 비동기식이 된다고 생각했어요
  2. 프로젝트 방법론의 유연성: 때에 따라서는 워터폴 방식이 더 효과적일 수 있다는 점을 깨달았습니다.
  3. 팀원 간 의견 조율의 어려움: 서로 생각하는 방향성이 크게 다를 때 프로젝트 진행이 매우 어려워질 수 있습니다.
  4. 초기 회의 시간의 중요성: 설계 단계에서의 시간 투자가 프로젝트 전체에 큰 영향을 미칩니다.
  5. 협업 명세의 중요성: 기술적인 논의보다 협업 방식에 대한 명확한 합의가 더 중요할 수 있습니다.

개인적인 기여

  • Notion을 활용한 문서 정리 (팀의 의견으로 다른 툴로 변경)
  • Excel을 이용한 회의록 사전 작성
  • 적극적인 의견 제시

처음은 Notion 사용했으나, 팀원들의 익숙도 문제로 다른 툴을 사용하게 되었습니다. 아쉬웠지만, 팀 프로젝트에서는 다수의 의견을 따르는 것이 중요하다고 판단하여 의견에 동조했습니다.

 

더 조은 아카데미 신촌점 3차 프로젝트

3차 프로젝트는 일주일만에 여러 번의 변경 과정을 거쳤습니다. 프로젝트 변경 과정을 간략히 정리해보겠습니다.

1. 초기 계획: Do-Tori (Todo SNS)

처음에는 'Do-Tori'라는 이름으로 Todo 기능이 있는 SNS를 기획했습니다. 하지만 기업 멘토링 결과, 다음과 같은 피드백을 받았습니다:

  • 핵심 기능의 명확성 부족
  • 단순 게시판 이상의 차별점 필요
  • SNS와 Todo 리스트의 결합이 불명확
  • 관리자 기능의 생략

2. 첫 번째 변경: SNS 중심으로 전환

멘토링 피드백을 반영하여 Todo 기능을 제거하고 SNS에 초점을 맞추기로 했습니다. 주요 변경사항은 다음과 같습니다:

  • 게시물 조회수, 리트윗, 인용 리트윗 기능 추가
  • 관리자 페이지 구현 (신고 관리, 게시물 삭제 등)
  • Next.js 사용의 타당성 검토

3. 두 번째 변경: 타로/사주 사이트

팀 내부 논의 결과, 완전히 새로운 방향으로 전환하기로 결정했습니다:

  • 타로와 사주 관련 서비스 제공
  • 실제 운영 경험을 바탕으로 한 가격 정책 수립
  • Google AdSense를 활용한 수익 모델 구상

4. 세 번째 변경: Slack 클론 코딩

프로젝트 발표와의 적합성을 고려하여, 최종적으로 Slack 클론 코딩으로 방향을 전환했습니다:

  • 인프런의 "Slack 클론 코딩[백엔드 with NestJS + TypeORM]" 강의 참고
  • ERD 및 요구사항 명세서 설계
  • 추가 기능: 프로젝트 관리 페이지, 칸반보드, 캘린더 등
  • 관리자 기능 및 광고 시스템 구현
  • 구독권 모델 도입 (워크스페이스 개수 제한, 파일 업로드 용량 제한 등)

5. 최종 결정: 2NY 프로젝트

저의 취업 성공으로 인해, 최종적으로 2차 프로젝트였던 2NY로 회귀하기로 결정했습니다. 이 결정은 팀의 상황 변화를 반영한 것으로, 기존에 작업했던 내용을 활용하면서도 새로운 도전을 할 수 있는 기회가 될 것입니다.

프로젝트 변경 과정에서 얻은 교훈

  1. 유연성의 중요성: 빠르게 변화하는 상황에 적응하는 능력을 기를 수 있었습니다.
  2. 팀워크와 의사소통: 여러 번의 방향 전환 과정에서 팀원 간의 소통과 합의가 중요했습니다.
  3. 피드백의 가치: 외부 멘토링과 내부 평가를 통해 프로젝트의 실현 가능성과 가치를 지속적으로 검토했습니다.
  4. 실용적 접근: 최종적으로 팀의 상황과 역량에 맞는 프로젝트를 선택함으로써 실질적인 결과물을 만들어낼 수 있게 되었습니다.

이러한 변화와 도전을 통해, 우리 팀은 실제 개발 현장에서 발생할 수 있는 다양한 상황에 대처하는 능력을 키웠습니다. 2NY 프로젝트를 통해 이전의 경험들을 종합하여 더 나은 결과물을 만들어낼 수 있을 것으로 기대합니다.

일상

이번엔 일상의 이야기를 과감히 생략하려고 합니다..

이미 한 번 썼는데 날아갔거든요ㅠㅠ 두 번쓰기 번거로워잉

마치며

8월 한 달간의 취준 기간을 되돌아보며, 많은 것을 배우고 성장할 수 있었습니다. 앞으로도 꾸준히 노력하며 제 꿈을 향해 나아가겠습니다.  응원과 조언 항상 감사드립니다.

'일상 이모저모' 카테고리의 다른 글

2024년 9월 셋째주 회고록  (0) 2024.09.20
2024년 8월 다섯째 주 회고록  (2) 2024.08.31
20240828 후배님과 커피챗  (1) 2024.08.28
2024년 8월 셋째주 회고록  (0) 2024.08.18
2024년 8월 둘째 주 회고  (0) 2024.08.11