Fidelity Investments
Proud winner of ABECA 2024 - AmbitionBox Employee Choice Awards
Filter interviews by
I applied via LinkedIn and was interviewed in Sep 2022. There were 4 interview rounds.
3 hacker rank questions easy to medium level asked to solve in 60 mins.
Design patterns in Java are reusable solutions to common software design problems.
Design patterns should be used when there is a recurring problem in software design.
Design patterns can improve code readability, maintainability, and scalability.
Examples of design patterns include Singleton, Factory, Observer, and Decorator.
It's important to choose the right design pattern for the specific problem at hand.
Design pattern...
Java 8 streams are functional programming constructs that allow for efficient processing of large data sets.
Streams are composed of a source, intermediate operations, and a terminal operation.
Intermediate operations include filter, map, and sorted, and are lazily evaluated.
Terminal operations trigger the evaluation of the stream and include forEach, reduce, and collect.
Streams can be parallelized for even greater perfo...
Fixed thread pool has a fixed number of threads while cached thread pool creates new threads as needed.
Fixed thread pool is suitable for tasks with a known number of threads
Cached thread pool is suitable for tasks with unknown number of threads
Fixed thread pool can cause resource wastage if the number of threads is too high
Cached thread pool can cause performance issues if the number of threads is too high
Example: Fixe...
Spring app config can be handled using various methods such as XML configuration, Java configuration, and annotation-based configuration.
XML configuration involves creating an XML file and defining beans and their dependencies.
Java configuration involves creating a Java class and using annotations to define beans and their dependencies.
Annotation-based configuration involves using annotations to define beans and their ...
Improving application performance requires optimizing code, database queries, and server resources.
Identify and fix slow database queries
Use caching to reduce server load
Optimize code by reducing unnecessary loops and improving algorithms
Use a content delivery network (CDN) to reduce server load
Upgrade server hardware or use cloud-based resources
Minimize HTTP requests and reduce file sizes for faster page load times
Microservices use various communication patterns like synchronous, asynchronous, event-driven, and message-based.
Synchronous communication involves direct request-response interactions between services.
Asynchronous communication uses messaging systems like RabbitMQ or Kafka to decouple services.
Event-driven communication involves services publishing events to a message broker, which other services can subscribe to.
Mess...
Using cache with Spring Boot
Add @EnableCaching annotation to main class
Add @Cacheable annotation to methods that need caching
Configure cache properties in application.properties file
Use CacheManager to manage caches
Example: @Cacheable(value = "users", key = "#id")
Async in Spring Boot allows non-blocking I/O operations, improving application performance.
Async enables parallel processing of requests, improving throughput.
It allows the application to handle more requests with the same resources.
It reduces the response time for long-running operations.
Use @Async annotation to mark methods as asynchronous.
Use CompletableFuture to handle async results.
Example: @Async public Completab...
Spring MVC follows the Model-View-Controller (MVC) pattern for building web applications.
Model represents the data and business logic
View renders the model data and provides user interface
Controller handles user requests, updates model and selects view
Spring MVC provides DispatcherServlet as front controller
RequestMapping annotation maps URL to controller method
ModelAndView object returns model data and view name
Filter is a method used to extract specific data from a larger set based on certain criteria.
Filter is required to extract specific data from a larger set.
It is used to reduce the amount of data that needs to be processed.
Filter can be applied to arrays, objects, and even strings.
Examples include filtering out all even numbers from an array or all emails from a list that contain a specific keyword.
OAuth2 is a protocol for authentication and authorization that allows third-party applications to access user data without sharing passwords.
OAuth2 provides a secure and standardized way for users to grant access to their resources to third-party applications.
It involves the exchange of tokens between the user, the third-party application, and the resource server.
Authentication is handled by the authorization server, w...
JWT is a token format while OAuth2 is a protocol. Both can be used to secure REST endpoints.
JWT is a self-contained token that contains user information and can be used for authentication and authorization.
OAuth2 is a protocol that allows third-party applications to access user data without sharing passwords.
To secure REST endpoints, both JWT and OAuth2 can be used depending on the use case.
For example, JWT can be used...
I applied via Recruitment Consulltant and was interviewed in Oct 2022. There were 3 interview rounds.
Hacker rank test. Which having avg programing question
Top trending discussions
I was interviewed in Oct 2024.
I applied via Indeed and was interviewed in Jul 2024. There was 1 interview round.
Objects of String are stored in the String Pool in Java.
String objects are stored in the String Pool, a special memory area in Java heap memory.
String literals are automatically stored in the String Pool.
String objects created using the new keyword are not stored in the String Pool.
String.intern() method can be used to store a String object in the String Pool.
A bean in Spring Boot is a Java object that is instantiated, assembled, and managed by the Spring IoC container.
Beans are defined in the Spring configuration file or using annotations like @Component, @Service, @Repository, etc.
Beans are singleton by default but can be scoped as prototype, request, session, etc.
Beans are injected into other beans using dependency injection.
Example: @Component annotation is used to defi
Query parameters are used to pass data to a web server through the URL, while path parameters are part of the URL itself.
Query parameters are key-value pairs added to the end of a URL after a '?'
Path parameters are variables within the URL path itself, denoted by curly braces {}
Example of query parameter: www.example.com/api/users?id=123
Example of path parameter: www.example.com/api/users/{userId}
Exceptions are recoverable errors that can be handled in code, while errors are unrecoverable issues that usually result in program termination.
Exceptions are checked at compile time, while errors are unchecked.
Exceptions are subclasses of Throwable, while errors are subclasses of Error.
Examples of exceptions include FileNotFoundException, NullPointerException, while examples of errors include OutOfMemoryError, StackOv
posted on 13 Nov 2024
I applied via Referral and was interviewed in Oct 2024. There was 1 interview round.
posted on 1 Oct 2024
I applied via Campus Placement
DP graphs strings it was good
Reverse a linked list by changing the direction of pointers
Start with three pointers: current, previous, and next
Iterate through the list, updating pointers to reverse the direction
Return the new head of the reversed list
The Fibonacci series is a sequence of numbers where each number is the sum of the two preceding ones.
Start with two variables initialized to 0 and 1
Loop through desired number of iterations, adding the previous two numbers to get the next number
Print or store each number in the series
I want to switch to explore new technologies and challenges in a different industry.
Interested in learning new skills and technologies
Seeking new challenges and opportunities for growth
Want to explore different industry perspectives
I applied via Naukri.com and was interviewed in Apr 2024. There was 1 interview round.
Java collections are data structures that store and manipulate groups of objects.
Types of collections include List, Set, Map, Queue, etc.
Internal workings involve data structures like arrays, linked lists, hash tables, etc.
Collections framework provides interfaces and classes for working with collections.
Count occurrences of a specific string in an array of strings.
Iterate through the array and use a HashMap to store the count of each string.
Use the string as key and increment the count each time it is encountered.
Return the count of the specific string at the end.
Using stream to filter a list of strings
Use the filter method to apply a predicate to each element in the stream
Convert the stream back to a list using the collect method
I leverage Spring Java for dependency injection, MVC framework, and transaction management in my projects.
Utilize Spring's dependency injection to manage object dependencies and improve code maintainability
Leverage Spring MVC framework for building web applications with clean separation of concerns
Use Spring's transaction management to ensure data integrity and consistency in database operations
I applied via Campus Placement and was interviewed in Jan 2023. There were 4 interview rounds.
It was just a typical logical reasoning and aptitude MCQ test
There were 2 coding questions and you can select any language for solving it. The test was online
C is a procedural programming language while C++ is an object-oriented programming language.
C is a procedural programming language, while C++ supports both procedural and object-oriented programming.
C does not have classes and objects, while C++ does.
C does not support function overloading, while C++ does.
C does not have exception handling, while C++ does.
C does not have namespaces, while C++ does.
Object oriented programming is a programming paradigm based on the concept of objects, which can contain data and code.
Objects are instances of classes, which define the structure and behavior of the objects.
Encapsulation, inheritance, and polymorphism are key principles of object oriented programming.
Example: Inheritance allows a class to inherit properties and methods from another class.
Example: Encapsulation hides t...
Encapsulation, Inheritance, Polymorphism, Abstraction
Encapsulation: Bundling data and methods that operate on the data into a single unit
Inheritance: Ability of a class to inherit properties and behavior from another class
Polymorphism: Ability to present the same interface for different data types
Abstraction: Hiding the complex implementation details and showing only the necessary features
Code implementing all 4 pillars of OOPs
Encapsulation: Encapsulate data within classes and provide public methods to access and modify the data.
Inheritance: Create a hierarchy of classes where child classes inherit attributes and methods from parent classes.
Polymorphism: Allow objects of different classes to be treated as objects of a common superclass through method overriding and overloading.
Abstraction: Hide complex ...
Stacks are Last In First Out (LIFO) data structures, while Queues are First In First Out (FIFO) data structures.
Stacks: Elements are added and removed from the same end, like a stack of plates. Example: Undo feature in text editors.
Queues: Elements are added at the rear and removed from the front, like a line of people waiting. Example: Print queue in a printer.
Code to find the 2nd largest element in an array
Sort the array in descending order and return the element at index 1
Iterate through the array and keep track of the two largest elements
Handle edge cases like arrays with less than 2 elements
Merge sort is a divide and conquer algorithm that divides the input array into two halves, sorts them recursively, and then merges them.
Divide the input array into two halves
Recursively sort each half
Merge the sorted halves back together
DBMS stands for Database Management System, while RDBMS stands for Relational Database Management System. RDBMS is a type of DBMS.
DBMS is a software system that allows users to define, create, maintain and control access to the database.
RDBMS is a type of DBMS that stores data in a structured format using tables with rows and columns.
RDBMS enforces a set of rules called ACID properties to ensure data integrity, while D...
SQL is a standard language for managing databases, while MySQL is a specific open-source relational database management system.
SQL stands for Structured Query Language and is used to communicate with databases.
SQL is a standard language that can be used with various database management systems.
MySQL is a specific open-source relational database management system that uses SQL.
MySQL is one of the most popular database m...
Delete removes specific rows from a table, Truncate removes all rows from a table, and Drop removes the table itself.
Delete is a DML command that removes specific rows from a table based on a condition.
Truncate is a DDL command that removes all rows from a table but keeps the table structure.
Drop is a DDL command that removes the entire table along with its structure.
Different types of joins in DBMS include inner join, outer join, left join, right join, and full join.
Inner join: Returns rows when there is a match in both tables.
Outer join: Returns all rows from one table and only matching rows from the other table.
Left join: Returns all rows from the left table and the matched rows from the right table.
Right join: Returns all rows from the right table and the matched rows from the ...
based on 2 interviews
Interview experience
Lead Software Engineer
964
salaries
| ₹12 L/yr - ₹36 L/yr |
Software Engineer
902
salaries
| ₹7 L/yr - ₹22 L/yr |
Process Specialist
296
salaries
| ₹3.4 L/yr - ₹7.2 L/yr |
Principal Software Engineer
227
salaries
| ₹17.4 L/yr - ₹55 L/yr |
Senior Process Specialist
186
salaries
| ₹4 L/yr - ₹9.2 L/yr |
Vanguard
Blackrock
Charles Schwab
JPMorgan Chase & Co.