ASAC/기술면접질문

[ASAC 7기] 웹 개발 플로우, 웹 애플리케이션 아키텍처, 네트워크(ISP, DNS), 웹 검색엔진, SEO, 웹 페이지 성능(Core Web Vital)

웡지 2024. 12. 6. 13:43

01-02. 웹 본질 : 요청 - 반환의 주체와 방법

  • Monolithic 아키텍쳐MSA(아키텍쳐) 의 차이에 대해 말해보세요
  • => Monolithic 아키텍처는 단일 서버이고, MSA는 다중서버이다. 
    • Monolithic 아키텍쳐는 무엇이며 어떤 장단점이 있는가
      • SPOF (Single Point of Failure)
      • => Monolithic 아키텍처는 단일 웹 서버로 다수 서비스를 제공하는 것을 말하고, 단점으로는 한쪽 서비스가 문제 생기면 모든 서버에 영향을 주어 기타 서비스들을 모두 사용하지 못하는 점이 있다. 장점으로는 단일 이슈가 전체 이슈로 퍼지지 않는 점이 있다.
    • MSA(아키텍쳐) 는 무엇이며 어떤 장단점이 있는가
      • => MSA  다수 웹 서버로 각각 개별 서비스를 제공하는 구조이고, 하나의 서버. 하나의 서비스 문제가 다른 서버 문제로 전파되지 않는다는 장점이 있으며, 단점으로는 수많은 서버 속 어떤 서버의 어떤 API를 사용해야할 지 정리정돈과 버전관리가 안된다는 점이 있다. 
    • API Gateway 는 무엇이고 어떤 역할을 하는가? 왜 필요한가?
      • => MSA 아키텍처에서 사용되며, 모든 서버에 대한 모든 api 호출을 중앙화 한다. 
      • Producer-Consumer 패턴은 무엇인가
  • HTTP API 혹은 REST API 는 무엇인가
    • HTTP Response Status 상태코드에 대해 설명해보시오
      • 200대 : 성공
      • 300대 : 리다이렉션
      • 400대 : 클라이언트 에러
      • 500대 : 서버 에러
  • REST API 의 RESTful 란 어떤것을 의미하는가?
    • => REST철학을 적용한 방식을 말하며, REST API는 메서드 + URI라는 2가지 요소로 구성되어 있다. 
  • GraphQL 은 무엇이며 REST API 와의 차이는 무엇인가
    • => REST API와는 다르게 url을 호출하지 않고 직접 하나의 api에 쿼리문을 호출하는 것을 말한다.
  • gRPC, Queue, WebSocket, WebHook 각각에 대해 한번 설명해보시오
  • => 가장 대중적인 API 설계 스타일이고
기술 역할 분류 (종류) 서버-클라이언트모델여부 통신방향 방식 주요목적
gRPC 통신 프레임워크 서버-클라이언트 모델 양방향 RPC 호출 효율적이고 빠른 서비스 간 통신
Queue 메시지 중개 미들웨어 생산자-소비자 모델 (서버 역할 포함) 단방향 (비동기) 메시지 대기열 작업 비동기 처리 및 분산
WebSocket 실시간 양방향 프로토콜 서버-클라이언트 모델 양방향 (실시간) 상시 연결 실시간 데이터 전송
WebHook 이벤트 기반 푸시 방식 서버가 클라이언트로 푸시 단방향 (이벤트) 푸시 이벤트 알림

 

01-02. 웹 내 주체 : 웹 페이지를 사이에 둔 웹 브라우저와 웹 서버

HTML, CSS, JS

  • 마크업 언어마크다운 언어는 무엇인지?
    • => 마크업 언어: 태그 기반으로 문서 구조를 표현하며 HTML과 같은 복잡한 형식.
    • => 마크다운 언어: 간단한 텍스트 기반 형식으로 작성이 빠르고 쉬운 경량화된 언어.
  • CSS 의 Cascading 의 의미 혹은 SelectorSpecificity 에 대해 설명하라
    • css는 cascading style sheet 의 약자로 cascading의 의미에 걸맞게 가장 나중에 선언된 선언문이 우선순위를 갖는다. 
    • selector로 지정하여 스타일을 적용할 수 있으며, element tag -> class -> id -> inline style.순으로 우선순위를 갖는다. 
    • specificity는 명시도라는 뜻인데, 요소를 자세하게 명시하여 선언할 수록 style의 우선순위가 높아진다.
  • 웹 브라우저에서의 Render 절차를 짧게 한번 설명해보시오
    • dom tree가 생성되고, cssom tree 가 생성되며 -> render tree가 생성되면 -> layout을 잡고(reflow) -> paint(repaint)가 실행된다. 
  • Time to interactive (TTI) 는 어떤것을 의미하는가?
    • => HTML + CSS 로드 뒤 JS 를 통해 마우스 이벤트 등 비로소 적용됐을때

웹 서버(WS) 와 웹 어플리케이션 서버(WAS)

  • 웹 서버(WS)웹 어플리케이션 서버(WAS) 의 차이에 대해 말해보시오
    • 정적 웹 페이지와 동적 웹 페이지의 장단점에 말해보시오
  • CGI 는 어떤것인가?
  • 프로그램프로세스, 그리고 스레드의 차이에 대해 설명하라
  • 유명한 WAS 중 하나인 Tomcat 에 대해 설명하라
    • Servlet 은 무엇인가?
  • WAS 에서 MVC (Model - View - Controller) 패턴을 간략히 설명하라

 

01-03. 인터넷과 인트라넷 그 사이의 ISP와 DNS

 

인터넷과 인트라넷

  • 인트라넷을 설명하시오, 어떻게 동작되는가?
    • 라우터의 역할은 무엇인가?
  • 인터넷을 설명하시오, 어떻게 동작되는가?
    • 게이트웨이의 역할은 무엇인가?
  • VPN (Virtual Private Network) 은 무엇이고 어떻게 동작하나? 어디에 활용되나
  • ISP (Internet Service Provider) 는 무엇인가?

DNS

  • DNS 는 왜 필요한가? = DNS 란 무엇인가
  • 웹 브라우저에서 naver.com 을 입력했을때 일어나는것을 최대한 설명해보시오
  • DNS (Domain Name Server) 에서 도메인 등록과 호스팅의 차이는 무엇인가?
  • 도메인이란 다음 중 어느 부분을 뜻하는가? https://aaron.com:8080
  • DNS Resolver 혹은 Recursor 는 무엇이며, 무슨 역할을 수행하는지 설명하시오
    • Root Server, TLD Server, Name Server(NS) 각 역할을 상세 설명하시오
    • Non-Authoritative 와 Authoritative 차이는 무엇인가
  • Domain RegistryDomain Registar 의 차이는 무엇인가?
  • DNS 에 입력하는 몇가지 Record Type 들에 대해 설명하시오 : A, CNAME, NS, MX

 

 

 

01.-04. 웹 검색 엔진(구글)과 SEO 그리고 Core Web Vital

  • 구글과 같은 검색 엔진의 원리와 SEO 에 대해 설명하시오
  • SEO 를 위한 robots.txtsitemap.xml 두 파일의 역할을 설명하시오
  • SEO 는 왜 중요한가
    • SEO 를 위해 개발자가 신경써야할 몇가지 요소들을 설명하시오
  • SEO (Search Engine Optimization) 를 위해 어떤 렌더링 패턴을 사용하는게 좋으며 왜 그런가?
  • 구글의 웹 페이지 성능 매트릭(Performance Metrics)인 Core Web Vital 중 몇개를 설명하라