본문 바로가기

Developer/기술면접

동기(Sync), 비동기(Async)란?

동기(synchronous : 동시에 일어나는)란?

동기는 말 그대로 동시에 일어난다는 의미이며 요청과 결과가 동시에 일어납니다.
바로 요청을 하면 시간이 얼마가 걸리던지 요청한 자리에서 결과가 주어져야 합니다.
-요청과 자리에 결과가 동시에 일어남 = A와 B 사이의 작업 처리를 동시에 맞추겠다.

비동기(Asynchronous : 동시에 일어나지 않는)란?

비동기는 동시에 일어나지 않는다를 의미이며 요청과 결과가 동시에 일어나지 않습니다.
-요청한 자리에 결과가 주어지지 않음 = A와 B사이의 작업 처리를 동시에 맞추지 않겠다.

[ 예시 ] 

출처 : https://blog.hanumoka.net/2018/10/06/javascript-20181006-javascript-callback/

이해 잘 되게 짱짱하게 잘 써주셨다! 

차이점

  • 동기
  • 설계가 간단하다
  • 직관적이다
  • 결과가 나올 때까지 대기해야한다
  • 비동기
  • 설계가 복잡하다
  • 결과가 나오기 전에 다른 작업이 가능하다
  • 자원을 효율적으로 사용할 수 있다.

비동기적으로 처리해야할 작업들

  • 파일을 읽거나, 쓰기 처럼 오래걸리는 작업
  • ajax 통신작업
  • Dom의 이벤트 처리작업
  • 일정 시간 뒤에 동작을 해야 하는 작업

간단한 문제

동기와 비동기를 맞추어라. 

  • 나는 네이버 메인에 접속하였다.  
  • 아이디를 잃어버려서 아이디 찾기 페이지로 이동하였다. 
  • 정보를 입력하고 핸드폰인증하기 버튼을 눌렀다. 
  • 아이디를 찾고 로그인에 성공하여 실시간으로 변경되는 급상승 검색어를 확인하였다. 
  • 급상승 검색어를 클릭하여 페이지로 이동하였다. 

답 : 동기, 동기, 비동기, 비동기, 동기

위의 답 다음을 드래그하세요.


출처: https://okayoon.tistory.com/entry/동기synchronous-동시에-일어나는-비동기Asynchronous-동시에-일어나지-않는 [Zzolab Blog :)]

'Developer > 기술면접' 카테고리의 다른 글

Promise란?  (0) 2021.07.20
async , await란?  (0) 2021.07.20
HTTP 상태 코드  (0) 2021.07.20
클로저(Closure)란?  (0) 2021.07.20
var, let, const 차이점  (0) 2021.07.18