본문 바로가기

CS2

[CS] CS 기술면접 (2) 쓰레드란?쓰레드는 프로세스 내에서 실행되는 최소 실행 단위입니다. 하나의 프로세스는 여러 개의 쓰레드를 가질 수 있으며, 각 쓰레드는 프로세스의 메모리를 공유하면서 독립적으로 실행됩니다.  경량성: 프로세스보다 적은 자원으로 실행되며, 컨텍스트 스위칭 비용이 적음.메모리 공유: 동일한 프로세스 내의 쓰레드들은 코드, 데이터, 힙 메모리를 공유하지만, 각자의 스택 메모리는 별도로 할당됨.병렬 처리: 멀티 쓰레드를 활용하면 CPU를 효율적으로 사용할 수 있으며, 동시성 및 병렬성을 향상시킬 수 있음. 멀티 쓰레드의 장점과 단점은?장점: CPU 활용 극대화, 응답 속도 향상, 작업 분리 가능단점: 동기화 문제 발생 가능(데드락), 문맥 전환 비용 발생쓰레드 동기화 문제 해결 방법은?synchronized 키워.. 2025. 3. 10.
[기술면접] CS 기술면접 질문 SOLID 원칙이란?SOLID 원칙은 객체 지향 프로그래밍에서 유지보수성과 확장성을 높이고 코드 품질을 향상시키기 위한 다섯 가지 설계 원칙을 의미합니다.SOLID는 각 원칙의 첫 글자를 따서 만들어졌으며, 코드가 변경에 유연하고 안정적인 구조를 갖출 수 있도록 돕습니다.면접에서 SOLID 원칙을 설명할 때는 각 원칙이 왜 중요한지와 어떻게 적용할 수 있는지에 초점을 맞추면 좋습니다.단일 책임 원칙 (Single Responsibility Principle, SRP)설명: 하나의 클래스는 하나의 책임만 가져야 한다는 원칙입니다. 즉, 클래스는 단 하나의 기능만 수행하고, 그 기능에 대해서만 변경의 이유가 있어야 합니다.중요성: 한 클래스가 여러 책임을 가지면, 해당 책임 중 하나가 변경될 때 다른 책임도.. 2024. 10. 6.