Technical Interview Preparation Notes
1. Behavioral Interview Preparation
Q1: Tell me about yourself.
Answer:
I am Abhishek, a Senior Full Stack Developer with 3 years and 5 months of experience,
including 3 years at TCS. I specialize in Java, Spring Boot, Angular, and React.js. I contributed
to a web-based console application for YesBank, improving data integration efficiency by
30%. Currently, I am preparing for the Experienced Software Engineer role at JP Morgan,
aiming to leverage my backend and full-stack development skills.
Q2: Describe a challenging situation you faced and how you handled it.
Answer:
In the YesBank project, integrating data from seven databases caused inconsistent reports. I
initiated a structured data validation process and collaborated with cross-functional teams
to synchronize data pipelines, resulting in a 30% improvement in data integration
efficiency.
Q3: How do you handle pressure and tight deadlines?
Answer:
I prioritize tasks based on impact and deadlines, break them into smaller milestones, and
communicate regularly with the team. During the YesBank project, when deadlines were
tight, this structured approach ensured timely and high-quality deliverables.
2. Java and Spring Concepts
Q1: Difference between abstract class and interface in Java.
Answer:
- Abstract Class: Can have abstract and concrete methods; supports single inheritance.
- Interface: Contains abstract methods (or default methods from Java 8); supports multiple
inheritance.
Q2: Explain Dependency Injection (DI) in Spring.
Answer:
DI is a design pattern where Spring manages dependencies by injecting required objects
instead of the class creating them. This promotes loose coupling and easier testing.
Q3: Singleton Pattern in Spring.
Answer:
Spring’s default bean scope is Singleton. Annotating a class with @Component or @Service
creates a single shared instance across the application.
3. Database Design and Optimization
Q1: What are indexes in PostgreSQL?
Answer:
Indexes improve query performance by reducing data scan time. Types include B-Tree,
Hash, GIN, BRIN, and Partial Indexes.
Q2: Explain Partial Indexes.
Answer:
Partial Indexes index only rows that satisfy a condition, improving performance for
selective queries.
Q3: Join Index Example.
Answer:
CREATE INDEX idx_orders_user_id ON orders(user_id);
SELECT u.name, o.order_date FROM users u JOIN orders o ON u.user_id = o.user_id WHERE
u.email = 'user@example.com';
The index on orders(user_id) speeds up the join.