더 많은 도움을 드리기 위해

열심히 포스팅 중입니다!


지나가다 📢 광고 한 번 눌러주시면

더 좋은 글로 보답하겠습니다. 🥰

반응형

기술 면접 준비 13

Spring MVC vs Spring WebFlux - 기술 면접 준비

👋 안녕하세요~ 평비입니다!오늘은 지난 포스팅에 이어서 Spring WebFlux와 Spring MVC를 비교한 포스팅을 준비해봤습니다! 1. 기술 스택 비교 간단하게 보자면, 왼쪽은 Spring WebFlux. 오른쪽은 Spring MVC입니다. 2가지 모두 공통적으로 Spring Boot 기반인데, 특이한 점으로는 Reactor도 공통입니다. 이 뜻은 Servlet 스택인 Spring MVC에서도 Reactor를 사용할 수 있는 것입니다. ✋ 다만, Servlet 스택 자체가 Blocking IO 방식이기 때문에, Reactor를 사용한다고 해도 Non-blocking IO 방식을 제대로 사용하지는 못한다네요. Servlet 스택에서는 익숙한 기술들이 보입니다. Tomcat과 같은 다양한 Serv..

AWS 클라우드 인프라 - 기술 면접 준비

👋 안녕하세요~ 평비입니다!저는 최근에 회사에서 직무를 변경했는데요. 3년 가량의 DX, CAM 웹 개발 직무 경험을 쌓고, 더 큰 그림을 보기 위해서 Cloud Architect 직무로 전환을 했습니다. 이에 따라, 회사에서 직무 온보딩을 하며 배운 것을 정리해보고자 합니다. 1. 토폴로지 (Topology)시스템 구성 요소(리전, AZ, VPC, 서브넷, 라우팅경로 등)가 어떻게 배치되고 연결되는지를 시각화한 지도토폴로지를 먼저 그려둬야 직관적으로 트래픽의 흐름, 장애 지점, 보안 경계, 확장 포인트를 파악할 수 있다. 2. 주소 체계2-1. CIDR (Classless Inter-Domain Routing)10.0.0.0/16 과 같이 네트워크 IP + 네트워크 비트를 슬래시로 구분한 표기법위..

Reactive Programming과 Spring WebFlux - 기술 면접 준비

👋 안녕하세요~ 평비입니다! 🤔 Spring WebFlux라는 게 대용량 트래픽 처리에 좋다더라~ 요즘은 WebFlux 많이 쓴다더라~ 이런 이야기를 들었습니다. 그래서, 이 WebFlux라는 게 무엇일지? 알아봤습니다. 1. Spring WebFlux Spring MVC가 전통적인 웹 애플리케이션의 강자라면, Spring WebFlux는 현대 웹의 요구사항, 즉 고성능, 확장성, 그리고 실시간 데이터 처리에 대응하기 위해 등장한 강력한 대안입니다. 이는 Reactive Programming(반응형 프로그래밍) 패러다임을 기반으로 구축됩니다. Spring MVC와 같은 블로킹 방식과는 완전히 다른 접근 방식이라고 보시면 됩니다. Spring WebFlux를 더 알아보기에 앞서, Reactive Pr..

AWS와 컨테이너 (ECR, EC2, Fargate, ECS, EKS) - 기술 면접 준비

👋 안녕하세요~ 평비입니다!오늘은 AWS와 컨테이너에 대한 주제로써, AWS에서 사용되는 서비스인 ECR, EC2, Fargate, ECS, EKS에 대해서 나름(?) 자세하게 준비한 포스팅을 준비해봤습니다! 💡 ECR (Elastic Container Registry)컨테이너 이미지를 손쉽게 저장, 관리 및 배포할 수 있게 해주는 완전 관리형 컨테이너 이미지 레지스트리ECR에 저장된 이미지를 바탕으로 컨테이너를 생성하고, 이것을 ECS, EKS에서 컨트롤하는 형태로 활용 특징AWS Code Deploy, Code Pipeline과 연계 가능 (AWS의 다른 개발 도구들과의 통합이 용이)라이프 사이클 정책을 통해 이미지의 수명 주기를 관리 가능 (예: 90일 이상 된 이미지 삭제, 최신 5개 이미지만..

ECS vs EKS(쿠버네티스)를 왜 사용할까? - 기술 면접 준비

면접관 : 단일 클라우드 환경에서, ECS가 아닌 EKS를 사용하셨네요.ECS가 비용도 없고, 관리도 편할텐데 어떤 이유로 EKS를 선택하셨을까요? 💡 개념 정리1. EKS (Elastic Kubernetes Service)쿠버네티스 기반의 컨테이너 오케스트레이션 서비스. 유연성, 확장성, 이식성 및 커뮤니티 지원이 강점이지만, 설정 및 관리 복잡성이 높고 AWS의 쿠버네티스 관리 비용 (시간당 $0.1, 월 $73)이 부과됨. 2. ECS (Elastic Container Service)AWS 자체 컨테이너 오케스트레이션 서비스. 관리 편의성, 비용 효율성이 장점. AWS 서비스와의 통합이 용이하지만, 쿠버네티스에 비해 유연성, 이식성이 떨어짐. 클러스터 구성 비용은 없음. 🍼 왕초보ECS와 E..

동기/비동기와 블로킹/논블로킹 - 기술 면접 준비

👋 안녕하세요~ 평비입니다!오늘은 많이 혼동하시는 동기/비동기와 블로킹/논블로킹 개념에 대해서 나름(?) 자세하게 준비한 포스팅을 준비해봤습니다! 쉽게 표현하자면 내가 일을 시키는 입장이라고 해볼게요.블로킹/논블로킹은 내 일이 중단되는지동기/비동기는 시킨 일의 상황을 신경쓰는지 1. 블로킹/논블로킹 위의 도식으로 설명드리겠습니다. 왼쪽 동작은 송금, 오른쪽 동작은 비밀번호 찾기 상황입니다. 송금 프로세스는 내부적으로 잔고 확인과 이체 로직이 있습니다. 이 로직들은 블로킹 로직입니다. 송금 프로세스 입장에서, 잔고 확인을 하는 동안 다음 동작이 중단되고, 이체를 하는 동안 다음 동작이 중단됩니다. '송금 프로세스 내부에 블로킹 로직이 있다'고 표현할 수 있습니다. 비밀번호 찾기 프로세스에서 인증 번호 ..

동시성과 병렬성 - 기술 면접 준비

👋 안녕하세요~ 평비입니다!오늘은 많이 혼동하시는 동시성과 병렬성 개념에 대해서 나름(?) 자세하게 준비한 포스팅을 준비해봤습니다! 이 주제에 대해서, 설명을 하기 위해 지난 포스팅에 다뤘던 그림을 가져왔습니다. 백엔드 서버에 동시에 100개의 요청이 들어왔을 때, 이걸 어떻게 처리할까요?이 시스템은 동시성이 보장된 시스템일까요?또, 병렬성이 보장된 시스템일까요? 1. 개념우선, 동시성과 병렬성의 개념부터 짚고 넘어가봅시다. 간단해요!🟨 동시성 (Concurrency)동시에 여러 작업을 “처리 중”인 상태 (꼭 동시에 “수행”되지 않아도 됨)시간 분할 (싱글코어에서도 가능)주로 I/O 바운드 문제에 대응예시 : 하나의 CPU가 요청 A, B, C를 빠르게 번갈아가며 처리 🟦 병렬성 (Paralle..

트랜잭션 락 - 기술 면접 준비

👋 안녕하세요~ 평비입니다!오늘은 지난 시간에 이어 트랜잭션 락 개념에 대해서 나름(?) 자세하게 준비한 포스팅을 준비해봤습니다! 지난 번 트랜잭션 격리 수준은 트랜잭션이 데이터 읽기(조회)를 할 때, 어떻게 할 것인가? 에 대한 개념이었습니다.반면, 이번에 다루는 트랜잭션 락은 트랜잭션이 데이터 쓰기(갱신)를 할 때, 어떻게 할 것인가? 에 대한 개념입니다! https://gatchbee.tistory.com/66 갱신 손실(lost update) 이슈는 어떻게 방지할까요? - 기술 면접 준비면접관 : A 금융 프로젝트에서 송금 기능을 구현하셨는데요.송금과 동시에 자동 이체로 돈이 빠져나가면 잔고 정합성이 맞지 않는 문제가 있을텐데,이 이슈는 어떻게 방지하셨나요? 📢 문제 상gatchbee.tist..

트랜잭션 격리수준 - 기술 면접 준비

👋 안녕하세요~ 평비입니다!오늘은 트랜잭션 격리수준 개념에 대해서 나름(?) 자세하게 포스팅을 준비해봤습니다! 앞서 포스팅한 송금/자동이체 동시성 이슈 예제를 가지고 설명해보겠습니다. 🍼 왕초보는 잔고를 먼저 확인하고 송금하는 식으로 해결하면 된다고 했습니다. 다만, 위와 같이 잔고를 확인 한 후 송금을 하기 전에 이미 자동이체가 되버렸다면? 그러면 안되겠죠?이는 🍼 왕초보가 트랜잭션을 언급하지 않았기 때문인데요. 잔고 확인과 송금이 하나의 트랜잭션으로 묶여 있다면 일단은 가능한 일입니다.위의 예시대로라면, 두 트랜잭션이 충돌하는 상황인데요. 자동이체 트랜잭션이 시작할 때는 아무런 트랜잭션이 없으니 시작하는데 문제가 없었지만, 송금 트랜잭션이 시작할 때는 자동이체 트랜잭션이 이미 데이터베이스를 조..

갱신 손실(lost update) 이슈는 어떻게 방지할까요? - 기술 면접 준비

면접관 : A 금융 프로젝트에서 송금 기능을 구현하셨는데요.송금과 동시에 자동 이체로 돈이 빠져나가면 잔고 정합성이 맞지 않는 문제가 있을텐데,이 이슈는 어떻게 방지하셨나요? 📢 문제 상황문제 발생 전 잔고 상태A 잔고: 50만원B 잔고: 50만원C 잔고: 80만원총 180만원 -> 동시에 A로 자동이체, B로 송금 문제 발생 후A 잔고: 100만원B 잔고: 100만원C 잔고: 30만원총 230만원 전형적인 갱신 손실 문제입니다.읽고 계산하고 쓰는 과정이 분리되어 있는 상황에서 둘 다 같은 값을 읽고 각자의 계산으로 갱신했을 때, 하나의 결과가 다른 하나를 덮어쓰는 현상. 🍼 왕초보송금과 자동이체가 동시에 일어나면, 잔고가 틀어질 수 있습니다. 이걸 방지하기 위해 잔고를 먼저 확인하고 송금하는 ..

반응형