Filter interviews by
I appeared for an interview before Sep 2020.
Round duration - 60 minutes
Round difficulty - Medium
This round started with my introduction and a brief discussion on the technologies I used in my project. After this, the interviewer asked me 3 coding questions and one low-level design question.
Given an array or list of integers 'ARR', identify the second largest element in 'ARR'.
If a second largest element does not exist, return -1.
ARR = [2,...
Find the second largest element in an array of integers. Return -1 if second largest does not exist.
Iterate through the array to find the largest and second largest elements.
Handle cases where all elements are identical by returning -1.
Consider edge cases like empty array or array with less than 2 elements.
Your task is to determine the minimum number of platforms required at a railway station so that no train has to wait.
Given two arrays:
AT
- represent...Determine the minimum number of platforms needed at a railway station so that no train has to wait.
Sort the arrival and departure times arrays in ascending order.
Use two pointers to iterate through the arrays and keep track of the number of platforms needed.
Increment the number of platforms needed when a train arrives and decrement when a train departs.
Return the maximum number of platforms needed at any point.
Example:...
Given a binary tree of integers, your task is to return the boundary nodes of the tree in Anti-Clockwise direction starting from the root node.
The first line ...
Return the boundary nodes of a binary tree in Anti-Clockwise direction starting from the root node.
Traverse the left boundary nodes from root to leaf nodes in a top-down manner
Traverse the leaf nodes from left to right
Traverse the right boundary nodes from leaf nodes to root in a bottom-up manner
Include only unique values in the boundary nodes
Round duration - 45 minutes
Round difficulty - Medium
This Round was a Technical + HR round which consisted of one coding question and some general HR Questions like what are your strengths and weeknesses and why do you want to join Morgan Stanley.
Given a string S
which represents a number, determine the smallest number strictly greater than the original number composed of the same digits. Each digit's frequenc...
Given a number represented as a string, find the smallest number greater than the original with the same digits.
Iterate from right to left to find the first digit that can be swapped with a smaller digit on its right.
Swap this digit with the smallest digit on its right that is greater than it.
Sort the digits to the right of the swapped digit in ascending order to get the smallest number.
If no such number exists, return...
Tip 1 : Practice all the data structures thoroughly and know about the basic concepts behind them and their use cases in real world.
Tip 2 : Be thorough with your resume .
Tip 3 : Be confident while answering the questions and be honest about your work.
Tip 1 : Keep your resume crisp and to the point.
Tip 2 : Have a thorough understanding of the technologies used in the project and why was that specific technology chosen.
posted on 20 May 2017
I appeared for an interview 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...
I have a strong background in software engineering and a passion for innovation, making me a valuable asset to HSBC.
I have a proven track record of successfully delivering high-quality software solutions in previous roles.
I am highly skilled in various programming languages and technologies, including Java, Python, and SQL.
I have experience working in agile development environments, allowing me to adapt quickly to chan...
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.
I appeared for an interview before Sep 2020.
Round duration - 30 minutes
Round difficulty - Easy
It was in the day time. I was asked the programming language of my choice. It was mostly focused on programming fundamentals. I was asked 2 questions based on Data Structures and Algorithms.
A loop in a linked list can be detected using Floyd's Cycle Detection Algorithm.
Use two pointers - slow and fast, where slow moves one step at a time and fast moves two steps at a time.
If there is a loop, the two pointers will eventually meet at some point within the loop.
To detect the start of the loop, reset one pointer to the head and move both pointers one step at a time until they meet again.
Round duration - 30 minutes
Round difficulty - Easy
This round was mostly focused on my resume and projects.
Round duration - 30 minutes
Round difficulty - Easy
It was in the evening. I went to their office in Gurgaon. It was taken by one of the technology director who had a lot of experience.
Do practice a lot of data structures questions as mostly questions in interviews are based on them. Also, do prepare for projects mentioned in your resume and skills which you have mentioned. Coding ninjas has a big hand in making my interview clear as I have taken a course from the coding Ninjas which helped me a lot to make my concepts clear.
Application resume tips for other job seekersKeep it short and crisp. Go through it properly before the interview. Make sure that you haven't put anything in it that can cause you problems during the interview.
Final outcome of the interviewSelectedFind an odd occurring number among even occurring numbers.
Use XOR operation to cancel out even occurring numbers and get the odd occurring number.
Iterate through the array and XOR each element with the result variable.
The final result will be the odd occurring number.
Print the spiral order of a binary tree and matrix.
For binary tree, use level order traversal and alternate direction for each level.
For matrix, use four pointers to traverse in spiral order.
Example for binary tree: 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> 8 -> 9
Example for matrix: 1 2 3 4 -> 8 7 6 5 -> 9 10 11 12 -> 16 15 14 13
Finding pairs in an array with a given sum.
Iterate through the array and for each element, check if the difference between the given sum and the element exists in the array.
Use a hash table to store the elements of the array and their indices for faster lookup.
If there are multiple pairs with the same sum, return any one of them.
If no pair is found, return null or an empty array.
Find total number of k element with given avg in an array in minimum time complexity.
Use sliding window technique to traverse the array in O(n) time complexity.
Maintain a sum variable to keep track of the sum of elements in the window.
If the sum of elements in the window is equal to k times the given avg, increment the count.
Move the window by subtracting the first element and adding the next element in the array.
Printing non-boundary elements of a binary tree
Traverse the tree in any order (preorder, inorder, postorder)
Check if the current node is not a boundary node (not the first or last node in its level)
If it is not a boundary node, print its value
Recursively traverse its left and right subtrees
Associate
3.2k
salaries
| ₹5.2 L/yr - ₹21 L/yr |
Senior Manager
2.5k
salaries
| ₹16 L/yr - ₹54 L/yr |
Manager
2k
salaries
| ₹10.6 L/yr - ₹42 L/yr |
Senior Associate
1.6k
salaries
| ₹7 L/yr - ₹27 L/yr |
Vice President
1.3k
salaries
| ₹21 L/yr - ₹78 L/yr |
JPMorgan Chase & Co.
Goldman Sachs
TCS
Deloitte