50가지 자주 묻는 WebSphere 인터뷰 질문 및 답변

목차

면접에서 자주 등장하는 IBM 관련 질문들을 경험 수준별로 정리했습니다. 여러분의 성공적인 면접을 기원합니다.

IBM WebSphere Application Server에 대한 인터뷰 질문 목록을 만들어 달라는 요청이 많아, 이번 기회에 상세하게 준비했습니다.

WebSphere는 IBM의 대표적인 애플리케이션 서버 미들웨어 제품이며, IBM은 미들웨어 시장에서 선두를 달리고 있습니다.

이 글은 WebSphere 제품군 중에서도 특히 WebSphere Application Server에 초점을 맞추고 있습니다.

WebSphere 제품군에는 다음과 같은 다양한 제품들이 포함되어 있습니다.

  • WebSphere 포털
  • WebSphere DataPower
  • WebSphere 주철
  • WebSphere 익스트림
  • WebSphere 프론트 오피스
  • WebSphere 메시지 브로커
  • WebSphere MQ
  • WebSphere 실시간
  • WebSphere 원격 서버
  • WebSphere 가상 엔터프라이즈
  • WebSphere 커뮤니티
  • 그리고 더 많은 제품들…

이제, 질문들을 살펴보실 준비가 되셨나요?

리플스타트란 무엇인가요?

리플스타트는 WebSphere Application Server (WAS) 클러스터를 재시작하는 방법 중 하나입니다. 이 과정에서 JVM을 순차적으로 중지하고 다시 시작합니다. 리플스타트를 이용하면 한 번에 하나의 JVM만 다운되므로, 애플리케이션의 서비스 중단을 최소화할 수 있습니다.

예를 들어, 클러스터에 5개의 JVM이 있을 때 리플스타트를 실행하면, JVM1이 중지되고 재시작된 후 다음 JVM이 중지되는 방식으로 진행됩니다.

JVM이 서버의 CPU와 메모리를 100% 사용한다면 어떻게 대처하시겠습니까?

우선, 어떤 JVM이 높은 사용률을 보이는지 확인해야 합니다. 문제를 일으키는 JVM의 스레드 덤프를 확보하고, 필요하다면 JVM을 재시작하여 CPU 및 메모리 사용률을 낮추는 것을 고려해야 합니다.

노드 동기화란 무엇인가요?

IBM WAS는 모든 구성을 ‘마스터 저장소’라는 중앙 저장소에 보관하고, 각 노드는 자체 로컬 저장소를 갖습니다.

DMGR을 통해 구성을 변경하면, 변경된 내용을 각 노드의 로컬 서버에 적용하기 위해 동기화가 필요합니다.

동기화는 마스터 저장소에서 로컬 저장소로의 단방향 통신으로 이루어집니다.

DMGR이 다운되었을 때, 애플리케이션은 문제없이 실행될 수 있나요?

네, DMGR 다운은 이미 실행 중인 애플리케이션에는 영향을 주지 않습니다. 하지만 DMGR을 통해 변경사항을 적용하거나 새로운 애플리케이션을 배포하는 것은 불가능합니다.

WebSphere에서 애플리케이션을 배포하는 방법에는 어떤 것들이 있나요?

애플리케이션 배포 방법은 주로 세 가지입니다.

  • 핫 배포: 애플리케이션 파일을 지정된 애플리케이션 디렉토리에 복사하는 방식입니다. 개발 환경에는 유용하지만, 프로덕션 환경에서는 권장되지 않습니다.
  • DMGR 활용: DMGR 콘솔의 애플리케이션 메뉴를 통해 새로운 애플리케이션을 배포할 수 있습니다.
  • 스크립트 활용: wsadmin 스크립트 또는 Ant 작업을 개발하여 애플리케이션 배포 과정을 자동화할 수 있습니다.

프로세스를 수동으로 중지했는데도 JVM이 자동으로 다시 시작되는 이유는 무엇인가요?

두 가지 가능성이 있습니다.

첫째, JVM 설정에서 자동 재시작 옵션이 활성화되어 있을 수 있습니다. 이 설정은 JVM >> 모니터링 정책에서 확인할 수 있습니다.

둘째, cron 스크립트가 프로세스를 감시하고 프로세스가 중지되면 다시 시작하도록 설정되어 있을 수 있습니다.

WebSphere에 배포할 수 있는 파일 유형은 무엇인가요?

DMGR 콘솔 또는 스크립트를 통해 WAR, EAR, JAR, SAR 모듈을 배포할 수 있습니다.

가상 호스트란 무엇인가요?

가상 호스트는 단일 애플리케이션에 여러 개의 URL(IP 주소 또는 FQDN 기반)을 연결하는 기능입니다. 이 설정은 WAS 관리 콘솔에서 할 수 있습니다.

애플리케이션을 특정 URL로 접근 가능하게 하려면, 해당 URL이 가상 호스트에 등록되어 있고 애플리케이션과 연결되어 있어야 합니다.

클라이언트로부터 애플리케이션의 속도가 느리다는 불만이 있을 때, 어떻게 처리해야 할까요?

속도 저하의 원인은 다양하므로, 먼저 문제가 WebSphere에 있는지, 아니면 다른 구성 요소에 있는지 확인해야 합니다. 다음 단계를 통해 문제를 격리할 수 있습니다.

  • 모든 사용자에게서 속도 저하가 나타나는지 확인합니다.
  • 애플리케이션 전체가 느린지, 특정 기능만 느린지 확인합니다.
  • JVM URL에 직접 접근하여 웹 서버를 우회했을 때도 속도가 느린지 확인합니다.

JVM에서 속도 저하가 발견되면 스레드 덤프를 생성하고 로그를 분석하여 원인을 찾을 수 있습니다. 또한, 릴리스 직후에 속도 저하가 시작되었는지 확인하는 것이 좋습니다.

DMGR을 중지하지 않고 WAS 구성 백업을 하는 방법은 무엇인가요?

DMGR 프로필의 bin 폴더로 이동한 후, 다음 명령어를 실행합니다: `./backupConfig.sh -nostop`

WAS의 기본 포트는 무엇인가요?

HTTP 기본 포트는 9080이고, HTTPS 기본 포트는 9443입니다. 자세한 정보는 기본 포트 관련 문서를 참조하세요.

WebSphere의 에디션에는 어떤 것들이 있나요?

  • WAS – 네트워크 배포
  • WAS – 개발자
  • WAS – z/OS
  • WAS – 하이퍼바이저
  • WAS – 익스프레스
  • WAS – 베이스
  • WAS – 리버티 코어

플러그인을 생성하고 전파하는 방법은 무엇인가요?

  • WAS 관리 콘솔에 로그인합니다.
  • 서버 >> 웹 서버 메뉴로 이동합니다.
  • 해당 서버를 선택한 후, ‘생성’ 및 ‘전파’ 버튼을 클릭합니다.

WebSphere를 사용하면서 경험한 일반적인 문제점은 무엇인가요?

자신의 경험에 비추어 솔직하게 답변하는 것이 중요하지만, 일반적인 문제점은 다음과 같습니다.

  • 가상 호스트 미정의
  • 로그 파일 이동 오류
  • 인터넷 서버 오류
  • 메모리 부족 예외
  • 지원 문제
  • JVM 시작 실패
  • 높은 CPU, 메모리, 디스크 사용률

설치된 WAS 버전을 확인하는 방법은 무엇인가요?

  • 프로필의 bin 폴더로 이동합니다.
  • `./versionInfo.sh` 명령어를 실행합니다.

JVM이 작동 중인지 어떻게 확인할 수 있나요?

다음과 같이 여러 방법으로 확인할 수 있습니다.

  • 모니터링 도구를 통해 알람 또는 현재 상태를 확인합니다.
  • 서버에 로그인하여 `ps -ef | grep jvmname` 명령어를 실행합니다.
  • JVM URL에 접근이 가능한지 확인합니다.
  • JVM URL 및 포트에 telnet 연결이 가능한지 확인합니다.
  • JVM 포트가 서버에서 listening 중인지 확인합니다.
  • `serverStatus.sh -all` 명령어를 사용하여 실행 중인 항목을 확인합니다.

가장 편리한 방법을 선택하여 사용하면 됩니다.

WebSphere에서 생성되는 로그 파일은 무엇인가요?

  • SystemOut.log
  • SystemErr.log
  • native_stdout.log
  • native_stderr.log

스레드 덤프를 생성하는 방법은 무엇인가요?

스레드 덤프를 생성하는 세 가지 방법이 있습니다.

  • DMGR 콘솔에서: 문제 해결 메뉴로 이동하여 JVM을 선택하고 Java 코어 덤프를 클릭합니다.
  • JVM 프로세스에 `-3` 신호를 보냅니다.
  • `wsadmin.sh` 스크립트를 사용합니다.

수직 클러스터와 수평 클러스터의 차이점은 무엇인가요?

수직 클러스터는 동일한 노드 또는 서버 내에서 구성되지만, 수평 클러스터는 여러 노드와 서버에 걸쳐 구성됩니다.

가비지 컬렉션이란 무엇인가요?

가비지 컬렉션은 프로그램에서 더 이상 사용하지 않는 객체를 자동으로 해제하여 메모리를 관리하는 프로세스입니다.

WebSphere에서 보안을 비활성화하는 방법은 무엇인가요?

`wsadmin.sh` 스크립트를 사용하여 `securityoff` 명령어를 실행하면 보안을 비활성화할 수 있습니다. 보안을 비활성화한 후에는 DMGR을 재시작해야 합니다.

자세한 가비지 컬렉션을 활성화하는 방법은 무엇인가요?

자세한 가비지 컬렉션은 기본적으로 비활성화되어 있지만 필요한 경우 활성화할 수 있습니다.

  • 서버 >> 서버 유형 >> WebSphere Application Server 메뉴로 이동합니다.
  • ‘Java 및 프로세스 관리’ 섹션에서 JVM >> 프로세스 정의를 선택합니다.
  • ‘추가 속성’ 섹션에서 Java 가상 머신을 클릭하고 ‘자세한 가비지 컬렉션’ 체크박스를 선택합니다.

서버를 재부팅할 때 WebSphere를 자동으로 시작하는 방법은 무엇인가요?

WebSphere는 `/etc/init.d`에 시작 스크립트를 자동으로 생성하여 재부팅 시 자동으로 시작되도록 합니다.

스크립트가 없는 경우, 직접 스크립트를 생성하여 `/etc/init.d`에 복사한 후 다음과 같이 활성화할 수 있습니다.

chkconfig --add WebSphere # 스크립트 파일 이름
chkconfig WebSphere on

자세한 내용은 시스템 부팅 시 서비스 자동 시작 관련 문서를 참조하세요.

JVM의 힙 크기를 늘리는 방법은 무엇인가요?

  • 관리 콘솔에 로그인합니다.
  • 서버 >> 서버 유형 >> WebSphere 애플리케이션 서버 메뉴로 이동합니다.
  • JVM >> 프로세스 정의 >> Java 가상 머신을 선택합니다.

여기서 초기 및 최대 힙 크기를 설정할 수 있습니다.

nodeagent가 다운되었을 때 노드를 동기화할 수 있나요?

노드 동기화는 nodeagent가 실행 중일 때만 가능합니다.

DMGR, Nodeagent 및 JVM을 중지하고 시작하는 명령어는 무엇인가요?

중지 명령어

  • JVM: `stopServer.sh JVMNAME`
  • 노드 에이전트: `stopNode.sh`
  • DMGR: `stopManager.sh`

시작 명령어

  • JVM: `startServer.sh JVMNAME`
  • 노드 에이전트: `startNode.sh`
  • DMGR: `startManager.sh`

WAS 8.5.5의 새로운 기능은 무엇인가요?

주요 기능은 다음과 같습니다.

  • Java SE 7 지원
  • HPEL 로깅
  • 내장된 상태 관리
  • 리버티 프로필
  • 지능형 라우팅
  • 동적 클러스터링
  • JDBC 4.1 클러스터링
  • 웹 2.0 지원

자세한 정보는 관련 문서를 참조하세요.

노드 연합이란 무엇을 의미하나요?

WebSphere에서 노드 연합은 셀에 노드를 추가하는 것을 의미합니다. `addNode.sh` 명령어를 사용하여 수행하며, 노드 크기에 따라 몇 분 정도 소요될 수 있습니다.

FFDC란 무엇인가요?

FFDC(First Failure Data Capture)는 WebSphere 런타임 중 발생하는 이벤트 및 오류를 캡처합니다. FFDC 데이터는 문제 분석에 유용하며, 문제가 발생했을 때 IBM 지원팀에서 자주 요청합니다.

WebSphere 키 저장소의 XOR 암호화를 해독할 수 있나요?

네, 온라인 도구를 통해 가능합니다. http://strelitzia.net/wasXORdecoder/wasXORdecoder.html

WebSphere의 기본 스크립트 언어는 무엇인가요? JACL 아니면 Jython인가요?

JACL은 WebSphere의 기본 스크립트 언어입니다.

WebSphere 8.5.x에서 수정 팩을 적용하는 방법은 무엇인가요?

IBM Installation Manager를 사용하여 수정 팩을 적용할 수 있습니다. 자세한 내용은 수정 팩 적용 가이드 문서를 참조하세요.

어떤 환경을 지원하나요?

지원하는 환경을 솔직하게 설명하는 것이 중요합니다. 일반적으로 다음과 같은 환경을 지원할 수 있습니다.

  • 개발
  • CIT
  • SIT
  • UAT
  • 데모
  • 프리 프로덕션
  • 프로덕션
  • 스테이징
  • QA

웹 서버는 어디에 호스팅되나요?

지원되는 애플리케이션 아키텍처에 대해 설명하세요. 일반적으로 인터넷 연결 애플리케이션의 프로덕션 환경에서 웹 서버는 DMZ에 위치하고, 애플리케이션 서버는 코어 네트워크에 위치합니다.

이는 웹 서버와 애플리케이션 서버 사이의 방화벽에서 필요한 포트를 허용해야 함을 의미합니다.

세션 선호도란 무엇인가요?

세션 선호도는 지속적 세션이라고도 합니다. 세션 선호도가 설정되면 요청이 특정 JVM에 바인딩될 수 있습니다. 즉, 반환 요청이 항상 동일한 JVM으로 라우팅됩니다.

하나의 JVM에 여러 애플리케이션을 배포할 수 있나요?

네, 각 애플리케이션의 컨텍스트 루트가 고유하다면 하나의 JVM에 여러 애플리케이션을 배포할 수 있습니다.

WebSphere에서 어떤 데이터베이스를 사용하나요?

사용 중인 데이터베이스에 대해 설명하세요. 대부분의 조직은 Oracle 데이터베이스를 사용하지만 WebSphere는 다음 데이터베이스도 지원합니다.

  • DB2
  • Oracle Database
  • Microsoft SQL Server
  • Sybase

웹 서버를 WAS에 어떻게 연결하나요?

WAS에 연결하는 방법은 두 가지가 있습니다.

  • 플러그인 사용: 웹 서버에 WAS 플러그인을 설치하는 방법으로, 가장 권장하는 방식입니다.
  • ProxyPass 사용: Apache를 사용하고 플러그인을 사용하지 않는 경우, ProxyPass 지시문을 사용하여 WAS JVM에 연결할 수 있습니다.

WAS 앞에 웹 서버가 필요한가요?

더 나은 보안, 성능, 유지 보수를 위해 WAS 앞에 웹 서버를 사용하는 것이 좋습니다.

셀이란 무엇인가요?

셀은 하나 이상의 노드를 포함할 수 있는 논리적인 노드 그룹입니다. 클러스터 및 모든 설정은 단일 관리 콘솔에서 관리됩니다.

관리 콘솔의 기본 세션 시간 초과는 얼마인가요?

30분입니다.

수정 팩이란 무엇인가요?

수정 팩은 IBM에서 제공하는 패치 모음입니다. 버그 수정, 보안 패치, 성능 개선 사항 등이 포함될 수 있습니다.

WebSphere에서 지원하는 레지스트리 또는 저장소는 무엇인가요?

  • 연합 저장소
  • 로컬 운영 체제
  • 독립형 LDAP 레지스트리
  • 독립 실행형 사용자 정의 레지스트리

공유 라이브러리란 무엇인가요?

중복 라이브러리 파일을 줄이기 위해 공유 라이브러리를 사용하는 것이 좋습니다. 하나의 공유 라이브러리는 셀 내의 여러 애플리케이션에서 사용할 수 있습니다.

컨텍스트 루트란 무엇인가요?

각 애플리케이션의 컨텍스트 루트는 셀 내에서 고유해야 합니다. 이는 배포 설명자에 정의되며, 애플리케이션에 접근하는 데 사용됩니다.

예를 들어 애플리케이션 A의 컨텍스트 루트가 ‘retail’이면 `http://servername:port/retail` URL을 통해 애플리케이션에 접근할 수 있습니다.

WAS 플러그인 설정 파일 이름은 무엇인가요?

WebSphere 플러그인 구성 파일 이름은 `plugin-cfg.xml`입니다.

WebContainer 스레드 풀 크기를 변경하는 방법은 무엇인가요?

WebContainer 스레드 풀은 JVM >> 스레드 풀 >> WebContainer 메뉴에서 변경할 수 있습니다.

배포된 애플리케이션의 컨텍스트 루트를 변경할 수 있나요?

네, 가능합니다. 관리 콘솔에서 애플리케이션 내부로 이동한 후 ‘웹 모듈용 컨텍스트 루트’를 클릭하여 컨텍스트 루트를 변경할 수 있습니다.

변경 후에는 JVM을 재시작해야 합니다.

프로필에서 사용하는 Java SDK를 변경하는 스크립트는 무엇인가요?

`managesdk.sh` 스크립트를 사용하여 Java SDK를 변경할 수 있으며, 이 스크립트는 bin 폴더에 있습니다.

PMT란 무엇인가요?

PMT(Profile Management Tool)는 WebSphere 프로필을 생성하고 관리하기 위한 GUI 도구입니다.

위에 언급된 내용들이 WebSphere 관리자 직업을 얻는 데 도움이 되기를 바랍니다. 이력서 및 면접 준비에 도움이 필요하시면 여기를 확인하세요. 유데미 강좌