- 동기와 비동기의 차이를 설명 해 주세요.
☝🏻 답변 시, 동기/비동기 방식의 장단점과 예시까지 들어서 설명하면 더 좋습니다.- 동기 (Synchronous)
- 순서에 맞추어 진행되기 때문에 제어하기 쉽고 직관적입니다.
- 여러가지 요청을 동시에 처리 할 수 없어 효율이 낮고 작업 속도가 느릴 수 있습니다.
- 동기방식의 예시로는 콜센터 종업원이 일을 처리하는 방식이 될 수 있습니다.
- 콜센터의 직원은 한 손님의 전화 응대가 끝난 후에 다음 손님의 응대를 진행
- 비동기 (Asynchronous)
- 작업이 완료되는 시간을 기다릴 필요가 없어, 자원을 효율적으로 사용 할 수 있습니다.
- 다른 작업의 응답에 상관없이 진행되므로, 작업이 완료된 결과를 제어하기 어렵습니다.
- 비동기 방식의 예제로는 이메일이 있습니다.
- 누군가에게 이메일을 보냈을 때 답변을 받지 않아도 이메일을 다시 보낼 수 있음
→ 동기 방식은 요청을 보내고 실행이 끝나면 다음 동작을 처리하는 방식이며, 비동기 방식은 요청을 보내고 해당 동작의 처리 여부와 상관 없이 다음 요청이 동작하는 방식입니다.
- 누군가에게 이메일을 보냈을 때 답변을 받지 않아도 이메일을 다시 보낼 수 있음
- 동기 (Synchronous)
- 프레임워크와 라이브러리의 차이를 설명 해 주세요.
- 프레임워크와 라이브러리는 실행 흐름에 대한 제어 권한이 어디 있는지에 따라 달라집니다.
- 라이브러리를 사용할 때 사용자는 애플리케이션 코드의 흐름을 직접 제어해야 합니다.
- 반면 프레임워크는 애플리케이션의 코드가 프레임워크에 의해 사용됩니다.
- 프레임워크를 사용하면 사용자가 관리해야 하는 부분을 프레임워크에 넘김으로써 신경써야 할 것을 줄이는 제어의 역전이 적용 됩니다.
→ 라이브러리는 사용자가 흐름에 대한 제어를 하며 필요한 상황에 따라 가져다가 쓸 수 있지만 프레임워크는 전체적인 흐름을 자체적으로 제어한다는 특징이 있습니다.
- 프레임워크와 라이브러리는 실행 흐름에 대한 제어 권한이 어디 있는지에 따라 달라집니다.