본문 바로가기

CS/기술 면접 대비9

[백엔드 기술 면접] #2 Reactive Programming #2 Reactive ProgrammingQ. Flux와 Mono의 차이에 대해서 설명해보아라.A. Mono는 오직 ‘0개 또는 하나의 데이터항목 생성하고 이 결과가 생성되고 나면 스트림이 종료되면 결과 생성을 종료합니다. Mono를 사용하여 비동기적으로 결과를 반환하면 해당 결과를 구독하는 클라이언트는 결과가 생성될 때까지 블로킹하지 않고 다른 작업을 수행할 수 있습니다. Mono의 연산자들은 버퍼 중복, 값비싼 동기화 작업 등이 생략되어 Flux보다 가볍습니다. 반면에 Flux는 여러 개의 데이터 항목를 생성하고 스트림이 종료되면 결과 생성을 종료합니다. Q. 블로킹 vs 논블로킹과 동기 vs 비동기의 차이에 대해서 설명해보아라.비동기 프로그래밍에서 발생할 수 있는 문제점은 무엇이 있을까?A. 블로킹.. 2024. 11. 6.
[백엔드 기술 면접] #1 DB와 Docker #1 DB와 DockerQ. NoSQL DB와 SQL DB의 차이점은? 각각 어느 상황에서 사용할 수 있을까? 그래프 종류별(그래프, key-value, 관계형 등)로 예시를 들어 설명해보아라.A. SQL DB는 스키마 기반의 테이블 구조를 가지고 있으며 ACID 특성을 보장하며, 금융 시스템과 같이 데이터 무결성과 트랜잭션 관리가 중요한 경우 사용됩니다. 예로는 MySQL, PostgreSQL, Oracle이 있습니다. NoSQL DB는 스키마가 유연하고 대규모 데이터 분산 저장 및 처리에 최적화되어 있으며, BASE 특성을 가집니다. 키-값 저장소는 Redis, DynamoDB가 있으며, 캐싱과 세션 관리에 사용됩니다. 도큐먼트 저장소는 MongoDB, CouchDB가 있으며, 유연한 스키마가 필요한.. 2024. 11. 6.