Post

2025-04-18-TIL

Today I Learned

오늘은 토스증권에 지원했다. 이력서는 토스코어에 지원한 내용과 거의 동일하다. 대규모 채용이라서 6개월 이내에 한 번 더 지원할 수 있다는 내용을 보고 지원을 결심하게 되었다. 🙏

캐시는 캐시로만 사용하자

Today I Interview

CAP 정리에 대해서 알고 계신가요?

CAP 정리는 분산 데이터베이스 시스템이 CAP 중 2개의 속성만을 제공할 수 있다는 이론입니다. CAP 정리에 따르자면, 일관성(Consistency), 가용성(Availability), 분할 내성(Partition Tolerance) 등 3가지 속성을 모두 만족하는 분산 데이터베이스 시스템은 존재하지 않습니다.

각 속성에 대해서 설명해주시겠어요?

  • 일관성(Consistency) 은 모든 클라이언트 요청은 어느 노드에 연결되어도 같은 데이터를 볼 수 있음을 의미합니다.
  • 가용성(Availability) 은 노드 일부에 문제가 발생하여도 시스템은 클라이언트의 모든 요청에 유효한 응답을 전해줄 수 있어야 함을 의미합니다.
  • 분할 내성(Partition Tolerance) 은 노드 사이에 통신이 불가능한 상황(파티션)에서도 시스템이 계속 동작한다는 것을 의미합니다.

각 속성의 조합을 예시와 함께 설명해 주실 수 있나요?

3개의 분산된 데이터베이스가 존재한다고 가정해 보겠습니다. 해당 분산 데이터베이스 시스템에서는 특정 서버에 쓰기 작업이 발생하면 나머지 서버에 데이터가 전파됩니다. 이때, 만약 A 파티션(1대의 노드), B 파티션(2대의 노드)으로 네트워크가 분할되었다면 이때 파티션 간 노드들은 서로 통신할 수 없기 때문에 데이터 전파가 불가능합니다.

CA 시스템은 일관성과 가용성을 지원하며 분할 내성을 희생합니다. 하지만, 통상적으로 네트워크 장애는 피할 수 없는 일로 여겨지므로 분산 시스템에서 분할 내성은 희생하기 어렵습니다. 따라서 실세계에 CA 시스템은 존재하지 않습니다.

그러면 CP 혹은 AP 시스템이 현실적인 대안이 될 수 있는데요. 파티션이 발생한 상황에서 CP 시스템은 파티션이 해결되기 전까지 다른 데이터베이스의 연산을 중단시켜 일관성을 지키고 가용성을 희생합니다.

반면, AP 시스템은 파티션 문제가 발생해도 읽기 및 쓰기 작업을 중단하지 않습니다. 이 경우 일관성은 희생되지만 파티션 문제가 해결되는 경우 동기화 작업을 수행하여 최종적인 일관성을 보장할 수 있습니다.

추가 학습 자료

Today I Read

Articles

📰 ‘일 잘한다’ 칭찬 받는 사람들의 공통점

구분내용
✍️ 요약‘일 잘한다’ 칭찬 받는 사람들의 특징은 다음과 같다.

• 말과 생각을 퍼즐 조각처럼 구조적으로 하자.
  · 결론부터 말한다.
  · 근거를 구조화해서 설명한다.
  · 프레임워크로 우선순위를 정한다.

• 숙제를 준 사람과 자주 얼라인하고 진행 상황을 솔직하게 공유하자.
  • [WHY] 완벽하지 않은 상태에서 상사를 만나기 부담스러운데요?
    · 상사가 내 아웃풋을 예상할 수 있다.
    · 상사와 내가 한 편이 된다.
    · 숙제를 준 상대방과 신뢰를 쌓을 수 있다.
  • [HOW] 부족한 상태에서 상사와 만나는 법
    · 얼라인 미팅은 효과적으로 진행해야 한다.
    · 상사나 클라이언트로부터 받은 숙제를 뜨거운 감자처럼 생각한다.
    · 내가 부족한 점을 확실히 소통하고 도움을 요청한다.
💡 배운 점상사의 입장에서 중요하게 생각하는 점들을 좀 더 이해하게 되었다.그러면서도 리더가 되었을 때 솔직하게 말할 수 있는 분위기를 조성해야겠다고 생각했다.
🔍 더 알아보고 싶은 것 
🧠 내 생각• 최근에 읽었던 일 잘하는 사람은 논어에서 배운다 책에서 다루었던 내용과 거의 유사하다.
• 진행 상황에 대해서 솔직하게 공유를 하자는 내용에서 팀 분위기에 따라 말하기 어려운 경우도 종종 생기곤 했다. 하지만 당장 껄끄러움을 무릎쓰고 말을 하더라도 솔직하게 공유하고 일정을 재수립하는 것이 훨씬 중요하다.
✅ 실천 아이디어• 면접 대비를 하면서 이렇게 생각하고 말하도록 답안을 작성해보기

Books

📖 제품의 탄생 / 오이카와 다쿠야, 소네하라 하루키, 고시로 구미코

구분내용
📅 읽은 기간2025. 4. 16
✍️ 한 줄 요약 
💬 인상 깊은 문장 
💡 배운 점 / 느낀 점1장까지는 쉽게 이해가 되는 내용이지만, 그 이후에는 전문용어나 기법이 등장하면서 엔지니어 입장에서 바로 읽기에는 한 눈에 들어오는 내용은 아닌 것 같다. 하지만 모두 어디에선가 한 번쯤 들어본 용어들을 실용성 있는 사례를 들어 잘 설명하고 있다.
⭐️ 별점 (1~5)⭐️⭐️⭐️⭐️
🔁 다시 읽고 싶은가?O → 용어집이나 사전처럼 두고두고 꺼내어서 읽고 싶다.
This post is licensed under CC BY 4.0 by the author.