Blog Archives

02: 15 key considerations for low latency Java applications

Extends Writing low latency applications in Java interview Q&As. If the job description says “low latency” application, then be prepared. Even if “low latency” experience is not a requirement, all employers like candidates who can not only build systems that perform well, but also can stress test (e.g. JMeter), profile…

Tags:

12 Java design patterns interview Q&As

Q1. Why use design patterns? A1. 1) Capture design experience from the past: E.g. Facade and value object patterns evolved from performance problems experienced due to multiple remote calls. 2) Promote reuse without having to reinvent the wheel: E.g. The flyweight pattern improves application performance through object reuse, which minimizes…



15 Security key area interview Q&A for Java developers

Q1. Can you provide a high level overview of the “access control security” in a recent application you had worked? A1. As shown below, SiteMinder is configured to intercept the calls to authenticate the user. Once the user is authenticated, a HTTP header “SM_USER” is added with the authenticated user…

Tags:

18 Agile Development interview Q&A for Java developers

Q1. What are the typical roles and responsibilities of an agile core team? A1. The Product Owner represents the stakeholders and is the voice of the customer. He or she is accountable for ensuring that the team delivers value to the business. The Product owner writes typically the user stories,…



4 FAQ Performance tuning in Java interview Q&As

Q1. In your experience, what are some of the major causes of performance bottlenecks in Java applications? A1. Cause #1: The JVM spends more time performing garbage collection due to improper Garbage Collection (GC) configuration. E.g. Young generation being too small. Heap size is too small (use -Xmx). The application…

Tags:

4 JEE Design Patterns Interview Q&As

Unlike J2EE, Java EE 6 consists of annotated classes without any dependencies on the platform. This approach eliminates the need to separate business logic from the infrastructure and makes the majority of J2EE patterns and best practices superfluous. The following J2EE design patterns can be obsolete: — Service Locator (Use…



5 Java concurrency management interview Q&As

Concurrency is very important in any modern system, and this is one topic many software engineers struggle to have a good grasp. The complexity in concurrency programming stems from the fact that the threads often need to operate on the common data. Each thread has its own sequence of execution,…

Tags:

6 Scaling your Java applications interview Q&As

Q1. What is the difference between performance and scalability? A1. The performance and scalability are two different things. For example, if you are in the business of transporting people in a van, the performance is all about utilizing more powerful engine to transporting your people quicker to their destination. Scalability…

Tags:

8 Java memory management interview Q&As

Q1. Are memory leaks possible in Java, which has memory management via automatic Garbage Collection? A1. Memory and resource leaks are possible in any robust application. In managed languages such as Java and C#, the developers do not have to worry too much about memory management as the garbage collector…



9 Java Transaction Management Interview Q&As

Q1. What is a Transaction? A1. A transaction is a set of operations that should be completed as a unit. If one operation fails then all the other operations fail as well. Example 1: If you transfer funds between two accounts there will be two operations in the set Operation…

Tags:

Design pattern intents interview Q&A

Q1. Why do Proxy, Decorator, Adapter, Bridge, and Facade design patterns look very similar? A1. Some design patterns do have subtle differences, and it is important to understand the intent of a pattern. Decorator and chain of responsibility may look similar but the intent is different. Decorator has a subtle…



Flyweight design pattern to improve memory usage & performance

Flyweight pattern is about sharing a collection of objects. The flyweight design pattern is a structural pattern used to improve memory usage and performance (i.e. due to shorter and less frequent garbage collections) by creating fewer objects. Instead of creating a large number of objects, we reuse the objects that…



Monitoring/Profiling Java applications interview Q&A

Q1 How will you go about monitoring your Java application for potential performance or memory issues? A1 1. Visual VM for monitoring Java memory, CPU, threads, etc VisualVM is a visual tool integrating several command-line JDK tools and lightweight profiling capabilities. Designed for both production and development time use, it…



QoS & SLAs interview Q&As on Availability, Serviceability, Fault tolerance & Disaster Recoverability – Non Functional Requirements

Q1. What are the system qualities that typically form a basis for QoS requirements? A1. Quality of service (QoS) covers Non Functional requirements such as As microservices use disparate datasources like SQL store, NoSQL store, Cache, Object store like AWS S3, etc you need to map non functional requirements to…

Tags:

Top 10 causes of performance issues in Java

Cause #1: The JVM spends more time performing garbage collection due to improper Garbage Collection (GC) configuration. E.g. Young generation being too small. Heap size is too small (use -Xmx). The application footprint is larger than the allocated heap size. Wrong use of libraries. For example, XML based report generation…

Tags:

300+ Java & Big Data FAQs - Quick Prep

Java & Big Data Tutorials

Top