ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [신입 개발자 면접] 동기와 비동기 개념 | 초코더
    IT 상식/CS기초상식 2019. 12. 27. 23:13

    이제 방학이 되었으니 블로그 포스팅을 꾸준히 열심히 해보려합니다!! 포트폴리오도 채우고..T아카데미의 자바스크립트 인강도 열심히 들어볼게요!!

     

    그리구 이 포스팅은 신입 웹개발자(웹퍼블리셔,UI개발자...)를 위한 면접에서 자주 등장하는 질문들을 정리해보려 합니다.

    미리미리 외워두면 갑자기 면접이 잡혀도 당황하지 않고 대답할 수 있게 꾸준히 정리해볼게여~

     

    동기방식 (Synchronous)

    정의

    말 그대로 동시에 일어난다는 뜻입니다. 요청과 그 결과가 동시에 일어난다는 약속입니다. 요청한 자리에서 결과가 주어져야 합니다. 요청을 보낸 후 응답(=결과)를 받아야지만 다음 동작이 이루어지는 방식이다.

    -> 요청과 결과가 한자리에서 동시에 일어남

    -> A노드와 B노드 사이의 작업 처리 단위(transaction)를 동시에 맞추겠다.

     

    특징

    설계가 매우 간단하고 직관적입니다.

    어떠한 일을 처리할 동안 다른 프로그램은 정지한다.

    실제 cpu가 느려지는 것은 아니지만 시스템의 전체적인 효율이 저하된다고 할 수 있다.

     

     

     

    비동기 방식 (Asynchronous)

    정의

    동시에 일어나지 않는다를 의미합니다. 요청과 결과가 동시에 일어나지 않을거라는 약속입니다.

    -> 요청한 그 자리에서 결과가 주어지지 않음

    -> 노드 사이의 작업 처리 단위를 동시에 맞추지 않아도 된다.

     

    특징

    동기보다 복잡.

    결과가 주어지는데 시간이 걸리더라도 그 시간 동안 다른 작업을 할 수 있으므로 자원을 효율적으로 사용할 수 있다.

     

    비동기식은 비동기식 처리를 요청할 때 할일 이 끝난 후 처리결과를 알려주는 콜백이라는 함수를 함께 알려준다.

    비동기식 처리를 요청하였을 때 호출받은 함수는 바로 응답(=확인)을 수행한다.

    이 응답은 처리 결과에 대한 응답이 아니라 요청에 대한 확인 동작일 뿐이다.

    호출받은 함수는 처리가 끝나면 요청한 함수를 호출하여 처리 결과를 전달하게 된다.

    이러한 함수 호출의 흐름은 사용자가 아닌 일을 마친 시스템이 호출하는 형태이기 때문에 콜백이라고 불린다.

    이미 응답을 했기 때문에 처리결과를 함수 호출이라는 형태로 전달하는 것이다.

     

     

     

                                            <동기식>                                                <비동기식>

     

    한줄 정리 Tip!

    동기식 - 요청과 결과가 동시에 이루어지는 것. 설계가 간단하지만 결과가 주어질 때까지 아무것도 못하고 대기해야 하므로 비동기식 보다 비효율적이다.

     

    비동기식 - 요청과 결과가 동시에 이루어지지 않는 것. 하나의 요청을 처리하는 동안 다른 요청도 처리가능. 동기보다 복잡하고 결과가 주어지는데 시간이 걸리더라도 그동안 다른 작업을 할 수 있으므로 자원을 효율적으로 사용할 수 있음.

    댓글

Designed by Tistory.