Filter interviews by
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.
I applied via Naukri.com and was interviewed in Feb 2021. There were 3 interview rounds.
The number of working days and working hours for a Software Developer.
Software Developers typically work 5 days a week.
The standard working hours for Software Developers are 8 hours per day.
However, the actual number of working days and hours may vary depending on the company and project requirements.
posted on 5 Jul 2021
Opps Java preferred and sql related question.
I applied via Referral and was interviewed in Nov 2024. There were 2 interview rounds.
Implement some LLD and use clean code formulas
Better be prepared for all deep dive questions about tech and project you worked
I applied via Referral and was interviewed in Sep 2021. There were 3 interview rounds.
Solid Principles are a set of design principles for writing maintainable and scalable software.
Solid Principles consist of five principles: Single Responsibility Principle, Open/Closed Principle, Liskov Substitution Principle, Interface Segregation Principle, and Dependency Inversion Principle.
Single Responsibility Principle states that a class should have only one reason to change.
Open/Closed Principle states that sof...
Abstraction focuses on hiding implementation details, while interface defines a contract for classes to follow.
Abstraction allows us to focus on the essential features of an object, while hiding unnecessary details.
Interface defines a set of methods that a class must implement, providing a contract for how the class should behave.
Abstraction is achieved through abstract classes and interfaces in object-oriented program...
I appeared for an interview in Oct 2020.
Round duration - 30 minutes
Round difficulty - Easy
Basic questioning about my work experiences, things I have developed and created, my work experience(internships). The challenges which I have faced and how I overcame them. Basic questions about some android concepts
Round duration - 45 minutes
Round difficulty - Medium
The interviewer was very friendly and asked about various things and tried to judge my understanding of the projects and how deep I know about the concepts I have implemented in my projects
RxJava
RxJava is a popular library for composing asynchronous and event-based programs using observable sequences.
RxJava provides a functional API for working with asynchronous data streams.
It uses Observables to emit items and notify subscribers.
Operators can be used to transform, filter, and combine these streams of data.
Schedulers are used to control the threading behavior of these operations.
Example: Creating an Observabl...
Round duration - 40 minutes
Round difficulty - Medium
This was a system design round
Fragment lifecycle in Android involves various states and methods for managing UI components.
Fragments have several lifecycle states such as created, started, resumed, paused, stopped, and destroyed.
Methods like onCreate(), onCreateView(), onResume(), onPause(), onStop(), onDestroy() are used to manage fragment lifecycle.
Fragment lifecycle is closely tied to the hosting Activity's lifecycle.
Example: When a fragment is ...
Tip 1 : Do as much projects as you can
Tip 2 : Publish as many projects as much possible, for example publishing your apps on playstore
Tip 3 : Have an active linkedin profile, and keep connecting with people
Tip 4: Keep learning by creating projects and reading blogs
Tip 1 : Have your projects in resume
Tip 2 : Have a single page resume
posted on 14 Feb 2024
I applied via Naukri.com and was interviewed in Jan 2024. There were 2 interview rounds.
Heap memory can be monitored using tools like profilers. Objects are removed from heap memory through garbage collection.
Use profilers like VisualVM or Java Mission Control to monitor heap memory usage
Analyze heap dumps to identify memory leaks and optimize memory usage
Garbage collection automatically removes unreferenced objects from heap memory
Different garbage collection algorithms like Mark and Sweep, Copying, and ...
Handling an application running on different instances involves load balancing, monitoring, and synchronization.
Implement load balancing to distribute the workload evenly across instances.
Monitor the performance and health of each instance to ensure optimal operation.
Use synchronization techniques to maintain consistency and avoid conflicts between instances.
Implement failover mechanisms to handle instances going offli...
Yes, a load balancer can handle multiple addition of new instances or pods.
A load balancer distributes incoming traffic across multiple instances or pods.
To handle multiple additions, the load balancer should be able to dynamically update its routing configuration.
Load balancers can use various algorithms to distribute traffic, such as round-robin, least connections, or weighted distribution.
Load balancers can also per...
Caching improves application performance by storing frequently accessed data in memory.
Identify the data that needs to be cached
Choose a caching strategy (e.g., in-memory cache, distributed cache)
Implement caching logic in the application code
Set appropriate cache expiration policies
Handle cache invalidation when data changes
Yes, a distributed system can handle 1M requests per second by using load balancing, horizontal scaling, and caching.
Implement load balancing to distribute incoming requests across multiple servers.
Use horizontal scaling by adding more servers to handle the increased load.
Implement caching to store frequently accessed data and reduce the load on the backend.
Optimize the system by using efficient algorithms and data str...
based on 2 reviews
Rating in categories
Team Lead
26
salaries
| ₹1.1 L/yr - ₹6 L/yr |
Relationship Manager
20
salaries
| ₹1.2 L/yr - ₹3.3 L/yr |
Mean Stack Developer
17
salaries
| ₹1.2 L/yr - ₹3.2 L/yr |
Software Developer
16
salaries
| ₹2.2 L/yr - ₹5.8 L/yr |
Assistant Manager
16
salaries
| ₹3.3 L/yr - ₹5.2 L/yr |
Bajaj Finserv
Pamac Finserve
Karvy Financial Services
TMF Group