동기(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 |