Fidelity Investments
Proud winner of ABECA 2024 - AmbitionBox Employee Choice Awards
Filter interviews by
I applied via Campus Placement and was interviewed before Aug 2023. There were 3 interview rounds.
HireVue, a few coding and some aptitude
I am passionate about software development and believe this company offers a great learning opportunity.
I admire the company's innovative projects and cutting-edge technologies.
I am impressed by the company's positive reputation in the industry.
I am excited about the opportunity to work with a talented team of developers.
I believe this internship will provide me with valuable experience and skills for my future career.
I think highly of my college as it provided me with a strong foundation in software development.
My college has a reputable computer science program with experienced faculty members.
The curriculum included hands-on projects and internships to enhance practical skills.
I was able to participate in coding competitions and hackathons organized by the college.
The college also offered networking opportunities with industry pr...
In 5 years, I see myself as a senior software developer leading a team and working on impactful projects.
Continuing to enhance my technical skills and knowledge through continuous learning and training
Taking on more leadership responsibilities and mentoring junior developers
Contributing to the success of the company by delivering high-quality software solutions
Exploring new technologies and trends in the software devel...
Top trending discussions
posted on 10 May 2015
Multi tasking, multi processing, and multi programming are different approaches to managing tasks in an operating system.
Multi tasking allows multiple tasks to run concurrently on a single processor.
Multi processing involves multiple processors running tasks simultaneously.
Multi programming allows multiple programs to be loaded into memory and executed concurrently.
Examples of multi tasking operating systems include Wi...
Memory allocation refers to the process of assigning memory to programs during runtime.
Stack allocation is done automatically and is limited in size.
Heap allocation is done manually and is larger in size.
Stack memory is used for local variables and function calls.
Heap memory is used for dynamic memory allocation.
Memory leaks can occur if heap memory is not properly managed.
Use a shared variable and synchronization mechanisms to ensure natural order printing of numbers.
Create two threads, one for printing even numbers and the other for printing odd numbers.
Use a shared variable to keep track of the current number to be printed.
Implement synchronization mechanisms like locks or semaphores to ensure only one thread can access the shared variable at a time.
Each thread should check if it is i...
Printing a matrix in spiral order
Start from the first element and print it
Move in a spiral order towards the center of the matrix
Repeat until all elements are printed
Thread class and Runnable Interface are used for multithreading in Java.
Thread class is a predefined class in Java that provides methods to create and control threads.
Runnable interface is used to define a task that can be executed by a thread.
Thread class implements Runnable interface.
Thread class provides more control over threads than Runnable interface.
Example: Thread t = new Thread(new MyRunnable()); t.start();
Exa...
Linked List is a dynamic data structure while ArrayList is a static data structure.
Linked List is best for frequent insertion and deletion operations.
ArrayList is best for frequent access operations.
Linked List uses more memory than ArrayList.
ArrayList is faster than Linked List for accessing elements.
Use Linked List when you need to frequently add or remove elements from the list.
Use ArrayList when you need to frequen
I am not interested in a career in investment banking.
I am more interested in a career in software development
I enjoy problem-solving and creating innovative solutions through coding
Investment banking does not align with my passion and skill set
I have chosen to apply to J.P. Morgan because of their reputation, global presence, and opportunities for growth.
J.P. Morgan has a strong reputation in the financial industry.
They have a global presence with offices in multiple countries.
The company offers various opportunities for career growth and development.
J.P. Morgan is known for its innovative technology solutions in the financial sector.
I am impressed by their ...
Yes, I have made a mistake in my previous project.
I underestimated the complexity of a task and ended up missing the deadline.
I failed to properly test a feature, resulting in a bug that affected user experience.
I accidentally deleted an important file without having a backup.
I misunderstood a requirement and implemented a feature incorrectly.
posted on 20 May 2017
I was interviewed in May 2017.
Yes, the string class can be extended in most programming languages.
Inheritance can be used to extend the functionality of the string class.
By creating a new class that inherits from the string class, additional methods and properties can be added.
Extending the string class allows for customization and adding specific functionality to strings.
Example: In Python, the string class can be extended by creating a new class
Implicit objects in JSP are predefined objects that are available for use without any declaration or initialization.
Implicit objects in JSP include request, response, session, application, out, config, pageContext, page, exception, and others.
These objects provide access to various aspects of the JSP environment and can be used to perform common tasks.
For example, the request object allows access to HTTP request parame...
A hash map is a data structure that uses a hash function to map keys to values.
Hash map stores key-value pairs
It uses a hash function to compute an index for each key
Collisions can occur when two keys hash to the same index
Hash maps provide fast access to values based on their keys
StringBuffer and StringBuilder are both used to manipulate strings, but StringBuffer is thread-safe while StringBuilder is not.
StringBuffer is synchronized, making it safe for use in multi-threaded environments.
StringBuilder is not synchronized, making it faster but not thread-safe.
StringBuffer is preferred when multiple threads are involved, while StringBuilder is preferred for single-threaded scenarios.
Both classes p...
MVC is a software architectural pattern that separates an application into three main components: Model, View, and Controller.
Model represents the data and business logic of the application.
View is responsible for displaying the user interface.
Controller handles user input, updates the model, and interacts with the view.
MVC promotes separation of concerns and modularity in software development.
Example: In a web applica...
Annotations used in RESTful web services
1. @Path - Specifies the URI path for the resource
2. @GET - Specifies that the method handles HTTP GET requests
3. @POST - Specifies that the method handles HTTP POST requests
4. @PUT - Specifies that the method handles HTTP PUT requests
5. @DELETE - Specifies that the method handles HTTP DELETE requests
6. @PathParam - Binds the value of a URI template parameter to a method paramete...
posted on 13 Mar 2015
Code for rand7 using rand5 function
Use rand5 twice to generate a number in [1,25] with equal probability
If the number is greater than 21, discard and try again
Otherwise, return (number mod 7) + 1
LRU cache is implemented using a doubly linked list and a hash map.
Create a doubly linked list to keep track of the order of elements in the cache.
Create a hash map to store the key-value pairs of the cache.
When a new element is added, check if the cache is full. If it is, remove the least recently used element from the linked list and the hash map.
When an element is accessed, move it to the front of the linked list to...
Function to randomly select pivot element in Quick Sort
Generate a random index within the range of the array
Return the element at the randomly generated index as the pivot
posted on 2 Dec 2015
I was interviewed in Dec 2016.
Implement LRU cache
LRU stands for Least Recently Used
It is a cache eviction policy that removes the least recently used item
It can be implemented using a doubly linked list and a hash map
Newly accessed items are moved to the front of the list
When the cache is full, the item at the end of the list is removed
Virtual memory is a memory management technique that allows a computer to use more memory than it physically has.
Virtual memory uses a combination of RAM and hard disk space to store data.
It allows programs to use more memory than is physically available.
If a program tries to access memory that is not currently in RAM, it will be swapped in from the hard disk.
Even if we had infinite RAM, virtual memory would still be n...
Find maximum length of subarray where max <= 2*min.
Iterate through array and keep track of max and min values.
Update max length when condition is met.
Time complexity: O(n)
I was interviewed before Mar 2021.
Round duration - 60 minutes
Round difficulty - Medium
Technical round with questions on DSA and OS.
Design and implement a data structure for a Least Recently Used (LRU) cache that supports the following operations:
get(key)
- Retrieve the value associated with the...Design and implement a Least Recently Used (LRU) cache data structure that supports get and put operations with a specified capacity.
Implement a doubly linked list to keep track of the order of keys based on their usage.
Use a hashmap to store key-value pairs for quick access and updates.
When a key is accessed or updated, move it to the front of the linked list to mark it as the most recently used.
When the cache reaches...
Given an array of non-negative integers and an integer K representing the length of a subarray, your task is to determine the maximum elements for each subarray of size ...
Find the maximum elements for each subarray of size K in a given array.
Iterate through the array and maintain a deque to store the indices of elements in decreasing order.
Pop elements from the deque that are out of the current window.
Keep track of the maximum element in each subarray of size K.
Return the maximum elements for each subarray.
Virtual memory is a memory management technique that allows a computer to compensate for physical memory shortages by temporarily transferring data from RAM to disk storage.
Virtual memory allows programs to use more memory than is physically available on the system.
It helps in multitasking by allowing multiple programs to run simultaneously without running out of memory.
Virtual memory uses a combination of RAM and disk...
Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 3 : Do at-least 2 good projects and you must know every bit of them.
Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.
based on 1 interview
Interview experience
based on 1 review
Rating in categories
Lead Software Engineer
963
salaries
| ₹0 L/yr - ₹0 L/yr |
Software Engineer
906
salaries
| ₹0 L/yr - ₹0 L/yr |
Process Specialist
296
salaries
| ₹0 L/yr - ₹0 L/yr |
Principal Software Engineer
229
salaries
| ₹0 L/yr - ₹0 L/yr |
Senior Process Specialist
196
salaries
| ₹0 L/yr - ₹0 L/yr |
Vanguard
Blackrock
Charles Schwab
JPMorgan Chase & Co.