StashFin R1 | Gurgaon | Apr '25
Summary
I had my first technical interview round (R1) with StashFin in April 2025. The round primarily focused on core Java, Spring Boot concepts, database knowledge, and included one data structures and algorithms coding question.
Full Experience
Today, I attended my first technical interview round (R1) at StashFin. The interviewer started by asking about my experience with Spring Boot, delving into dependency injection with @Autowired and the core concepts of Spring's bean management. We discussed various configuration methods in Spring Boot and what aspects are typically configured. Moving on to Java fundamentals, I was asked about the differences between abstraction and encapsulation, types of inheritance, and the distinction between stack and heap memory. The discussion then shifted to design patterns, where I had to explain patterns I'd worked with previously.
Following the theoretical questions, the interviewer moved to databases, inquiring about indexing and its internal workings, and the difference between DELETE and TRUNCATE commands. A specific coding challenge was given: to write Java code to determine if a linked list is palindromic. Finally, the interview concluded with questions related to API performance, security, and optimization strategies for REST APIs.
Interview Questions (15)
What is @Autowired in Spring Boot?
Explain what @Autowired is in Spring Boot and describe its internal working mechanism.
Spring Boot Bean Management Concept
Elaborate on the concept of bean management within the Spring Boot framework.
What is a Spring Bean and How Spring Manages Them?
Define what a 'Bean' is in the context of Spring and explain how the Spring framework manages these beans.
Spring Boot Configuration Methods
Describe various methods or approaches to perform configuration in Spring Boot applications.
Understanding Spring Boot Configuration Scope
When discussing 'configuration' in Spring Boot, what specific aspects or components are being configured?
The @SpringBootApplication Annotation
Explain the purpose and functionality of the @SpringBootApplication annotation in Spring Boot.
Abstraction vs. Encapsulation
Explain the key differences between abstraction and encapsulation in object-oriented programming.
Types of Inheritance in Java
Describe the different types of inheritance supported in Java.
Stack vs. Heap Memory
Explain the differences between stack and heap memory in Java's memory model.
Discuss Design Patterns Used
Describe various design patterns that I have experience working with.
Database Indexing: Concept and Internal Working
Explain what database indexing is and describe how it works internally.
DELETE vs. TRUNCATE
Explain the differences between the DELETE and TRUNCATE commands in SQL.
Check if Linked List is Palindromic
Write Java code to determine if a given linked list is a palindrome.
REST API Performance Improvement Strategies
Given a REST API, what steps would you take to improve its performance?
Securing and Optimizing REST API
Discuss strategies and techniques to secure and optimize a REST API.