- 동기와 비동기의 차이에 대해 설명해주시고 비동기프로그래밍의 필요성에 대해 답변해주세요.
- 동기는 하나의 작업이 끝나면 다른 작업이 실행됩니다. 비동기는 한번에 여러 작업이 시작되며 이전 작업이 끝날 때까지 기다리지 않습니다.
- 모든 작업을 동기로 처리한다면 긴 시간이 걸리는 작업이 있는 경우 그 작업이 완료될 때까지 마우스 클릭 틍의 다른 이벤트를 실행할 수 없게 됩니다. 비동기는 이런 상황을 개선하여 성능을 향상시켜 효율적이며 반응성을 높이기 위해 사용합니다. (스케일링? 확장성?)
- 예를 들어 promise의 경우 작업을 완료하기 전에 pending 값을 반환하여 비동기적으로 작동할 수 있게 합니다.
- 브라우저의 작동방식에 대해서 설명해주세요.
- url을 입력하여 들어갑니다. 처음 방문하는 홈페이지는 DNS 조회를 요청하고, IP 주소를 받습니다. 웹서버로 한번 연결이 성립되면 초기 http get request를 보냅니다. 웹사이트는 html 파일을 요청하며, 서버는 응답 해더와 html 내용을 응답합니다. 브라우저는 수신된 정보를 구문 분석(parsing) 하여 DOM 구조로 변환합니다. 또한 가지고 있는 데이터로 랜더링을 시작합니다.
'면접대비' 카테고리의 다른 글
[면접대비] CSR, SSR의 차이점과 장/단점 (0) | 2024.04.11 |
---|---|
[면접대비] GET, POST (0) | 2024.04.09 |
[면접대비] 무한 스크롤, 호이스팅 (0) | 2024.04.03 |
[면접대비] 변수, Promise, Async/await (0) | 2024.04.02 |
[면접대비] useRef, useEffect (0) | 2024.03.29 |