택시짱의 개발 노트

200218 면접질문 모음 본문

면접질문모음

200218 면접질문 모음

택시짱 2022. 2. 18. 14:13

지금 재직중인 회사의 서비스 레이어가 어떻게 구성되어있을지 분석해봐라

지금 재직중인 회사의 서비스가 어떻게 배포하는지 얘기해봐라

도커의 원리 ( vm과 차이점 )

더보기

- 가상머신(VM)과 Docker container의 차이

가상머신(VM)은 환경(os)를 가상화 하는 반면, 도커 컨테이터는 호스트의 os 커널을 공유하여 단순히 격리 되어있는 하나의 프로세스(process)로 동작한다.

출처: https://cloud.google.com/containers/?hl=ko

멀티쓰레드/ 멀티프로세스 차이

더보기
프로세스란 ?
프로세스는 운영체제로부터 자원을 할당받는 작업의 단위, 스레드는 프로세스가 할당받은 자원을 이용하는 실행의 단위

멀티 스레드 VS 멀티 프로세스

- 멀티 스레드는 멀티 프로세스보다 적은 메모리 공간을 차지하고 문맥교환(context switching)이 빠른 장점, 그러나 자원을 공유하고 있기 때문에 동기화 문제와 하나의 스레드 장애로 인하여 전체 스레드가 종료 될 위험을 가지고 있다.

- 멀티 프로세스는 자원을 공유하지 않고 분리 되어 있기 때문에 하나의 프로세스에 장애가 발생 하더라도 다른 프로세스에 영향을 주지 않아 안정성이 높다. 그러나 멀티 스레드보다 많은 메모리 공간과 CPU 시간을 차지하는 단점이 있다.

 

- 두 방법은 동시에 여러 작업을 수행하는 점에서 동일! 각각의 장단점이 있기때문에 사용하려는 시스템에 따라 적합한 동작 방식을 선택하고 적용해야 한다.

 

Context Switching(문맥 교환) 이란?

- CPU는 한번에 하나의 프로세스만 실행이 가능하다.

- CPU에서 여러 프로세스를 돌아가면서 작업을 처리하는데 이 과정을 Context Switching 이라고 한다.

- 구체적으로, 동작 중인 프로세스가 대기하면서 해당 프로세스의 상태(Context)를 보관하고, 대기하고 있던 다음 순서의 프로세스가 동작하면서 이전에 보관했던 프로세스의 상태를 복구하는 작업

- Context Switching의 과정에서 cache memeory 초기화 등등 overhead가 발생하게 된다

 

OverHead란?

- 어떤 처리를 하기 위해 들어가는 간접적인 처리 시간, 메모리등을 말한다.

우리 서비스가 어떻게 구성되어있을지 분석해봐라

동시성 처리시 유의할점

더보기
동시성(Concurrency)이란?
싱글 코어에서 멀티 스레드환경을 구성하여 Context Switching을 통해 동시에 실행 되는 것처럼 보이게 하는 것!
출처: https://seamless.tistory.com/42

 

 

 

병렬성 처리시 유의할점

더보기
병렬성이란?
멀티 코어에서 멀티 스레드환경을 구성하여 한 개 이상의 스레드를 포함하는 각 코어들이 동시에 실행되는것
출처: https://seamless.tistory.com/42


데이터 병렬성

- 전체 데이터를 쪼개 서브 데이터들로 만든 후 서브 데이터들을 병렬 처리하여 작업을 빠르게 수행하는 것.

작업 병렬성

- 서로 다른 작업을 병렬 처리하는 것 ( 각각의 브라우저에서 요청한 내용을 개별 스레드에서 병렬로 처리)

DDD가 뭔지

TDD vs 개발 후 테스트 코드 작성 장단점

아파치와 nginx 차이점

OAuth의 JWT의 차이

스택과 큐의 차이점과 어떤 상황에서 쓰이는지

(Python) 병렬 처리를 어떻게 했는지

AWS Lambda 사용 경험

서버 이중화에대해 설명해봐라 ( 로드밸런서에 대해 설명해봐라)

nginx 웹서버 환경에서 부하를 분산시키는 전략을 말해봐라

분산락에 대해 설명해봐라

격리수준에 대해 설명해봐라

python의 특징점

반응형

'면접질문모음' 카테고리의 다른 글

남세동님 면접 질문  (0) 2022.02.21
server 신입 면접 질문 (혼자 공부용..)  (0) 2020.08.26
Comments