Blog Archives
1 2 3 4 5 7

01: 12 Web basics every Java web developer must know – Part 1

Q1. HTTP is a stateless protocol, so how do you maintain state? How do you store user data between requests?
A1. This is a commonly asked interview question. The “http protocol is a stateless request/response based protocol”. You can retain the state information between different page requests as follows:

HTTP Session. A session identifies the requests that originate from the same browser during the period of conversation. All the servlets can share the same session. The JSESSIONID is generated by the server and can be passed to client through cookies, URL re-writing (if cookies are turned off) or built-in SSL mechanism. Care should be taken to minimize size of objects stored in session and objects stored in session should be serializable. In a Java servlet the session can be obtained as follows:

Read more ...

01: 13 Java low latency interview questions & answers

Have you seen job advertisements requiring Java candidates to work in low latency, high throughput, real-time and distributed systems with share-nothing architectures? Wondering what questions you will be asked? If you are an experienced Java developer targeting high paying skills then it pays to get a good handle on Java low latency interview questions & answers.

You will be quizzed on the low latency application you had recently worked on especially the outcomes in terms of the latencies, response times, and throughput along with the challenges you faced.

Q1. What do you understand by the term latency?
A1. Latency is the time required to perform some action or to produce some result. Latency is measured in units of time like seconds, milli seconds, micro seconds, nanoseconds, etc.

What defines a “low” latency depends on the context

Low latency over the internet might be 200ms whereas low latency in a trading application (e.g. pricing or order matching engines) using FIX (i.e. Financial Information eXchange ) or proprietary protocols over TCP/IP might be 50µs to 100µs.

Q2. What do you understand by the term throughput?
A2. Throughput is the number of such actions executed or results produced per unit of time. This is measured in units of time like requests per second. The term “memory bandwidth” is sometimes used to specify the throughput of memory systems.… Read more ...


01: 30+ Java architect interview questions & answers – Part 1

One of the very frequently asked open-ended interview questions for anyone experienced is: Can you describe the high-level architecture of a recent application you had worked on? You can be asked:

1) to draw an architectural diagram on a white board and
2) to provide a brief description of the architecture, and
3) to elaborate on decisions, technologies & frameworks used, alternatives considered, pros, cons, challenges, risks, etc ….

Java Application integration styles

Q1. What are the different application integration styles?
A1. Enterprise systems don’t stand-alone. They integrate with many other corporate systems to provide mission critical services to the clients. There are a number of different integration styles like

#1 Shared database

where multiple applications share the same database. This approach is simple, but has disadvantages such as

1) More likely to hit performance & bottlenecks and scalability issues. SQL Databases don’t really scale.

2) Any adjustments (e.g. version upgrade) to the database for one application will have side effects on other applications. Complicates indexing and table partitioning as different applications have different needs.

3) Concurrency & timing issues as there could be chronological dependencies among processes that share the database. What about different applications working on the same tables concurrently? What if one application modifies the data that should have been altered by another application first?

#2 Batch file transfers

Applications will have their own databases, and the data from one application will be copied into another application’s database via an over-night or regular interval batch jobs with an ETL (i.e.… Read more ...


01: AWS interview Q&As on VPC, Subnets, Availability Zones, VPN, Route tables, NACLs & Security Groups

This extends Architecture Networking. The above diagram addresses many of the questions that follow. Q1. What is a VPC in AWS? A1. A virtual private cloud (VPC) is a virtual network dedicated to your AWS account. It is logically isolated from other virtual networks in the AWS Cloud. You can…

Read more ...

01: Azure interview Q&As on Region, VNet, Subnets, AZs, Availability Set, etc

This extends Architecture Networking. The below diagram will help you understand many of the following questions. Q01. What do you understand by the Azure terms Tenant, Subscription, Region, Resource Groups and Availability Zones ? A01. A Tenant in Azure represents an Organisation. It refers to a single instance of Azure…

Read more ...

01: High level & low level system design considerations for read heavy systems

Q1. What are some of the design considerations for a read heavy system? A1. Before designing any systems, one should gather the functional & non-functional requirements. The SLAs (i.e. Service Level Agreements) have to be clearly defined. A rough-cut capacity planning has to be done in terms of how many…

Read more ...

01: High level & low level system design considerations for write heavy systems

This extends High level & low level system design considerations for read heavy systems Q1. What are some of the design considerations for a write heavy system? A1. Before designing any systems, one should gather the functional & non-functional requirements. The SLAs (i.e. Service Level Agreements) have to be clearly…

Read more ...

01: Networking basics interview Q&As on ip address, subnet mask, DNS & gateway

Q. Do software developers & Architects need to know networking?
A. The answer is Yes for both, but architects must know certain concepts more than the developers. Architects need to liaise with network, cloud, dev ops, and site engineers.

Networking is a very vast subject. Knowing some basic fundamentals will make you a better developer. With the advent of cloud computing, containers like Docker & container orchestration technologies like Kubernetes, etc it makes more sense to have a basic understanding of networking.

Q1. What do you understand by the terms IP address, Subnet, DNS server & Gateway?
A1. If you want to connect from a client to a server machine, you need 4 things:

1) IP Address: E.g. denotes a host’s identity on a newtwork.

2) Subnet Mask: E.g. /24 or, tells the size of a host’s network, and allows the host to determine if it is trying to reach a machine on its own network or a foreign network outside its network.

3) Default Gateway: E.g. If a client tries to reach a host machine in the same network, an ip address & a subnet mask will suffice, but if the host machine is outside on the internet in a wan, you need the ip address of the router, which is the default gateway.

4) DNS Server IP: E.g.… Read more ...

01: Q07 – Q12 Microservices Interview questions & answers

60+ microservices interview questions & answers covering Spring boot, Spring cloud, and microservices design patterns. If you are an enterprise Java developer, then most likely you will be developing Microservices using Spring boot. Let’s start with the beginner microservices interview questions & then get to much needed 20+ microservices design…

Read more ...

01: Q13 “12 Rules” for REST API design & development

These are more like rules to develop RESTFul web services as opposed to being the best practices. REST is an architectural style without any contracts or specifications. So, it is imperative to apply the following rules for better REST API design. #1. Write stateless RESTFul services This means each request…

Read more ...

1 2 3 4 5 7

500+ Enterprise & Core Java programmer & architect Q&As

Java & Big Data Tutorials