2025/04 3

[1분 면접] 프로세스보다 스레드의 컨텍스트 스위칭이 더 빠른 이유

📌 면접 답변 프로세스 컨텍스트 스위칭 같은 경우 새로운 프로세스의 가상 메모리 주소를 설정 해야한다. 따라서 MMU에 새로운 주소 체계 설정, TLB와 메모리 저장된 캐시를 비우는 등의 메모리 작업을 해야한다.  하지만 스레드 컨텍스트 스위칭 같은 경우 위의 과정들이 한 프로세스 내에서 공유되기 때문에, CPU의 상태와 메모리 상태만 변경해주면 된다.   컨텍스트 스위칭CPU가 실행 중이던 프로세스나 스레드가 다른 프로세 스나 스레드로 교체되는 과정을 말한다.멀티태스킹 시스템에서 여러 작업을 효율적으로 관리하기 위해 필수적인 매커니즘이다. Context프로세스나 스레드의 현재 상태를 의미하고, CPU의 레지스터 상태(PC, SP 등)와 메모리 상태가 포함된다. 즉, Context는 프로세스나 스레드가..

[1분 면접] Redis가 싱글 스레드로 만들어진 이유

📌 면접 답변Redis는 싱글 스레드 기반으로 설계되어 구조를 단순화하고 성능을 극대화 할 수 있다. 1. Lock이나 동기화 처리를 하지 않아도 되므로, 경쟁 조건 없이 안정적이고 빠르게 작동 2. Redis의 대부분의 연산이 O(1) 또는 O(logN)처럼 매우 빠르기 때문에, 멀티스레드가 꼭 필요하지는 않음 3. IO Multiplexing을 통해 여러 클라이언트 요청을 비동기적으로 감지하고, 싱글 스레드 이벤트 루프로 빠르게 순차 처리하여 단순하지만 성능이 뛰어난 구조를 만들 수 있음  Redis는 Remote Dictionary Server를 의미캐싱, 세션 저장소, 실시간 데이터 저장소 등 다향한 용도로 사용 IO MultiPlexing IO MultiPlexing은 하나의 스레드가 여러개의..

SQL 개념 및 실제 쿼리 정리

SQLD 공부했다고 SQL의 쿼리를 잘 짤수는 없다.최근에 면접을 보았고 DB 관련된 내용 질문이 많았지만 한마디도 못했다. 내가 생각했던거 이상으로 백엔드에서 DB는 중요했다.  SQLD 공부가 무의미한 것은 아니다.단지 내가 이론적으로만 학습했기 때문에,외우기에만 급급했고 정말 실제 SQL 사용측면에서의 학습이 부족했다.   SQLD 필수 개념 요약 정리 / 벼락치기, 독학, 요약본SQL은 비절차적 언어로, 절차적 언어 (JAVE,C 등등)과는 다르다. SQLD에서 나오는 핵심 개념들은 요약정리 해보자 🐸(최소한 이것만은 외우고 가자는 마인드 !) 처음보는 용어이면, 익숙해지고한jerry-k.site 그래서 이번에 지난번에 SQLD 시험을 위해 정리했던 내용들을, 좀 더 실용성을 바탕으로 보충해보려..

⚙️ Backend/DB 2025.04.01