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)
Explain what @Autowired is in Spring Boot and describe its internal working mechanism.
Elaborate on the concept of bean management within the Spring Boot framework.
Define what a 'Bean' is in the context of Spring and explain how the Spring framework manages these beans.
Describe various methods or approaches to perform configuration in Spring Boot applications.
When discussing 'configuration' in Spring Boot, what specific aspects or components are being configured?
Explain the purpose and functionality of the @SpringBootApplication annotation in Spring Boot.
Explain the key differences between abstraction and encapsulation in object-oriented programming.
Describe the different types of inheritance supported in Java.
Explain the differences between stack and heap memory in Java's memory model.
Describe various design patterns that I have experience working with.
Explain what database indexing is and describe how it works internally.
Explain the differences between the DELETE and TRUNCATE commands in SQL.
Write Java code to determine if a given linked list is a palindrome.
Given a REST API, what steps would you take to improve its performance?
Discuss strategies and techniques to secure and optimize a REST API.