[DB / JPA] 낙관적 락과 비관적 락
·
면접 준비/DB
비관적 락과 낙관적 락의 차이점 비관적 락(Pessimistic Lock)과 낙관적 락(Optimistic Lock)은 동시성 제어(Concurrency Control) 를 위해 사용되는 두 가지 대표적인 방식입니다.1. 비관적 락(Pessimistic Lock) 비관적 락은 데이터를 수정하는 동안 다른 트랜잭션이 해당 데이터를 변경하지 못하도록 차단하는 방식입니다. 즉, 트랜잭션이 시작되면 즉시 잠금을 걸고, 트랜잭션이 종료될 때까지 다른 트랜잭션이 접근할 수 없도록 하는 방식입니다. 특징 ✅ 장점 • 경쟁이 심한 환경에서도 안전하게 데이터 정합성을 보장할 수 있습니다. • 동시성 충돌이 발생할 가능성이 높은 경우 적합합니다. ❌ 단점 • 잠금이 유지되는 동안 다른 트랜잭션이 대기해야 하므로 성능 저하..
[면접 스터디용 질문 리스트] OS / DB / NETWORK/ MSA
·
면접 준비
OS1. 커널의 역할:커널은 운영체제의 핵심 부분으로 하드웨어와 소프트웨어 간의 중재 역할을 합니다. CPU, 메모리, 디스크, 네트워크 등 시스템 자원을 관리하고, 시스템 콜을 통해 애플리케이션과 하드웨어 사이의 인터페이스를 제공합니다. 또한 프로세스 스케줄링, 메모리 관리, 파일 시스템 관리를 담당하며, 하드웨어에 대한 직접적인 접근을 추상화하여 사용자와 프로그램이 안전하게 자원을 사용할 수 있도록 합니다. 2. 문맥 교환 문제점:문맥 교환은 CPU가 하나의 프로세스에서 다른 프로세스로 전환할 때 발생하는 작업입니다. 지나치게 자주 발생하면 CPU가 작업을 전환하는 데 많은 시간을 소모하게 되어, 실제로 유용한 작업을 처리하는 시간은 줄어듭니다. 이로 인해 성능이 저하되고 응답 시간이 길어지며, 시스..
[면접 스터디용 질문 리스트] JAVA/SPRING/JPA/Redis/ 면접 질문 리스트 10개 씩
·
면접 준비
JAVA객체지향원칙의 OOP와 SOLID에 대해 예시와 함께 설명해주세요답변 :캡슐화객체의 데이터(필드)를 직접 접근하지 못하게 하고, 메서드를 통해서만 접근할 수 있도록 보호하는 개념입니다. 데이터를 보호하고 무결성을 유지할 수 있습니다. 이 방식 뿐만 아니라 접근 제한자, 인터페이스를 사용하여 필드, 메서드, 클래스를 캡슐화 하는 방법도 존재합니다.-> 그럼 접근 제한자로는 어떻게 캡슐화를 할 수 있죠?접근 제한자는 네 가지로 public, protected, default, private로 나눌 수 있습니다. public은 모든 패키지에서 임포트하여 사용할 수 있습니다. protected는 자신이 속한 패키지와 클래스를 상속받은 클래스에서 사용 가능합니다. package는 자신이 속한 패키지에서만 ..
[CS -DB] Index 상식, JPA에서 자동생성하는 Index, Index가 많아지면 생기는 문제
·
면접 준비
데이터베이스 인덱스(Index)란? 인덱스가 많아지면 생기는 문제데이터베이스를 다루다 보면 '인덱스(Index)'라는 개념을 자주 접하게 된다. 인덱스는 데이터 검색 속도를 향상시키는 핵심적인 요소지만, 무분별하게 생성하면 오히려 성능 저하를 초래할 수 있다. 이번 글에서는 인덱스의 의미와 사용해야 하는 경우, 그리고 인덱스가 많아질 때 발생하는 문제까지 논리적으로 정리해 보겠다.1. 인덱스(Index)란?인덱스(Index)는 데이터베이스 테이블에서 특정 컬럼의 값을 빠르게 찾을 수 있도록 도와주는 자료구조이다. 책의 목차와 비슷한 역할을 하며, 특정 데이터를 검색할 때 테이블 전체를 탐색하는 것이 아니라, 인덱스를 통해 빠르게 원하는 데이터를 찾을 수 있다.인덱스의 기본 개념과 종류1) B-Tree (..
[CS 면접 지식 - Network] 전송 계층
·
면접 준비/Network
전송 계층전송 계층에서는 가장 중요한 개념이 TCP와 UDP이다. TCP와 UDP는 매우 중요한 프로토콜이므로 잘 기억해두는 것이 좋다.TCP/UDP의 목적과 특징첫 번쨰로 포트를 통한 프로세스 식별이다. IP주소와 MAC주소는 패킷을 송수신하는 호스트를 특정지을 수 있었다.하지만 사실 패킷의 최종 송수신 대상은 호스트가 아닌 호스트가 실행하는 프로세스이다. 그렇다면 네트워크를 통해 주고받는 패킷은 최종적으로 이러한 프로세스에 전달되어야 한다.이때 필요한 것이 포트 번호이다. 네트워크 패킷을 주고받는 프로세스에는 포트번호가 할당된다. IP주소와 포트 번호를 통해 식별을 할 수 있다는 것이다.전송 계층의 핵심 프로토콜인 TCP와 UDP는 모두 포트를 통해 프로세스를 식별할 수 있다.TCP와 UDP 헤더에는..
[CS 면접 지식 - Network] 네트워크 계층
·
면접 준비/Network
IPLAN간의 데이터 통신을 위해서는 네트워크 계층 이상의 기술들이 필요하다. 이때 가장 중요한 프로토콜인 IP 중심으로 네트워크 통신 과정을 알아보겠다.IP는 크게 주소 지정, 단편화 두 개의 특징을 지닌다.주소 지정은 네트워크 통신 과정에서 호스트를 특정화하는 의미를 지니며, 단편화는 데이터를 여러 패킷으로 쪼개어 보내는 것을 의미한다.주소 지정IP주소를 통해 주소를 지정하며, 주소 값은 IP 패킷 헤더에서 확인할 수 있다.총 4바이트(32비트)의 크기로 구성되어 있다.패킷 헤더에는 다양한 정보들이 들어 있다. 이 중에는 송신지 IP, 수신지 IP주소가 들어있으며 IP주소를 바탕으로 IP패킷을 전달하는 라우터라는 장비가 있다.IP패킷을 전달할 최적의 경로로 결정하고 전송하는 과정을 라우팅이라고 한다...