IBM WebSphere Intervjuguide: 50 Ofte Stilte Spørsmål & Svar

En samling typiske IBM-intervjuspørsmål, egnet for både nybegynnere og erfarne kandidater.

Jeg får ofte forespørsler om å sette sammen en liste over intervjuspørsmål for IBM WebSphere Application Server, så jeg har hørt dere.

WebSphere er en applikasjonsserver (mellomvareprodukt) fra IBM, som er ledende på markedet for mellomvare.

WebSphere består av en rekke produkter, men denne artikkelen fokuserer utelukkende på WebSphere Application Server.

Dersom du er nysgjerrig på hvilke andre produkter som inngår i WebSphere-familien, så er de blant annet:

  • WebSphere Portal
  • WebSphere DataPower
  • WebSphere Cast Iron
  • WebSphere eXtreme Scale
  • WebSphere Front Office
  • WebSphere Message Broker
  • WebSphere MQ
  • WebSphere Real Time
  • WebSphere Remote Server
  • WebSphere Virtual Enterprise
  • WebSphere Community Edition
  • Og mange flere…

Er du klar til å gå gjennom spørsmålene?

Hva er Ripplestart?

Ripplestart innebærer å omstarte en WAS-klynge. Dette gjøres ved først å stoppe en JVM (Java Virtual Machine) og deretter starte den på nytt. Ved å benytte ripplestart sikrer man at kun én JVM er utilgjengelig om gangen, noe som resulterer i minimal nedetid for applikasjonene.

For eksempel: Hvis du har fem JVM-er i en klynge, vil ripplestarten først stoppe JVM1 og starte den igjen før den fortsetter med å stoppe den neste JVM-en i klyngen.

Hva gjør du når en JVM bruker 100 % CPU og minne på en server?

Det første steget er å identifisere hvilken JVM som forårsaker den høye ressursbruken. Deretter genererer du en tråddump av den aktuelle JVM-en for videre undersøkelser. Som en umiddelbar løsning for å redusere CPU- og minnebruken, kan du omstarte JVM-en.

Hva innebærer nodesynkronisering?

IBM WAS lagrer alle konfigurasjonsdata i et sentralt lager, kjent som «Master repository». Hver node har også sitt eget lokale lager.

Når du gjør endringer i noden via DMGR (Deployment Manager), må du synkronisere disse slik at konfigurasjonsendringene blir overført til de respektive nodenes servere.

Synkroniseringen foregår alltid fra det sentrale lageret til de lokale lagrene, noe som betyr at det er en enveis kommunikasjon.

Vil applikasjonen fungere problemfritt dersom DMGR er nede?

Ja, en DMGR-nedetid påvirker ikke applikasjoner som allerede kjører. Derimot vil du ikke kunne gjøre endringer eller distribuere nye applikasjoner via DMGR før den er oppe igjen.

Hvordan distribueres en applikasjon i WebSphere?

Det finnes primært tre metoder for applikasjonsdistribusjon:

  • Hot deployment: Kopier applikasjonsfilen til applikasjonskatalogen. Denne metoden er egnet for ikke-produksjonsmiljøer, men frarådes i produksjon.
  • DMGR: Applikasjoner kan distribueres via DMGR ved å navigere til «Applikasjoner» >> «Ny applikasjon».
  • Skripting: Du kan utvikle wsadmin-skript eller bruke Ant-oppgaver for å automatisere applikasjonsdistribusjon.

Hvorfor starter JVM automatisk selv om jeg manuelt stopper eller avbryter prosessen?

Dette kan skyldes to forhold:

Automatisk omstart kan være aktivert for JVM-en. Dette er standardinnstillingene som finnes under «JVM» >> «Overvåkingspolicy».

Dersom det ikke er tilfelle, kan det være et skript i cron som kontrollerer prosessen, og automatisk starter den på nytt hvis den er stoppet.

Hvilke filtyper kan distribueres i WebSphere?

Du kan distribuere WAR-, EAR-, JAR- eller SAR-moduler via DMGR-konsollen eller ved hjelp av skript.

Hva er en virtuell vert?

En virtuell vert tillater at flere URL-er (basert på IP-adresse eller fullt kvalifisert domenenavn) kan peke til en enkelt applikasjon. Konfigurasjonen gjøres i WAS-administrasjonskonsollen.

For at en applikasjon skal være tilgjengelig via en spesifikk URL, må denne URL-en være lagt til i en virtuell vert og knyttet til den aktuelle applikasjonen.

Hvordan håndterer du klager fra kunder om treg ytelse?

Treghet kan oppstå på grunn av mange faktorer, og det er viktig å identifisere om problemet ligger i WebSphere eller i andre komponenter. For å isolere problemet, bør du sjekke følgende:

  • Opplever alle brukere treghet?
  • Er hele applikasjonen treg, eller gjelder det bare enkelte funksjoner?
  • Hva skjer hvis du får tilgang til JVM-URL-en direkte (forbi webserveren)?

Dersom tregheten er lokalisert til JVM-en, kan du ta en dump og undersøke loggene for å finne årsaken. Det kan også være lurt å sjekke om det nylig har vært en utrulling og om tregheten startet etter denne.

Hvordan tar du en sikkerhetskopi av WAS-konfigurasjonen uten å stoppe DMGR?

Naviger til DMGR-profilens bin-mappe.

Kjør kommandoen ./backupConfig.sh -nostop for å ta sikkerhetskopi.

Hva er standard WAS-porter?

Standardporten for HTTP er 9080, og for HTTPS er det 9443. Du finner mer informasjon på siden for standardporter.

Hvilke WebSphere-utgaver finnes?

  • WAS – Network Deployment
  • WAS – Developers
  • WAS – z/OS
  • WAS – Hypervisor
  • WAS – Express
  • WAS – Base
  • WAS – Liberty Core

Hvordan genereres og distribueres en plugin?

  • Logg deg inn på WAS-administrasjonskonsollen.
  • Naviger til «Servere» >> «Webservere».
  • Velg aktuell server og klikk på knappene «Generer» og «Propagate».

Hvilke vanlige problemer har du erfart?

Vær alltid ærlig om din ekspertise. For å gi deg en idé, kan du nevne:

  • Virtuell vert ikke definert.
  • Loggene roterer ikke.
  • Interne serverfeil.
  • OutOfMemory-unntak.
  • Treg ytelse.
  • JVM starter ikke.
  • Høy CPU-/minne-/diskutnyttelse.

Hvordan sjekker du hvilken WAS-versjon som er installert?

  • Gå til profilens bin-mappe.
  • Kjør kommandoen ./versionInfo.sh

Hvordan vet du om en JVM er aktiv eller ikke?

Det finnes flere metoder for å verifisere dette:

  • Hvis du har et overvåkingsverktøy, sjekk om det finnes et varsel eller gjeldende status.
  • Logg deg inn på serveren og søk etter JVM-en med kommandoen: ps -ef | grep jvmname.
  • Sjekk om du har tilgang til JVM-URL-en.
  • Sjekk om du kan telnet til JVM-URL-en og porten.
  • Sjekk om JVM-porten lytter på serveren.
  • Bruk kommandoen serverStatus.sh –all for å se hvilke prosesser som kjører.

Velg den metoden som er mest praktisk for deg.

Hvilke loggfiler genereres av WebSphere?

  • SystemOut.log
  • SystemError.log
  • native_stdout.log
  • native_stderr.log

Hvordan genereres en tråddump?

Det finnes tre måter å generere en tråddump på:

  • Via DMGR-konsollen: Naviger til «Feilsøking» >> Velg JVM og klikk på «Java-kjerne».
  • Bruk kommandoen kill -3 PID for JVM-en.
  • Bruk wsadmin.sh, slik det er forklart her.

Hva er forskjellen på en vertikal og horisontal klynge?

I en vertikal klynge er alle medlemmer plassert på samme node eller server, mens en horisontal klynge er spredt over flere noder og servere i en celle.

Hva er garbage collection?

Garbage collection er en minnehåndteringsprosess som automatisk frigjør objekter som ikke lenger er i bruk av programmet.

Hvordan deaktiverer du sikkerhet i WebSphere?

Du kan deaktivere sikkerheten ved å kjøre kommandoen «securityoff» via wsadmin.sh. DMGR må startes på nytt etter at sikkerheten er deaktivert.

Hvordan aktiveres detaljert garbage collection-logging?

Detaljert garbage collection-logging (verbose GC) er ikke aktivert som standard. Hvis du trenger dette, følg disse stegene:

  • Naviger til «Servere» >> «Servertyper» >> «WebSphere Application Server».
  • Velg JVM >> «Prosessdefinisjon» under «Java og prosessstyring».
  • Klikk på «Java Virtual Machine» under «Ytterligere egenskaper» og huk av for «Detaljert søppelinnsamling».

Hvordan sørger du for at WebSphere starter automatisk ved serveromstart?

WebSphere genererer automatisk oppstartsskript i /etc/init.d som sikrer oppstart ved serveromstart.

Hvis skriptet likevel mangler, kan du lage et og plassere det i /etc/init.d, og deretter aktivere det som følger:

chkconfig -- add WebSphere #script file name
chkconfig WebSphere on

Se min detaljerte veiledning om hvordan du automatisk starter tjenester ved oppstart.

Hvordan øker du heap-størrelsen for en JVM?

  • Logg inn på administrasjonskonsollen.
  • Naviger til «Servere» >> «Servertyper» >> «WebSphere Application Server».
  • Velg JVM >> «Prosessdefinisjon» >> «Java Virtual Machine».

Her kan du angi innledende og maksimal heap-størrelse.

Kan du synkronisere en node når nodeagenten er nede?

Nei, nodeagenten må være aktiv for at synkroniseringen skal fungere.

Hvilke kommandoer brukes for å stoppe og starte henholdsvis DMGR, Nodeagent og JVM?

For å stoppe:

  • JVM – stopServer.sh JVMNAME
  • Nodeagent – stopNode.sh
  • DMGR – stopManager.sh

For å starte:

  • JVM – startServer.sh JVMNAME
  • Nodeagent – startNode.sh
  • DMGR – startManager.sh

Hva er nytt i WAS 8.5.5?

Noen av de viktigste nyhetene er:

  • Støtte for Java SE 7.
  • HPEL-logging.
  • Innebygd helseovervåking.
  • Liberty-profil.
  • Intelligent ruting.
  • Dynamisk klynging.
  • JDBC 4.1-klynging.
  • Web 2.0-støtte.

Du finner detaljert informasjon her.

Hva innebærer nodeføderasjon?

Føderasjon i WebSphere betyr å legge til en node i cellen. Dette gjøres med kommandoen addNode.sh, og kan ta noen minutter avhengig av nodestørrelsen.

Hva er FFDC?

FFDC (First Failure Data Capture) fanger opp hendelser og feil som oppstår under WebSphere-kjøring. FFDC-data kan være nyttige for å analysere problemene, og blir ofte etterspurt av IBM support dersom du kontakter dem for hjelp.

Kan du dekode WebSphere keystore XOR?

Ja, dette kan gjøres via et nettbasert verktøy: http://strelitzia.net/wasXORdecoder/wasXORdecoder.html

Hvilket skriptspråk er standard i WebSphere, JACL eller Jython?

JACL er standard skriptspråk i WebSphere.

Hvordan bruker du en fixpack i WebSphere 8.5.x?

IBM Installation Manager (IM) brukes for å installere en fixpack. Se en guide for detaljert instruksjon.

Hvilke miljøer har du erfaring med?

Vær ærlig og beskriv de miljøene du har jobbet med. Dette kan for eksempel være:

  • Utvikling
  • CIT
  • SIT
  • UAT
  • DEMO
  • Pre-produksjon
  • Produksjon
  • Staging
  • QA

Hvor er webserveren din plassert?

Forklar applikasjonsarkitekturen du er kjent med. I et typisk produksjonsmiljø som er vendt mot internett, vil webservere ofte være plassert i DMZ, mens applikasjonsserveren befinner seg i et kjernenettverk.

Dette innebærer at de nødvendige portene må være åpnet i brannmuren mellom webserverne og applikasjonsserverne.

Hva er sesjonsaffinitet?

Sesjonsaffinitet, også kalt sesjonsutholdenhet, sørger for at forespørsler knyttes til en spesifikk JVM. Dette betyr at alle etterfølgende forespørsler vil bli rutet til den samme JVM-en.

Kan du distribuere mer enn én applikasjon på en enkelt JVM?

Ja, det er mulig å distribuere flere applikasjoner på en enkelt JVM, så lenge hver applikasjons kontekstrot er unik.

Hvilken database bruker du med WebSphere?

Fortell dem hvilken database du bruker. De fleste organisasjoner bruker Oracle database, men WebSphere støtter også følgende databaser:

  • DB2
  • Oracle Database
  • Microsoft SQL Server
  • Sybase

Hvordan kobler du en webserver til WAS?

Det finnes to metoder for å koble til WAS:

  • Bruk av plugin: Dette er den anbefalte metoden. Installer WAS-pluginen på webserveren.
  • Bruk av ProxyPass: Hvis du bruker Apache og ikke ønsker å bruke plugin, kan du koble til WAS-JVM-en ved hjelp av ProxyPass-direktivet.

Trenger jeg en webserver foran WAS?

Det anbefales å bruke en webserver foran WAS for bedre sikkerhet, ytelse og vedlikehold.

Hva er en celle?

En celle er en logisk gruppe av noder, som kan inkludere en eller flere noder, klynger og administreres fra én enkelt administrativ konsoll.

Hva er standard tidsavbrudd for en administrativ konsoll?

30 minutter.

Hva er en fixpack?

En fixpack er en samling av oppdateringer som leveres av IBM. Den kan inneholde feilrettelser, sikkerhetsoppdateringer og ytelsesforbedringer.

Hvilke register eller depot støttes i WebSphere?

  • Federert depot.
  • Lokalt operativsystem.
  • Frittstående LDAP-register.
  • Frittstående tilpasset register.

Hva er delte biblioteker?

Det anbefales å opprette et delt bibliotek for å redusere duplisering av bibliotekfiler. Et enkelt delt bibliotek kan brukes av flere applikasjoner i en celle.

Hva er en kontekstrot?

Kontekstroten for hver applikasjon skal være unik i cellen. Den defineres i distribusjonsbeskrivelsen og brukes til å få tilgang til applikasjonen.

For eksempel: Hvis applikasjon A har en kontekstrot kalt «retail», vil applikasjonen være tilgjengelig fra http://servername:port/retail.

Hva er navnet på WAS-plugin-konfigurasjonsfilen?

WebSphere-plugin-konfigurasjonsfilen heter plugin-cfg.xml

Hvordan endrer du trådpoolstørrelsen for WebContainer?

Trådpoolen for WebContainer kan endres ved å navigere til «JVM» >> «Trådpuljer» >> «WebContainer».

Kan du endre kontekstroten for en distribuert applikasjon?

Ja, det er mulig. I administrasjonskonsollen navigerer du til applikasjonen og klikker på «Kontekstrot for nettmoduler» for å endre kontekstroten.

JVM må startes på nytt etter endringen.

Hvilket skript brukes til å endre Java SDK som benyttes av profilen?

managesdk.sh-skriptet finnes i bin-mappen og brukes for å endre SDK.

Hva er PMT?

PMT (Profile Management Tool) er et GUI-verktøy for å opprette og administrere WebSphere-profiler.

Jeg håper dette hjelper deg med å lande en jobb som WebSphere-administrator. Hvis du trenger hjelp med CV og intervju, se denne opplæringen.