프로세스(Process)와 스레드(Thread)의 차이는 무엇인가요?프로세스는 독립된 메모리 공간을 가진 실행 단위스레드는 프로세스 내에서 Stack만 독립적으로 갖고 나머지 메모리는 공유하는 실행 단위프로세스는 격리성이 높고, 스레드는 자원 공유가 쉽지만 하나가 잘못되면 전체에 영향을 줄 수 있습니다. 스레드는 왜 Stack만 독립적으로 가지나요?스레드는 독립적인 실행 흐름을 가지므로 함수 호출 정보를 저장하는 Stack은 각자 가져야 합니다. Code, Data, Heap은 공유해도 실행에 문제가 없고 오히려 메모리 효율과 통신 속도를 높일 수 있어 공유합니다.크롬 브라우저는 탭마다 프로세스인가요, 스레드인가요?탭마다 별도 프로세스를 사용합니다. 하나의 탭이 죽어도 다른 탭에 영향을 주지 않는 안정..
1. CPU의 구성 요소(ALU, 제어장치, 레지스터)에 대해 설명해주세요.CPU는 ALU, 제어장치, 레지스터로 구성됩니다. ALU는 산술·논리 연산을 실제로 수행하고,제어장치는 명령어를 해석해 각 장치에 신호를 보내는 지휘자 역할을 합니다.레지스터는 CPU 내부의 가장 빠른 임시 저장 공간으로, PC가 다음 명령어 주소를 가리키는 등 각각 특수한 역할을 담당합니다. 꼬리질문 레지스터, 캐시, RAM의 속도와 용량 차이를 비교해주세요.속도는 레지스터 > 캐시 > RAM, 용량은 그 반대입니다. 빠를수록 CPU에 가깝고 비싸서 용량이 작습니다.PC(Program Counter)는 언제 업데이트되나요?명령어를 Fetch한 직후 자동으로 다음 주소로 증가하고, jump나 인터럽트 발생 시 특정 주소로 덮어..
Q1. OSI 7계층에 대해 각 계층의 역할과 함께 설명해주세요. OSI 7계층은 네트워크 통신을 표준화한 참조 모델실제 구현에서는 TCP/IP 4계층으로 단순화되며, OSI는 이론적 참조 모델로 주로 사용1계층 물리는 비트를 전기 신호로 전송2계층 데이터 링크는 MAC 주소로 같은 네트워크 내 전달을 담당3계층 네트워크는 IP 주소로 경로를 결정(라우팅)4계층 전송은 TCP/UDP로 포트 기반의 신뢰성 있는 종단 간 통신을 담당5계층 세션은 연결 세션의 수립과 유지6계층 표현은 암호화·압축·인코딩 7계층 응용은 HTTP, FTP 등 사용자와 맞닿는 서비스 프로토콜을 제공 Q. 4계층(전송)과 3계층(네트워크)의 차이가 헷갈리는데요?3계층은 다른 네트워크까지 어떤 경로로 갈지(IP 기반 라우팅), 4계..
1. 자료구조란 무엇이며, 선형 자료구조와 비선형 자료구조의 차이점을 설명해주세요. 각각의 대표적인 예시도 함께 들어주세요. 자료구조 : 데이터를 효율적으로 저장하고 관리하기 위한 구조선형 자료구조 : 데이터가 순차적으로 나열되어 1:1 관계를 가짐 (배열·스택·큐가 대표적)비선형 자료구조 : 데이터 간 1:N 또는 N:M 관계로 계층적이거나 망 형태를 가짐 (트리·그래프가 대표적)선형은 순서 기반 처리에, 비선형은 계층적 관계나 복잡한 연결 관계 표현에 적합 2. 배열(Array)과 ArrayList, LinkedList의 차이점을 설명하고, 각각의 시간 복잡도(접근, 삽입, 삭제)를 비교해주세요. 어떤 상황에서 어떤 자료구조를 선택해야 하나요? Array : 고정 크기의 연속 메모리 구조로 인덱스 접..
Q. OOP 4대 특징(캡슐화, 상속, 다형성, 추상화)을 설명해 주세요OOP는 캡슐화, 상속, 다형성, 추상화 네 가지 특징을 가집니다. 캡슐화 : 데이터와 메서드를 하나의 클래스로 묶고, 내부 구현을 숨기는 것입니다. private필드 +getter/setter로 외부 접근을 제어해 객체의 무결성을 보장합니다.상속 : 부모 클래스의 속성과 메서드를 자식이 물려받는 것으로 코드 재사용성을 높입니다. 단, 부모-자식 간 강한 결합이 생기는 단점이 있습니다.다형성 : 같은 타입으로 서로 다른 객체를 다룰 수 있는 능력입니다.오버로딩(Overloading) → 컴파일타임 다형성오버라이딩(Overriding) → 런타임 다형성 (동적 바인딩)추상화 : 복잡한 구현을 숨기고 필요한 인터페이스만 노출하는 것입니다..
백엔드 개선기 MySQL FullText에서Elasticsearch로키워드 검색 개선기 기존 MySQL FullText 검색의 한계를 넘어, Elasticsearch를 도입해 검색 속도를 4~5배 개선하고 한국어 형태소 분석 기반의 정확한 검색 품질을 확보하기까지의 과정을 정리합니다. 2026.03.26 Elasticsearch · MySQL · Spring Boot 4~5× 검색 속도 개선 ~0.17s 대량 키워드 응답시간(기존 ~0.8s) 배경 — 왜 바꾸게 됐나 서비스에서 키워드 자동완성 검색을 제공하고 있었는데, 기존 구현은 My..
https://www.acmicpc.net/problem/11725트리의 부모 찾기 시간 제한메모리 제한제출정답맞힌 사람정답 비율1 초256 MB101747465433259243.306% 문제루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오.입력첫째 줄에 노드의 개수 N (2 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N-1개의 줄에 트리 상에서 연결된 두 정점이 주어진다.출력첫째 줄부터 N-1개의 줄에 각 노드의 부모 노드 번호를 2번 노드부터 순서대로 출력한다.예제 입력 171 66 33 54 12 44 7예제 출력 1461314예제 입력 2121 21 32 43 53 64 74 85 95 106 116 12예제 출력 211..