I often receive a request to put together the list of interview questions asked for IBM WebSphere Application Server, so I hear you.
WebSphere is an Application Server (Middleware product) by IBM and IBM holds number one position in Middleware market share.
WebSphere is a suite of product, and this article is only about WebSphere Application Server.
In case you are wondering what products are under WebSphere suite.
- WebSphere Portal
- WebSphere DataPower
- WebSphere Cast Iron
- WebSphere eXtreme
- WebSphere Front Office
- WebSphere Message Broker
- WebSphere MQ
- WebSphere Real Time
- WebSphere Remote Server
- WebSphere Virtual Enterprise
- WebSphere community
- And much more…
Ready to go through the questions?
1. What is Ripplestart?
Ripplestart is to restart the WAS cluster. It first stops the JVM and then starts it. By doing ripplestart you ensure only one JVM is down at one time hence no downtime to the applications.
Ex: you have 5 JVMs in a cluster and when you do ripplestart it will stop JVM1 and start JVM1 before stopping other JVM in a cluster.
2. What would you do when JVM is consuming 100% CPU & Memory on a server?
First of all, identify which JVM has high utilization. Take a thread dump of identified JVM for investigation and restart the JVM as a workaround to cool down the CPU/Memory.
3. What is node sync?
IBM WAS stores the entire configuration in a central repository called “Master repository,” and every node will have the local repository.
When you make any changes to the node through DMGR, you must sync it, so configuration is pushed to respective node’s server.
Sync always happens from master to local repository, so it’s one-way communication.
4. Can application run without any issue if DMGR is down?
Yes, DMGR down doesn’t impact existing running application. However, if you need to make any changes or deployment through DMGR, then that would be affected.
5. How to deploy an application in WebSphere?
There are three possible ways to deploy.
- Hot deployment – copy the application file into the application directory. This is good for the non-production environment and not recommended for production.
- DMGR – You can deploy an application through DMGR by going to Applications >> New application
- Scripts – You can develop wsadmin scripts or ant tasks for application deployment.
6. Why does JVM come up automatically though I stop/kill the process manually?
There could be two things.
Automatic restart is enabled for the JVM which is default settings and available under JVM>>Monitoring policy.
If above is not the case then, there might be a script in cron, which checks for the process, and if not found then start it.
7. What file types you can deploy into WebSphere?
You can deploy WAR, EAR, JAR or SAR module through DMGR console or scriptings.
8. What is a virtual host?
Virtual host contains multiple URLs (IP or FQDN based) on a single application and configuration is done through WAS administrative console.
In order to allow an application to be accessible on particular URL, you must have this URL in a virtual host and associated with the application.
9. How would you deal with slow application complaint from clients?
Slowness could cause due to various reasons, and it’s essential to identify if it’s from WebSphere or some other components. To isolate, you can check the following.
- Is this slowness for all the users?
- Is entire application slow or just particular functionality?
- How about accessing JVM URL (bypassing Web server) directly?
If the slowness is found in JVM, then you can take the dump and check the logs to find out the cause. It would be worth checking if there were any release and slowness is just after that.
10. How to take WAS configuration backup without stopping the DMGR?
Go to DMGR profile and bin folder
Execute ./backupConfig.sh -nostop to take a backup
11. What’s the default WAS port?
The default port for HTTP is 9080 and HTTPS 9443. Checkout default port page for more.
12. What are the WebSphere editions available?
- WAS – Network Deployment
- WAS – Developers
- WAS – z/OS
- WAS – Hypervisor
- WAS – Express
- WAS – Base
- WAS – Liberty core
13. How to generate and propagate the plugin?
- Login into WAS Administrative console
- Go to Servers >> Web Servers
- Select the server and click on “Generate” & “Propagate” button.
14. What are the common issues you have experienced?
You should always be honest about your expertise, however, to give you an idea:
- Virtual host not defined
- Logs not moving
- Internal Server Error
- OutOfMemory exception
- JVM not starting
- High CPU/Memory/Disk utilization
15. How to check the installed WAS version?
- Go to profile and bin folder
- Execute ./versionInfo.sh
16. How do you know if your JVM is up or not?
There are multiple ways to confirm this.
- Do you have any monitoring tool if so check if there is an alert or current status
- Login to a server and grep for the JVM by ps -ef | grep jvmname
- Check if you can access the JVM URL
- Check if you can telnet JVM URL and port
- Check if JVM port is listening on the server
- Use serverStatus.sh –all command to see what is running
Choose whatever is easy for you.
17. Tell me some of the log files generated by WebSphere?
18. How to generate a thread dump?
There are three possible ways to generate a thread dump.
- Through DMGR console: Go to Troubleshooting >> Select the JVM and click on Java core
- Kill -3 PID of JVM
- Using wsadmin.sh as explained here
19. What’s a difference between vertical and horizontal cluster?
The vertical cluster has its member on same node or server where horizontal is across multiple nodes and servers in a cell.
20. What is garbage collection?
Garbage collection is a memory management process which automatically frees the objects that are no longer in use by the program.
21. How do you disable security in WebSphere?
You can disable security by executing “securityoff” through wsadmin.sh. DMGR must be restarted after switching off the security.
22. How to enable verbose garbage collection?
Verbose GC is not enabled by default and if you need you can do it by;
- Servers >> Server Type >> WebSphere Application Server
- Select the JVM >> Process definition under “Java and process management”
- Click Java virtual machine under “additional properties” and tick the checkbox for “verbose garbage collection.”
23. How to make WebSphere auto-start when server reboot?
WebSphere automatically generates startup script in /etc/init.d which will ensure it starts when reboot.
However, if for some reason script doesn’t exist then you can create one and put under /etc/init.d and enable it as below.
chkconfig — add WebSphere #script file name chkconfig WebSphere on
Refer my detailed guide on how to auto-start services on boot.
24. How to increase the heap size of JVM?
- Login to Administrative Console
- Go to servers >> Server types >> WebSphere application server
- Select the JVM >> Process definition >> java virtual machine
You can enter initial and maximum heap size here.
25. Can you Sync the node when nodeagent is down?
Absolutely, nodeagent must be in stopped for sync to work.
26. What’s a command to stop and start DMGR, Nodeagent & JVM?
- JVM – stopServer.sh JVMNAME
- Nodeagent – stopNode.sh
- DMGR – stopManager.sh
- JVM – startServer.sh JVMNAME
- Nodeagent – startNode.sh
- DMGR – startManager.sh
27. What’s new in WAS 8.5.5?
On the high level:
- Java SE 7 support
- HPEL logging
- Inbuilt health management
- Liberty profile
- Intelligent routing
- Dynamic clustering
- JDBC 4.1 clustering
- Web 2.0 support
You may also refer the detailed information here.
28. What does it mean by node federation?
Federation in WebSphere means adding a node to the Cell. This is done by addNode.sh command, and this may take a few minutes based on the node size.
29. What is FFDC?
FFDC (First failure data capture) capture event and error during WebSphere runtime. FFDC data can be beneficial to analyze the issue, and this is often asked by IBM support if we contact them for any issues.
30. Can you decode WebSphere keystore XOR?
Yes, you can through online tool – http://strelitzia.net/wasXORdecoder/wasXORdecoder.html
31. Which scripting language is the default in WebSphere? JACL or Jython?
JACL is the default scripting language in WebSphere.
32. How can you apply fix pack in WebSphere 8.5.x?
IBM IM can be used to apply the fix. Refer how to apply fix pack guide for detailed instruction.
33. What are the environments you support?
Be honest and explain the environments you support. You may be supporting the following.
34. Where is your web server hosted?
Again explain about your supported application architecture. However, in a typical production environment for the Internet-facing applications, Web servers would be in DMZ and application server in a core network.
This means you must have necessary ports allowed in the firewall between web servers to an application server.
35. What is the session affinity?
Session affinity in another word is persistence session. Having session affinity allow a request to bind with single JVM. It means the returning request will always be routed to the same JVM.
36. Can you deploy more than one application in single JVM?
Yes, multiple applications deployment is possible on single JVM as long as context root for each application is unique.
37. Which database do you use with Websphere?
Tell them what you use. Most of the organization use Oracle database but WebSphere support the following database as well.
- Oracle Database
- Microsoft SQL Server
38. How do you connect Web Server to WAS?
There are two ways to connect to WAS.
- Using plugin – this is the recommended method to install WAS plugin on a web server.
- Using ProxyPass – if you are using Apache and don’t want to use the plugin then you can connect to WAS JVM by ProxyPass directive.
39. Do I need Web Server in front of WAS?
It’s recommended to have supported web server in front of WAS for better security, performance & maintenance.
40. What is a Cell?
A cell is a logical group of nodes, which can have one or more nodes; clusters and all are administered from a single administrative console.
41. What is the default session timeout for an administrative console?
42. What is a fix pack?
A fix pack is a collection of patches provided by IBM. It may contain bug fixes, security patches & performance improvements.
43. What is the registry or repository supported in WebSphere?
- Federated repository
- Local operating system
- Standalone LDAP registry
- Standalone custom registry
44. What is shared libraries?
Creating a shared library is recommended to reduce the duplicate library files. The single shared library can bed used by multiple applications within a cell.
45. What is context root?
A context root for each application should be unique within the cell. It’s defined n deployment descriptor and used to access the application.
For an ex: if application A has context root called “retail” then an application will be accessible from http://servername:port/retail
46. What is WAS plugin configuration file name?
WebSphere plugin configuration name is plugin-cfg.xml
47. How to change WebContainer thread pool size?
WebContainer thread pool can be changed by going inside JVM >> Thread pools >> WebContainer
48. Can you change the context root for deployed application?
Yes, it’s doable. To do this through the administrative console, go inside the application and click “Context root for web modules” to change the context root.
JVM must be restarted after the change.
49. Which script to change the Java SDK used by profile?
managesdk.sh script is available in bin folder which will help to change the SDK.
50. What is PMT?
PMT (profile management tool) is GUI to create and manage the WebSphere profiles.
I hope above helps you to get a WebSphere administrator job. If you need help with resume and interview then check out this tutorial.