Filter interviews by
Reverse a string while keeping the position of spaces intact
Split the string into an array of characters
Iterate through the array and reverse the characters while keeping track of space positions
Join the array back into a string
CopyOnWriteArrayList creates a new copy of the underlying array whenever an element is added, modified, or removed.
CopyOnWriteArrayList is thread-safe and suitable for scenarios where reads are more frequent than writes.
Adding, modifying, or removing elements in CopyOnWriteArrayList creates a new copy of the underlying array, ensuring thread safety.
Iterators on CopyOnWriteArrayList operate on the original array an...
HashMap in Java is a data structure that stores key-value pairs and uses hashing to efficiently retrieve values based on keys.
HashMap internally uses an array of linked lists to store key-value pairs.
When a key-value pair is added, the key is hashed to find the index in the array where it will be stored.
If multiple keys hash to the same index, a linked list is used to handle collisions.
Retrieving a value involves ...
Given an array A
of size N
, initialized with all zeros, and another array ARR
of M
pairs of integers representing operations. Each operation consists of a range where ea...
Find the maximum element in an array after performing a series of increment operations on specified ranges.
Initialize an array of size N with all zeros
Iterate through the operations and increment elements within specified ranges
Return the maximum element in the array after all operations
Use two threads to print even and odd numbers in increasing order.
Create two threads, one for printing even numbers and one for printing odd numbers.
Use a shared variable to keep track of the current number to be printed.
Synchronize access to the shared variable to ensure correct ordering of numbers.
Use a loop in each thread to print the next number and update the shared variable.
Synchronized Collection is thread-safe but may have performance issues, while Concurrent Collection is optimized for concurrent access.
Synchronized Collection uses synchronized keyword to achieve thread-safety, while Concurrent Collection uses non-blocking algorithms like CAS (Compare and Swap).
Synchronized Collection locks the entire collection during modification, leading to potential performance bottlenecks, wh...
Overriding equals and hashCode methods in Java is important for proper object comparison and hashing.
Equals method is used to compare two objects for equality, while hashCode method is used to generate a unique integer value for an object.
By overriding equals and hashCode methods, we can ensure that objects are compared based on their actual content rather than memory address.
This is crucial for collections like H...
I applied via Company Website and was interviewed in Sep 2024. There was 1 interview round.
Quick sort can be modified to maintain the order of equal elements, known as stable quick sort.
Stable quick sort uses a modified partitioning method to keep equal elements in their original order.
Example: For array ['apple', 'banana', 'apple', 'orange'], stable sort keeps the first 'apple' before the second.
Using a stable sorting algorithm like merge sort can also achieve the same result if quick sort isn't stable.
I applied via Naukri.com and was interviewed in Jan 2024. There was 1 interview round.
Round 1 was an online hackerank coding test + technical MCQs.
It consisted of 5 MCQs + 1 SQL problem + 1 DSA problem based on queue + 1 Graph question + 1 java based question to create a REST API.
I appeared for an interview in Oct 2021.
Round duration - 60 minutes
Round difficulty - Easy
Technical Interview round with questions on DSA and Java.
Given an array A
of size N
, initialized with all zeros, and another array ARR
of M
pairs of integers representing operations. Each operation consists of a range where e...
Find the maximum element in an array after performing a series of increment operations on specified ranges.
Initialize an array of size N with all zeros
Iterate through the operations and increment elements within specified ranges
Return the maximum element in the array after all operations
HashMap in Java is a data structure that stores key-value pairs and uses hashing to efficiently retrieve values based on keys.
HashMap internally uses an array of linked lists to store key-value pairs.
When a key-value pair is added, the key is hashed to find the index in the array where it will be stored.
If multiple keys hash to the same index, a linked list is used to handle collisions.
Retrieving a value involves hashi...
Overriding equals and hashCode methods in Java is important for proper object comparison and hashing.
Equals method is used to compare two objects for equality, while hashCode method is used to generate a unique integer value for an object.
By overriding equals and hashCode methods, we can ensure that objects are compared based on their actual content rather than memory address.
This is crucial for collections like HashMa...
Round duration - 60 minutes
Round difficulty - Medium
Technical Interview round with questions based around Java.
Use two threads to print even and odd numbers in increasing order.
Create two threads, one for printing even numbers and one for printing odd numbers.
Use a shared variable to keep track of the current number to be printed.
Synchronize access to the shared variable to ensure correct ordering of numbers.
Use a loop in each thread to print the next number and update the shared variable.
CopyOnWriteArrayList creates a new copy of the underlying array whenever an element is added, modified, or removed.
CopyOnWriteArrayList is thread-safe and suitable for scenarios where reads are more frequent than writes.
Adding, modifying, or removing elements in CopyOnWriteArrayList creates a new copy of the underlying array, ensuring thread safety.
Iterators on CopyOnWriteArrayList operate on the original array and do ...
Synchronized Collection is thread-safe but may have performance issues, while Concurrent Collection is optimized for concurrent access.
Synchronized Collection uses synchronized keyword to achieve thread-safety, while Concurrent Collection uses non-blocking algorithms like CAS (Compare and Swap).
Synchronized Collection locks the entire collection during modification, leading to potential performance bottlenecks, while C...
Tip 1 : Thread concept is must for Morgan Stanley. So prepare that on priority
Tip 2 : Basic concepts of Oops/collection framework should be clear.
Tip 3 : Array based program will be asked so have some hands-on.
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.
Top trending discussions
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 applied via Referral
Markets offer dynamic and challenging environments that require constant adaptation and innovation.
Markets provide opportunities for growth and expansion
Competition in markets drives innovation and efficiency
Markets offer diverse career paths and opportunities for personal development
I applied via Campus Placement
A chemical engineer can help Citi by providing expertise in process optimization, risk management, and sustainability.
Optimizing Citi's manufacturing processes to reduce costs and increase efficiency
Developing risk management strategies to ensure compliance with environmental regulations
Implementing sustainable practices to reduce Citi's environmental impact
Providing technical expertise in chemical reactions and materi...
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.
based on 2 interview experiences
Difficulty level
Duration
Associate
3.5k
salaries
| ₹5.5 L/yr - ₹20 L/yr |
Senior Manager
2.5k
salaries
| ₹16.2 L/yr - ₹55 L/yr |
Manager
1.9k
salaries
| ₹10.6 L/yr - ₹41 L/yr |
Senior Associate
1.7k
salaries
| ₹7.3 L/yr - ₹28 L/yr |
Vice President
1.4k
salaries
| ₹22 L/yr - ₹81 L/yr |
JPMorgan Chase & Co.
Goldman Sachs
TCS
Deloitte