Java Concurrency – Basic Concepts

Defining and Starting a Thread There are two ways to define a thread: Provide a Runnable object or Subclass Thread. The first approach is more flexible and applicable to high-level thread concurrency APIs. It is also more general because the Runnable object can subclass a class other than Thread. Synchronization Synchronization can introduce thread contention, which occurs when two or more threads try […]

Senior Java Software Engineer Interview Notes – Part 3

Introduction These are the interview questions that were asked for the Software Engineer role in Bally’s Interactive. This post mentions Java, Design Patterns, REST, and Testing. Java What is immutability? An object is considered immutable if its state cannot change after it is constructed. They are helpful when writing secure code as you don’t need to worry […]

Senior Java Software Engineer Interview Notes – Part 2

Introduction This is the 2nd post regarding my interview experience for Senior Java Software Engineer roles in the UK. Note that these are NOT copy-paste interview questions that I found on the internet but the actual ones asked during interviews. Questions As a senior developer, you are basically expected to convert a problem statement into […]

Senior Java Software Engineer Interview Notes – Part 1

This is the 1st post regarding my interview experience for Senior Java Software Engineer roles in the UK. Note that these are NOT copy-paste interview questions that I found on the internet but the actual ones asked during interviews. Collections API Which data structure is used when you have lots of add and remote operations? […]