cs지식 정리하기/면접 대비

[8일차] 기술 면접 준비

젤리의it 2024. 3. 27. 22:14

1. 프로세스와 스레드에 대해 설명해주세요

프로세스: 운영체제로부터 자원을 할당받은 작업의 단위. 프로그램을 실행시키는 것으로 정적인 프로그램이 동적으로 변해 프로그램이 돌아가는 상태를 의미 합니다. (메모리에 적재되고 cpu의 자원을 할당 받아 프로그램이 실행되는 상태)
생성, 준비, 실행, 대기, 종료

스레드: 프로세스가 할당받은 자원을 이용하는 실행 흐름의 단위.하나의 프로세스안에서 여러가지 작업 흐름이 동시에 진행될 수 있음. 예를 들어서 파일을 다운로드 받으면서 웹 서핑을 할 수 있음
특징 1. 데이터에 직접 접근 가능 2. 하나의 프로세스는 여러개의 스레드를 가진다.

 

2. 모놀리식 아키텍처와 msa에 대해서 설명해주세요
모놀리식 아키텍처는 소프트웨어의 모든 구성요소가 한 프로젝트에 통합되어 있는 형태. 개발과 관리가 용이하나 시스템이 복잡해지고 커질 수록 코드를 이해하기 어렵고 유지보수가 어렵다. 작은 버그를 수정해도 전체를 빌드하고 배포해야함. 테스트가 쉬움

msa는 서비스가 커질수록 시스템이 무거워지는 모놀리식 단점을 해결하기 위해 여러모듈을 조합하여 구현하는 방식
독립적인 서비스로 배포가 빠르며 전체 서비스의 중단이 없음
여러 모듈로 분산되어 있어 트랜잭션관리, 장애 추적및 테스트가 쉽지 않음. 서비스간 호출시 restapi 사용으로 통신비용과 지연시간이 발생할 수 있음

'cs지식 정리하기 > 면접 대비' 카테고리의 다른 글

[9일차] 기술 면접 준비  (0) 2024.04.02
[7일차] 기술 면접 준비  (0) 2024.03.26
[6일차] 기술 면접 준비  (0) 2024.03.25
[5일차] 기술 면접 준비  (0) 2024.03.20
[4일차] 기술 면접 준비  (0) 2024.03.19