Web 면접 관련 핵심 퀴즈1
프론트엔드 개발자 면접 준비 중 Web에 관한 지식들을 퀴즈형식으로 만들어보았습니다.
주요개념을 알고 있는지 점검 하는 용도로 풀어주시면 좋을 것 같아요.
Q1
- 브라우저렌더링은 "HTML파싱 -> DOM Tree -> CSSOM -> RenderTree -> Layout -> Paint" 과정을 거쳐 화면에 출력된다.
- 브라우저 렌더링은 다음과 같은 과정을 통해 진행됩니다.
- HTML파일을 파싱한다
- HTML 파싱하여 DOM Tree 생성
- 파싱 중 CSS 링크 만나면 CSS 파일 요청하여 받아온다.
- CSS파일을 읽어서 CSSOM을 만든다.
- DOM Tree와 CSSObjectModel을 합쳐서 RenderTree를 만든다.
- RenderTree의 노드들이 화면에 위치할 지 계산하는 Layout과정
- 실제 그리기 위한 위치를 가짐 ( x, y, 박스영역)
- 최종적으로 실제 픽셀에 대하여 Paint 한다.
- 요소의 크기, 모양, 위치를 알지만 순서는 ?
- 레이아웃 트리를 순회하며, 페인트 순서를 정한다.
- 모든 레이아웃 정보들을 실제 화면의 픽셀로 변환하는 작업
Q2
- SSR(ServerSideRendering)은 완전하게 만들어진 HTML 파일을 서버로 부터 받아 렌더링 하는 방식으로 "첫 로딩 이후 렌더링 속도가 빠르다"는 장점을 가진다.
- SSR은 완전하게 만들어진 HTML 파일을 서버로 부터 받아 렌더링 하는 방식으로 "초기 렌더링 속도가 빠르고, 이후 페이지 전환 시 마다 요청이 진행되어 새로고침이 발생하는 단점이 있다.
Q3
- MVC 디자인 패턴은 'Model' 'View' 'Container'를 의미한다.
- MVC는 Model, View Controller를 의미합니다. M은 Model로 응용프로그램의 동작 및 데이터를 관리합니다. V는 View로 UI를 화면에 표출시킵니다. C는 Controller로 사용자에게 입력을 받아 Model을 조작하고, View를 업데이트 시킵니다.