Retrospective Database Study

데이터베이스 CS 면접 스터디 회고

Posted by Seohyun Park, Aileen on December 09, 2023 · 4 mins read
DATABASE, RETROSPECTIVE

데이터베이스 CS 면접 스터디 회고

JSCODE 에서 진행한 데이터베이스 CS 면접 스터디를 마무리하며, 회고를 작성해보려고 한다.


스터디 진행

스터디는 총 5주간 진행되었으며, 기간은, 11월 9일 ~ 12월 7일이다.

매주 목요일 저녁 8시에 진행되었으며, 1주일에 1개의 주제를 정해서 모의 면접을 진행하였다.

한 팀 당, 총 4 ~ 5명 정도의 인원으로 구성되었으며, 3주차 부터는 랜덤으로 팀이 구성되었다.

미리 정한 주제에 대해서, 각자 공부하고, 공부한 내용을 블로그에 작성하여, 스터디 당일 전 날인, 수요일에 제출하였다.

스터디 당일에는, 각자 작성한 블로그 글을 읽고, 모의 면접을 진행하였다.

스터디 전체 목차

📌 1주차 : 데이터베이스란?

  • 데이터베이스 기본 개념
  • DBMS
  • 데이터베이스와 파일시스템의 차이

📌 2주차 : SQL

  • SQL
  • DDL, DML, DCL, TCL

📌 3주차 : 인덱스

  • Clustered Index, Non-Clustered Index
  • B-Tree 인덱스, 해시 인덱스

📌 4주차 : 이상현상, 정규화

  • Anomaly
  • 함수적 종속
  • 정규화, 반정규화

📌 5주차 : 트랜잭션, 회복

  • Commit, Rollback
  • ACID
  • 트랜잭션 격리수준

스터디 참여하게 된 계기

스터디를 진행하게 된 계기는, 기본적으로, 전공자 수준의 CS - 데이터베이스 지식이 부족하다고 생각했기 때문이다.

현재 경력이 총 2년 가량 되었는데, 여전히, 전공자 수준의 CS 지식이 부족하다고 느꼈고, 그 중에서도, 현재 업무에서 직접적인 연관이 있는 데이터베이스에 대해서, 더 깊게 공부하고 싶었다.

그래서, 데이터베이스 CS 면접 스터디를 진행하게 되었다.

무엇보다도, 최근 Tooning Board 신규 프로젝트를 리딩하면서, DB 설계를 직접 했어야 했는데, 운이 좋게도, 이 스터디에서 배운 개념들을 바탕으로, DB 설계를 진행할 수 있었다.

스터디를 진행하면서 느낀 점

가장 먼저, CS-데이터베이스에 대해서, 자신감을 얻었다.

스터디를 진행하기 전에는, 막연히, 데이터베이스에 대해서, 전공자 수준의 CS 지식이 부족하다고 생각했었다.

하지만, 완벽하진 않더라도, 매주 주제를 정해서, 공부하고, 모의 면접에 참여하면서, 100%는 아니더라도, 70 ~ 80% 정도의 데이터베이스 관련 CS 지식을 얻을 수 있었다.

그리고, 남은 20 ~ 30%의 부족한 지점은 이제, 실제 일하고 부딪히면서, 채워나가면 되겠다고 생각했다.

무엇보다도, 내가 정리한 내용을 다른 사람에게, 설명하고, 질문을 받으면서, 내가 정리한 내용이 정확한지, 부족한 부분이 있는지, 더 깊게 생각해볼 수 있었다.

스터디에서 배운 내용 중 인덱스와 관련해서, 회사에서, 설명할 기회가 생겼었다.

요약하자면, 해당 코드에서는, 인덱스를 사용해야할 것 같은데, 왜 사용하지 않았는지 물어보는 질문을 받았다.

해당 케이스의 경우, row 가 10개 내로 있는 타입 관련된 테이블이었고, 그 경우에는, 인덱스를 걸면 오히려 속도가 더 느려질 수 있다고 설명했다.

스터디에서, 설명했던 내용이라, 회사에서도 자신있게 설명할 수 있었다.


스터디에서, 받았던 피드백

  • Positive Feedback
  1. 실제로 사용한 경험을 바탕으로, 설명하는 것이 좋았으며, 쉽게 자신의 언어로 설명하는 것이 좋았다.

  2. 스터디 초기에는, 사용한 경험 먼저 얘기하고, 개념을 그 뒤에 설명하는 방식이었는데, 점차 두괄식으로 명료하게 설명하는 방식으로 바뀌었다.

  3. 면접관으로 참여시, 질문을 잘 던지는 것이 좋았다.

  • Negative Feedback
  1. 가끔, 답변이, 공격적인, 강한 어조로 들린다.

  2. 당황하면, 두괄식으로 설명하지 못하고, 뒤죽박죽 설명하는 경우가 있다.

  3. 조금 더 Offical한 어조로 답변하는 것이 좋을 것 같다.

정리 ) 스터디에서 받은 피드백을 곱씹어 보면서, 하나 하나 스스로에게, 중요한 피드백이라고 생각했다.

먼저, Positive Feedback 부분은 계속 발전해 나가되, Negative Feedback 부분은, 개선해 나가야겠다고 생각했다.

경상도 말투에 애들러서 말하지 못하는 성격이라, 공격적인 어조나 태도로 보일 수 있을 것 같다.

언제든, 이 부분을 인지하면서, 커뮤니케이션 해야겠다는 생각을 했다.

사실, 스터디에 참여하면서, 해당 개념에 대해 잘 모르면서, 질문과 꼬리 질문을 하는 다른 스터디원을 보면, 살짝 공격적인 어조가 나왔던 것 같다.

그 외에도, 낮은 자세로, 면접에 임해야 한다는 피드백을 받았는데, 이 부분에 대해서도 여전히 동의하기 어렵다.


스터디를 하며, 아쉬웠던 점

신입 혹은 학생들이 많이 참여한 스터디이다보니, 개념들에 대한 깊은 대화가 부족했다.

이건, 아마 내가 적은 경력이지만, 그래도 어느 정도의 경력이 있다 보니, 그런 생각이 들지 않았나 생각이 들었다.

그리고, 실무로 경험하지 않고, 이론상으로만 배우고 질문하는 스터디원들이 많다보니, 책을 그대로 읊는 듯한 분위기도 아쉬웠다.

물론, 이런 스터디도 필요하다고 생각하지만, 개인적으로는, 실무 경험을 바탕으로, 깊은 대화를 나누는 스터디가 더 좋았을 것 같다.

그리고, 종종 스터디원들이, 개념을 잘못 이해하고 질문하거나, 가르치려고 하는 경우가 있었다. 나 또한 그랬을 수도 있다.

이런 상황들에 대한 컨트롤이 조금 힘들지 않나 싶지만, 그래도 주니어들이 참여하는 스터디이니, 이런 점들은 어쩔 수 없는 것 같다.