Вы находитесь на странице: 1из 3

If dealing with a J2EE application, what app server would you deploy?

Why
WebSphere over Tomcat?

Webspehre is app server and tomcat is webserver. So Websphere is preferred if you


want to run distributed transactions and ejb. Tomcat is good enough if you provide
merely http prototcol level service alone

What type of Web Services are you working on? Did you build custom
interfaces to go with them?

Working on using XML based webservices to connect with OAM as the native
interfaces do not play well with custom legacy application. In the past used and JMS
with CORBA interface to connect with legacy mainframe application

What are some of the steps to validate performance of build?

Load testing for 20% more users than projected is good starting place.
use tools like jmeter
If you are using Oracle databases, ensure that your DBA team is reviewing the AWR
Report on a regular basis, especially in the context of an incident and root cause
analysis process. Same analysis approach should also be performed for other
database vendors.

In 30 seconds, if you step into a project where development has been done,
how do your review existing code?
One of the best ways is to review the unit test cases used during development . Also
if you run each of the use cases in debugger mode of the IDE it will give me a better
picture when a particular method is invoked


What recommendations would you make to customer if there are
performance issues?
Proper capacity planning involving load and performance testing is critical here to
fine-tune your database environment and detect any problems at the SQL level.
Analyze JVM Thread Dump and pinpoint the code where you actually are slowing
down
Make sure to spend enough time to fortify the "Operation" side of your database
environment (disk space, data files, REDO logs, table spaces, etc.) along with proper
monitoring and alerting. Failure to do so can expose your client IT environment to
major outage scenarios and many hours of downtime

When writing code, how do you handle multi-threading?

First of all, if you are planning to have a lot of receivers, I would not use the ONETHREAD-AND-QUEUE-PER-RECEIVER approach. You could end up with a lot of
threads not doing anything most of the time and I could hurt you performance wide.
An alternative is using a thread pool of worker threads, just picking tasks from a
shared queue, each task with its own receiver ID, and perhaps, a shared dictionary
with socket connections to each receiver for the working threads to use

Development, staging, production process you employ between stages?


Use any tools?

Used subversion version control and visual source safe to gate between different
environment
One important separate out each environment configuration profiles to ensure
global, server-specific variables or configuration should be specified in a separate
configuration file: database connection information, server path, base URL for the
Web site, debug settings

Hibernate how handle performance for end user?

Keep session memory footprint low


Page at DB level instead of at webserver level
While load testing use wide range of data to avoid the cache and simulate real
performance of end users

What tools have you used in past to monitor code


JRockit is a complete solution for Java SE which includes a high-performance JVM,
profiling, monitoring and diagnostics tools, and can be used for predicting latency in
Java applications
Eclipse Memory Analyzer is a Java heap analyzer that helps you find memory leaks and
reduce memory consumption. It is more suited for being a general purpose toolkit to
analyze Java heap dumps and calculation of its size. It can be used also reports leak
suspects and memory consumption anti-patterns.

Вам также может понравиться