[면접 스터디]웹 서버와 WAS, Stack/Queue, Array/Linked List
2023. 2. 28. 15:57ㆍ스터디/면접
Q. 웹 서버와 WAS의 차이는?
웹 페이지는 정적 컨텐츠와 동적 컨텐츠가 모두 존재합니다. Web Server는 정적 컨텐츠만 처리하도록 기능을 분배하고, WAS는 동적 컨텐츠를 제공하여 서버의 부하를 방지합니다. 여러 대의 WAS를 연결 가능하고, 대용량 웹 어플리케이션의 경우 무중단 운영을 위한 장애 극복에 쉽게 대응할 수 있습니다.
즉, Web Server를 WAS 앞에 두고 필요한 WAS들을 Web Server에 플러그인 형태로 설정하면 더욱 효율적인 분산 처리가 가능합니다.

1. Web Server
- 개념
- 1) 하드웨어 : Web 서버가 설치되어 있는 컴퓨터
- 2) 소프트웨어: 웹 브라우저 클라이언트로부터 HTTP 요청을 받아 정적 컨텐츠를 제공하는 컴퓨터 프로그램
- 기능
- HTTP 프로토콜 기반. 클라이언트의 요청을 서비스하는 기능 담당
- 예시
- Apache Server, Nginx
2. WAS(Web Application Server)
- 개념
- DB 조회나 다양한 로직 처리를 요구하는 동적 컨텐츠를 제공하기 위해 만들어진 Application Server
- HTTP를 통해 컴퓨터나 장치에 Application을 수행하는 미들웨어(소프트웨어 엔진)
- Container란 JSP, Servlet을 실행시킬 수 있는 소프트웨어를 말함.
- 역할
- WAS = Web Server + Web Container
- Web Server 기능들을 구조적으로 분리하여 처리하고자 하는 목적
- 주요 기능
- 프로그램 실행 환경과 DB 접속 기능 제공
- 여러 개의 트랜젝션 관리 기능
- 업무 처리하는 비즈니스 로직 수행
- 예시
- Tomcat, JBoss, Jeus, Web Sphere
자원 이용의 효율성 및 장애 극복, 배포 및 유지보수의 편의성을 위해 Web Server와 WAS를 분리함.
Web Server를 WAS 앞에 두고 필요한 WAS들을 Web Server에 플러그인 형태로 설정하면 더욱 효율적인 분산 처리가 가능함.
Reference
https://gmlwjd9405.github.io/2018/10/27/webserver-vs-was.html
[Web] Web Server와 WAS의 차이와 웹 서비스 구조 - Heee's Development Blog
Step by step goes a long way.
gmlwjd9405.github.io
Q. Stack과 Queue 그리고 Array와 Linked List 자료구조에 대해 말씀해주시고 차이점에 대해 설명해주세요.
Stack은 한쪽 끝에서만 요소를 추가하고 제거할 수 있는 후입선출(LIFO) 자료 구조입니다. Queue는 한쪽 끝에 요소를 추가하고 다른 쪽 끝에 요소를 제거할 수 있는 선입선출(FIFO) 자료 구조입니다. Stack과 Queue의 차이점은 요소가 추가되고 제거되는 순서입니다.
Array는 동일한 데이터 유형의 요소 모음을 저장할 수 있는 고정 크기의 연속 메모리 블록입니다. Linked List는 각 노드에 데이터와 다음 목록의 다음 노드에 대한 참조가 포함된 노드 모음으로 구성된 동적 데이터 구조입니다. Array와 Linked List의 차이점은 요소를 저장하고 액세스 하는 방식입니다. 배열은 인덱스를 사용하여 모든 요소에 지속적으로 액세스할 수 있습니다. 반면 연결리스트는 참조를 통해 연결된 노드에 요소를 저장하므로 원하는 요소를 찾을 때까지 한 노드에서 다른 노드로 List를 순회하며 요소에 간접적으로 액세스 합니다.
1. Stack

2. Queue

3. Array

4. Linked List

'스터디 > 면접' 카테고리의 다른 글
| 면접 스터디(오버로딩/오버라이딩, RDB/NoSQL) (0) | 2023.03.02 |
|---|---|
| 면접 스터디(절차지향/객체지향/함수형 프로그래밍, 시간복잡도/공간복잡도) (0) | 2023.03.01 |
| 면접 스터디(트랜젝션, TCP&UDP) (0) | 2023.02.27 |
| 면접 스터디(Parameter/Argument, 프로세스/스레드) (0) | 2023.02.24 |
| 면접 스터디(MSA/제네릭/List, Set, Map, HashMap) (0) | 2023.02.23 |