50 често постављаних питања и одговора за ВебСпхере интервју

Преглед садржаја

Zbirka često postavljanih pitanja za intervju za IBM, namenjena kandidatima od početnog do naprednog nivoa iskustva.

Često dobijam zahteve da sastavim spisak pitanja koja se postavljaju na razgovorima za posao u vezi sa IBM WebSphere Application Serverom, pa evo, uslišavam vaše molbe.

WebSphere je serverski program (middleware proizvod) kompanije IBM, a IBM je lider na tržištu middleware rešenja.

WebSphere je skup proizvoda, ali ovaj tekst fokusira se isključivo na WebSphere Application Server.

Ukoliko se pitate koji sve proizvodi spadaju pod WebSphere brend, evo nekih:

  • WebSphere Portal
  • WebSphere DataPower
  • WebSphere Liberty
  • WebSphere eXtreme
  • WebSphere Front Office
  • WebSphere Message Broker
  • WebSphere MQ
  • WebSphere Real Time
  • WebSphere Remote Server
  • WebSphere Virtual Enterprise
  • WebSphere zajednica
  • I još mnogo toga…

Jeste li spremni da pređemo na pitanja?

1. Šta je RippleStart?

RippleStart je proces ponovnog pokretanja WAS klastera. Prvo se zaustavlja JVM, a zatim se ponovo pokreće. Korišćenjem RippleStart metode osigurava se da samo jedan JVM nije aktivan u datom trenutku, čime se izbegava zastoj aplikacije.

Na primer: ako imate 5 JVM-ova u klasteru, RippleStart će prvo zaustaviti JVM1 i ponovo ga pokrenuti, pre nego što pređe na zaustavljanje i ponovno pokretanje drugog JVM-a u klasteru.

2. Šta biste uradili kada JVM troši 100% CPU-a i memorije na serveru?

Prvo, potrebno je identifikovati koji JVM ima visoku iskorišćenost resursa. Nakon toga, uzmite thread dump identifikovanog JVM-a radi analize i kao privremeno rešenje za smanjenje opterećenja CPU/memorije, ponovo pokrenite JVM.

3. Šta je sinhronizacija čvorova?

IBM WAS čuva celokupnu konfiguraciju u centralnom repozitorijumu koji se zove „Master repozitorijum“, dok svaki čvor ima svoj lokalni repozitorijum.

Kada napravite bilo kakve izmene na čvoru preko DMGR-a, neophodno je izvršiti sinhronizaciju kako bi se konfiguracija prenela na server odgovarajućeg čvora.

Sinhronizacija uvek ide od glavnog ka lokalnom repozitorijumu, što znači da se radi o jednosmernoj komunikaciji.

4. Da li aplikacija može da radi bez problema ako DMGR ne radi?

Da, neaktivnost DMGR-a ne utiče na trenutno pokrenutu aplikaciju. Međutim, ukoliko je potrebno izvršiti bilo kakve promene ili implementacije putem DMGR-a, to neće biti moguće.

5. Kako postaviti aplikaciju u WebSphere?

Postoje tri glavna načina za implementaciju:

  • Hot deployment – Kopiranje datoteke aplikacije u direktorijum aplikacije. Ovo je pogodno za razvojno okruženje, ali se ne preporučuje za produkciju.
  • DMGR – Implementacija aplikacije preko DMGR-a, putem opcije Aplikacije >> Nova aplikacija.
  • Skripte – Razvoj wsadmin skripti ili ant zadataka za implementaciju aplikacije.

6. Zašto se JVM automatski ponovo pokreće iako ručno zaustavim/ubijem proces?

Postoji nekoliko mogućih razloga:

Automatsko ponovno pokretanje je omogućeno za JVM, što je podrazumevana postavka i može se naći u JVM >> Monitoring Policy sekciji.

Ako to nije slučaj, možda postoji skripta u cron-u koja proverava proces i pokreće ga ako nije pronađen.

7. Koje tipove datoteka možete da implementirate u WebSphere?

Možete da implementirate WAR, EAR, JAR ili SAR module putem DMGR konzole ili skriptovanjem.

8. Šta je virtuelni host?

Virtuelni host sadrži više URL adresa (zasnovanih na IP ili FQDN) za jednu aplikaciju, a konfiguracija se vrši preko WAS administrativne konzole.

Da bi aplikacija bila dostupna na određenom URL-u, taj URL mora biti naveden u virtuelnom hostu i povezan sa aplikacijom.

9. Kako biste rešavali pritužbe klijenata na sporu aplikaciju?

Sporost može biti uzrokovana raznim faktorima i ključno je utvrditi da li je problem u WebSphere-u ili nekoj drugoj komponenti. Za početak, možete proveriti sledeće:

  • Da li svi korisnici imaju problem sa sporim radom?
  • Da li je spora cela aplikacija ili samo određena funkcionalnost?
  • Kako radi direktan pristup JVM URL-u (zaobilazeći web server)?

Ako se sporost javlja na nivou JVM-a, možete uzeti thread dump i proveriti logove kako biste pronašli uzrok. Takođe, treba proveriti da li je bilo nekih izmena pre pojave sporosti.

10. Kako napraviti rezervnu kopiju WAS konfiguracije bez zaustavljanja DMGR-a?

Idite u DMGR profil i bin folder.

Pokrenite ./backupConfig.sh -nostop da napravite rezervnu kopiju.

11. Koji je podrazumevani WAS port?

Podrazumevani HTTP port je 9080, a HTTPS port je 9443. Detaljnije informacije možete naći na stranici sa podrazumevanim portovima.

12. Koja su dostupna WebSphere izdanja?

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

13. Kako generisati i propagirati plugin?

  • Prijavite se na WAS Administrativnu konzolu.
  • Idite na Servers >> Web servers.
  • Odaberite server i kliknite na dugme „Generate“ i „Propagate“.

14. Sa kojim uobičajenim problemima ste se susretali?

Važno je da budete iskreni o svom iskustvu kako biste dali realan prikaz:

  • Virtuelni host nije definisan.
  • Logovi se ne rotiraju.
  • Internal Server Error.
  • OutOfMemory exception.
  • Sporost aplikacije.
  • JVM se ne pokreće.
  • Visoka iskorišćenost CPU/memorije/diska.

15. Kako proveriti instaliranu WAS verziju?

  • Idite u profil i bin folder.
  • Pokrenite ./versionInfo.sh

16. Kako znate da li je vaš JVM pokrenut ili ne?

Postoji više načina da se ovo potvrdi:

  • Ako koristite alat za praćenje, proverite da li ima upozorenja ili trenutni status.
  • Prijavite se na server i pomoću komande ps -ef | grep jvmname pronađite JVM proces.
  • Proverite da li možete da pristupite JVM URL-u.
  • Proverite da li možete telnet-ovati na JVM URL i port.
  • Proverite da li JVM port sluša na serveru.
  • Koristite komandu serverStatus.sh –all da vidite šta radi.

Odaberite način koji vam najviše odgovara.

17. Navedite neke od log datoteka koje generiše WebSphere?

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

18. Kako generisati thread dump?

Postoje tri načina da generišete thread dump:

  • Preko DMGR konzole: idite na Troubleshooting >> Izaberite JVM i kliknite na Java core.
  • Koristite kill -3 PID JVM-a.
  • Koristite wsadmin.sh kao što je objašnjeno ovde.

19. Koja je razlika između vertikalnog i horizontalnog klastera?

Vertikalni klaster ima sve članove na istom čvoru ili serveru, dok horizontalni klaster koristi više čvorova i servera u okviru ćelije.

20. Šta je Garbage Collection?

Garbage Collection je proces upravljanja memorijom koji automatski oslobađa objekte koje program više ne koristi.

21. Kako onemogućiti bezbednost u WebSphere?

Bezbednost se može onemogućiti komandom „securityoff“ preko wsadmin.sh. Nakon isključivanja bezbednosti, DMGR se mora ponovo pokrenuti.

22. Kako omogućiti verbose garbage collection?

Verbose GC nije podrazumevano uključen, a možete ga omogućiti na sledeći način:

  • Servers >> Server Types >> WebSphere Application Server.
  • Odaberite JVM >> Process Definition pod „Java and Process Management“.
  • Kliknite na Java Virtual Machine pod „Additional Properties“ i označite polje „Verbose garbage collection“.

23. Kako da WebSphere automatski startuje kada se server restartuje?

WebSphere automatski generiše skriptu za pokretanje u /etc/init.d koja će osigurati da se pokrene prilikom restarta.

Međutim, ako skripta iz nekog razloga ne postoji, možete je sami kreirati i postaviti u /etc/init.d, a zatim omogućiti na sledeći način:

chkconfig --add WebSphere #ime skripta
chkconfig WebSphere on

Detaljnije uputstvo možete pogledati u mom vodiču za automatsko pokretanje servisa prilikom startovanja sistema.

24. Kako povećati veličinu JVM heap-a?

  • Prijavite se na administrativnu konzolu.
  • Idite na Servers >> Server Types >> WebSphere Application Server.
  • Odaberite JVM >> Process Definition >> Java Virtual Machine.

Ovde možete uneti početnu i maksimalnu veličinu heap-a.

25. Da li možete da sinhronizujete čvor kada nodeagent nije aktivan?

Ne, nodeagent mora biti pokrenut da bi sinhronizacija radila.

26. Koja je komanda za zaustavljanje i pokretanje DMGR, Nodeagent & JVM?

Za zaustavljanje:

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

Za pokretanje:

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

27. Šta je novo u WAS 8.5.5?

U osnovi:

  • Podrška za Java SE 7.
  • HPEL logging.
  • Ugrađeni health management.
  • Liberty profile.
  • Inteligentno rutiranje.
  • Dinamičko grupisanje.
  • JDBC 4.1 grupisanje.
  • Podrška za Web 2.0.

Detaljne informacije možete pogledati ovde.

28. Šta se podrazumeva pod federacijom čvorova?

Federacija u WebSphere-u znači dodavanje čvora ćeliji. Ovo se radi komandom addNode.sh i može potrajati nekoliko minuta, u zavisnosti od veličine čvora.

29. Šta je FFDC?

FFDC (First Failure Data Capture) je prikupljanje podataka o događajima i greškama tokom izvođenja WebSphere-a. FFDC podaci mogu biti korisni za analizu problema, a IBM podrška često traži ove podatke prilikom prijavljivanja problema.

30. Da li je moguće dekodirati XOR za WebSphere keystore?

Da, možete koristiti online alat – http://strelitzia.net/wasXORdecoder/wasXORdecoder.html

31. Koji skriptni jezik je podrazumevani u WebSphere-u? JACL ili Jython?

JACL je podrazumevani jezik za skriptovanje u WebSphere-u.

32. Kako implementirati fix pack u WebSphere 8.5.x?

IBM Installation Manager (IM) se koristi za primenu fix pack-ova. Pogledajte vodič za implementaciju fix pack-a za detaljna uputstva.

33. Koja okruženja podržavate?

Budite iskreni i navedite okruženja koja podržavate. Moguće je da podržavate sledeća okruženja:

  • Razvoj
  • CIT
  • SIT
  • UAT
  • DEMO
  • Pre-produkcija
  • Produkcija
  • Staging
  • QA

34. Gde je hostovan vaš web server?

Opišite arhitekturu vaše aplikacije. U tipičnom produkcionom okruženju za internet aplikacije, web serveri bi bili u DMZ-u, a serveri aplikacija u core mreži.

To znači da morate dozvoliti potrebne portove u firewall-u između web servera i servera aplikacija.

35. Šta je session affinity?

Session affinity je, drugim rečima, persistent session. Session affinity omogućava zahtevu da se poveže sa jednim JVM-om. To znači da će se svi zahtevi za vraćanje uvek preusmeravati na isti JVM.

36. Da li je moguće implementirati više od jedne aplikacije u jednom JVM-u?

Da, moguće je implementirati više aplikacija na jednom JVM-u, pod uslovom da je root context za svaku aplikaciju jedinstven.

37. Koju bazu podataka koristite sa WebSphere?

Navedite koju bazu podataka koristite. Većina organizacija koristi Oracle bazu podataka, ali WebSphere podržava i sledeće baze:

  • DB2
  • Oracle Database
  • Microsoft SQL Server
  • Sybase

38. Kako povezujete web server sa WAS-om?

Postoje dva načina za povezivanje sa WAS-om:

  • Korišćenje plugin-a – ovo je preporučeni način, gde se instalira WAS plugin na web server.
  • Korišćenje ProxyPass – ukoliko koristite Apache i ne želite da koristite plugin, možete se povezati na WAS JVM pomoću ProxyPass direktive.

39. Da li vam je potreban web server ispred WAS-a?

Preporučuje se korišćenje podržanog web servera ispred WAS-a radi bolje bezbednosti, performansi i lakšeg održavanja.

40. Šta je ćelija?

Ćelija je logička grupa čvorova koja može imati jedan ili više čvorova; klasteri i svi se administriraju sa jedne administrativne konzole.

41. Koje je podrazumevano vremensko ograničenje sesije za administrativnu konzolu?

30 minuta

42. Šta je fix pack?

Fix pack je kolekcija zakrpa koje obezbeđuje IBM. Može da sadrži ispravke grešaka, bezbednosne zakrpe i poboljšanja performansi.

43. Koje registre ili repozitorijume WebSphere podržava?

  • Federated repositories
  • Local OS
  • Standalone LDAP registry
  • Standalone Custom registry

44. Šta su shared libraries (deljene biblioteke)?

Preporučuje se kreiranje shared libraries kako bi se izbeglo dupliranje biblioteka. Jednu shared library može da koristi više aplikacija u okviru ćelije.

45. Šta je root context?

Root context za svaku aplikaciju mora biti jedinstven unutar ćelije. Definiše se u deskriptoru implementacije i koristi se za pristup aplikaciji.

Na primer: ako aplikacija A ima root context „prodaja“, tada će aplikaciji moći da se pristupi putem http://server:port/prodaja

46. Kako se zove konfiguracioni fajl WAS plugin-a?

Konfiguracioni fajl WebSphere plugin-a se zove plugin-cfg.xml

47. Kako promeniti veličinu thread pool-a WebContainer?

Thread pool WebContainer-a se može promeniti u JVM >> Thread Pools >> WebContainer.

48. Da li možete promeniti root context za implementiranu aplikaciju?

Da, moguće je. To se radi u administrativnoj konzoli, tako što odete na aplikaciju i kliknete na „Root context for Web modules“ kako biste promenili root context.

Nakon promene, JVM se mora ponovo pokrenuti.

49. Koju skriptu koristiti za promenu Java SDK koji profil koristi?

Skripta manageSDK.sh, koja se nalazi u bin folderu, služi za promenu SDK.

50. Šta je PMT?

PMT (Profile Management Tool) je GUI alat za kreiranje i upravljanje WebSphere profilima.

Nadam se da će vam ovo pomoći da dobijete posao WebSphere administratora. Ako vam treba pomoć oko pisanja biografije i pripreme za intervju, pogledajte ovaj priručnik.