본문 바로가기
개발이야기/Etc.

프론트엔드 개발자 면접 준비 - 브라우저 동작 원리 이해

by hyung12 2024. 1. 9.
반응형

 

 

 

프론트엔드 개발자로서  브라우저의 동작 원리를 이해하면 직무에 대한 흥미와 역량을 높일 수 있습니다.

레이아웃(layout)과 페인팅(paint)과 같은 용어에 대한 기본적인 이해는 최근 면접에서 자주 물어보는 내용 중 하나입니다. 이 동작 원리를 알아두면 프론트엔드 개발자로 한층 더 성장도 하고 면접에서 꼬리질문에 더욱 자신감 있게 대답할 수 있을 것입니다.

 

1. 브라우저란?

브라우저는 웹 페이지를 해석하고 표시하는 클라이언트 소프트웨어입니다. 사용자가 웹 주소를 입력하면 브라우저는 해당 웹 페이지의 HTML, CSS, JavaScript 등을 읽어 해석하고 화면에 표시합니다. 브라우저는 다양한 기능을 수행하는데, 사용자 인터페이스 제공, 네트워크 요청 처리, 보안 기능 등이 포함됩니다.

 

2. 브라우저의 역할

  • 사용자 인터페이스 제공: 주소 표시줄, 뒤로가기/앞으로가기 버튼 등을 통해 사용자와 상호작용할 수 있는 환경을 제공합니다.
  • 네트워크 요청 처리: 웹 페이지의 리소스를 서버로부터 받아오기 위한 네트워크 요청을 처리합니다.
  • 문서 해석 및 표시: HTML, CSS, JavaScript 등의 웹 문서를 해석하고 화면에 표시합니다.
  • 보안 기능 제공: 사용자 데이터 보호, HTTPS 프로토콜 지원 등을 통해 안전한 웹 환경을 제공합니다.

 

3. 브라우저 동작 원리

  1. HTML 및 DOM 트리 구축: 웹 페이지에 접속하면 브라우저는 HTML 문서를 읽고 DOM 트리를 구축합니다. DOM은 문서의 구조를 나타내며, 각 HTML 엘리먼트는 DOM 노드로 변환됩니다.
  2. CSS 및 CSSOM 트리 생성: HTML 파싱 후, 브라우저는 CSS 스타일 시트를 읽어 CSSOM 트리를 생성합니다. 이 트리는 스타일 규칙을 표현하며, 각 노드는 스타일 정보를 가지고 있습니다.
  3. 렌더링 트리 형성: DOM 트리와 CSSOM 트리를 결합하여 렌더링 트리를 형성합니다. 이 트리는 화면에 실제로 표시되는 요소들을 나타냅니다. 불필요한 요소는 제외될 수 있습니다.
  4. 레이아웃 실행: 렌더링 트리가 형성되면, 레이아웃이 실행되어 각 요소의 크기와 위치가 계산됩니다. 이 과정에서 Box Model이 형성됩니다.
  5. 페인트: 마지막으로, 렌더링 트리의 각 노드는 화면에 페인트 되어 사용자에게 시각적으로 표시됩니다.

 

위 내용을 간략하게 정리한다면

1. HTML 구축: 브라우저는 웹 페이지에 접속 시 HTML을 읽어 DOM 트리를 생성합니다.
2. CSS 생성: HTML 파싱 후, CSS를 읽어 CSSOM 트리를 형성합니다.
3. Rendering 트리 형성: DOM과 CSSOM을 결합하여 렌더링 트리를 형성하며, 화면에 표시될 구조를 나타냅니다.
4. 레이아웃 실행: 렌더링 트리에서 요소의 크기와 위치를 계산하여 레이아웃을 실행합니다.
5. 페인트: 각 노드를 화면에 페인트하여 최종적으로 사용자에게 시각적으로 표시됩니다.

 

💁‍♀️ 면접 팁: DNS 동작 설명 추가

면접에서 면접관의 직무에 따라 DNS(Domain Name System)에 대한 이해도를 어필하면 더 좋은 인상을 줄 수 있습니다.

DNS는 웹 주소를 실제 IP 주소로 변환하는 역할을 합니다. 프론트 개발자가 아니더라도 DNS 동작에 대한 간단한 설명은 네트워크와 관련된 면접 질문에 대비하는 데 도움이 될 것입니다.

이러한 웹 기술의 동작 원리를 이해하면 프론트엔드 개발자로서 업무 수행에 대한 자신감을 높일 뿐만 아니라 면접에서 더 나은 결과를 얻을 수 있을 것입니다.

반응형