Filter interviews by
I applied via Indeed and was interviewed before Apr 2020. There were 5 interview rounds.
Top trending discussions
Angular is a popular open-source front-end web application framework developed by Google.
Angular is used for building dynamic web applications.
It allows for the creation of single-page applications.
Angular uses TypeScript for building applications.
It provides features like data binding, dependency injection, and routing.
Angular has a large community and ecosystem of libraries and tools.
Examples: AngularJS, Angular 2, A
Routing is the process of selecting a path for network traffic to travel from source to destination.
Routing involves determining the best path for data packets to travel through a network
Routers use routing tables to make decisions on where to send data packets
Routing protocols like OSPF and BGP help routers communicate and update routing information
There are various types of forms, such as physical forms, digital forms, legal forms, etc.
Physical forms: Paper-based forms that are filled out by hand.
Digital forms: Electronic forms that are filled out online or through software.
Legal forms: Forms used for legal purposes, such as contracts or agreements.
Lazy loading in Angular is a technique used to load modules only when they are needed, improving performance by reducing initial load time.
Lazy loading helps in reducing the initial bundle size of the application by loading modules asynchronously.
It improves the performance of the application by only loading the modules that are required at a particular time.
Lazy loading is achieved by using the loadChildren property i...
The rxjs operator in Angular is used for reactive programming and handling asynchronous data streams.
RxJS operators are functions that build on the observables foundation to enable sophisticated manipulation of asynchronous data streams.
Operators can be used to filter, transform, combine, and more on observables.
Example: map(), filter(), mergeMap(), switchMap()
Testing frameworks are tools that help automate the process of testing software applications.
Testing frameworks provide a structure for writing and executing test cases.
They offer features like test data management, test case organization, and reporting.
Examples include JUnit for Java, NUnit for .NET, and pytest for Python.
To load an Angular application, you can use the Angular CLI command 'ng serve' to start a development server.
Use the Angular CLI command 'ng serve' to start a development server
Navigate to the project directory in the terminal and run 'ng serve'
Open a web browser and go to 'http://localhost:4200/' to view the application
I was interviewed in Sep 2024.
There were questions on String manipulation and sorting
I was interviewed in Sep 2024.
Be proficient in aptitude, as simple questions were asked.
Ensure that the correct console output is generated for the simple logic requested.
I applied via Campus Placement and was interviewed in Jul 2024. There were 2 interview rounds.
Inheritance in Java allows a class to inherit attributes and methods from another class. Keywords like 'extends' and 'super' are used.
Inheritance allows a class to inherit attributes and methods from another class
The 'extends' keyword is used to create a subclass that inherits from a superclass
The 'super' keyword is used to access the superclass constructor or methods
Example: class Animal {} class Dog extends Animal {}
posted on 5 Mar 2025
I was interviewed before Mar 2024.
Basic level aptitude
1 easy and 1 medium level code
I applied via Naukri.com and was interviewed in Dec 2023. There were 4 interview rounds.
General aptitude questions
Containers are a lightweight, portable, and isolated runtime environment for applications, while Pods are a group of one or more containers sharing the same network and storage.
Containers are individual units that package an application and its dependencies, while Pods are a higher-level concept that can contain multiple containers.
Containers are isolated from each other, while containers within a Pod share the same ne...
Solution design for heavy input applications
I was interviewed in Jan 2025.
ArrayList and LinkedList are both implementations of the List interface in Java. ArrayList uses a dynamic array to store elements, while LinkedList uses a doubly linked list.
ArrayList is more efficient for random access and traversal, while LinkedList is better for frequent insertions and deletions.
ArrayList uses less memory overhead due to storing elements in a contiguous block of memory, while LinkedList requires ext...
Using Java's synchronized keyword for thread synchronization has advantages like simplicity and disadvantages like potential deadlocks. ReentrantLock offers more flexibility and control.
Advantages of synchronized keyword: easy to use, built-in support in Java, ensures mutual exclusion
Disadvantages of synchronized keyword: potential for deadlocks, limited flexibility
ReentrantLock advantages: more control over locking, a...
In Java, == compares memory addresses while .equals() compares the actual values of objects.
Use == to compare primitive data types and to check if two objects reference the same memory address.
Use .equals() to compare the actual values of objects, especially for String comparison.
Improper usage can lead to unexpected results, such as comparing memory addresses instead of values.
The Java garbage collector automatically manages memory by reclaiming unused objects.
Java garbage collector runs in the background to identify and remove objects that are no longer needed.
Different types of garbage collection algorithms in Java include Serial, Parallel, CMS, G1, and Z Garbage Collector.
For example, the Serial garbage collector uses a single thread for garbage collection, while the Parallel garbage coll...
Java 8 introduced features like lambdas and Stream API which have revolutionized the way Java applications are written.
Lambdas allow for more concise and readable code by enabling functional programming paradigms.
Stream API provides a way to process collections of objects in a functional style, allowing for easier parallel processing and improved performance.
Java 8 also introduced default methods in interfaces, allowin...
Checked exceptions are checked at compile time, while unchecked exceptions are not. Proper handling involves either catching or declaring the exception.
Checked exceptions must be either caught or declared in the method signature using 'throws'. Example: IOException.
Unchecked exceptions do not need to be caught or declared. Example: NullPointerException.
Proper handling of exceptions involves using try-catch blocks for c...
The Java Memory Model defines how threads interact through memory and how changes made by one thread are visible to others.
Java Memory Model ensures that threads have a consistent view of shared memory.
It defines the rules for reading and writing variables in a multithreaded environment.
Synchronization ensures that only one thread can access a shared resource at a time.
Volatile keyword in Java ensures visibility of cha...
Method overloading involves creating multiple methods in the same class with the same name but different parameters. Method overriding involves creating a new implementation of a method in a subclass.
Method overloading is used to provide multiple methods with the same name but different parameters, allowing for flexibility in method calls.
Method overriding is used to provide a new implementation of a method in a subcla...
Functional interfaces in Java are interfaces with a single abstract method. They can be used with lambda expressions for functional programming.
Functional interfaces have only one abstract method, but can have multiple default or static methods.
Lambda expressions can be used to implement the abstract method of a functional interface concisely.
An example of a custom functional interface is 'Calculator' with a single abs
Java Stream is a sequence of elements that supports functional-style operations. It differs from Iterator by being more declarative and allowing parallel processing.
Java Stream is a high-level abstraction over collections that allows for functional-style operations like map, filter, reduce, etc.
Streams are more declarative compared to Iterators, which are imperative. This means you specify what you want to do rather th...
Immutability in Java means objects cannot be modified after creation. String class achieves immutability by not allowing changes to its value.
Immutability means once an object is created, its state cannot be changed.
String class achieves immutability by making its value final and not providing any methods to modify it.
Advantages of immutable objects include thread safety, caching, and easier debugging.
Example: String s...
final, finally, and finalize have different meanings in Java.
final is a keyword used to restrict the user from changing the value of a variable, making it a constant.
finally is a block of code that is always executed, whether an exception is thrown or not.
finalize is a method used for cleanup operations before an object is garbage collected.
Singleton design pattern ensures a class has only one instance and provides a global point of access to it.
Create a private static instance of the class within the class itself.
Provide a public static method to access the instance, creating it if necessary.
Ensure the constructor is private to prevent instantiation from outside the class.
Use synchronized keyword or double-checked locking to ensure thread safety.
Java annotations are metadata that provide data about a program but do not affect the program itself. They are used in frameworks like Spring to configure and customize behavior.
Java annotations are used to provide metadata about a program, such as information about classes, methods, or fields.
In frameworks like Spring, annotations are used to configure various aspects of the application, such as defining beans, handli...
Java Streams can handle parallel processing using parallel streams. Pitfalls include increased complexity and potential for race conditions.
Java Streams can be processed in parallel by using the parallelStream() method.
Potential pitfalls of using parallel streams include increased complexity, potential for race conditions, and increased resource consumption.
To mitigate these pitfalls, ensure that the operations perform...
ArrayList is preferred for frequent retrieval operations, while LinkedList is suitable for frequent insertions/deletions.
Use ArrayList when you need fast random access and retrieval operations, such as searching for elements in a list.
Choose LinkedList when you need fast insertions/deletions, especially at the beginning or end of the list.
Consider memory overhead and performance trade-offs when deciding between ArrayLi...
ReentrantLock should be used instead of synchronized when more flexibility and control over locking mechanisms is needed.
Use ReentrantLock when you need to implement fair locking mechanisms.
ReentrantLock provides tryLock() and lockInterruptibly() methods for more control over locking.
Explicit unlocking in ReentrantLock reduces the chance of deadlocks compared to synchronized.
In Java, == checks for reference equality while equals() checks for value equality. Misuse of == can lead to logical errors.
Override equals() when you want to compare the actual content of objects in user-defined classes.
Override hashCode() alongside equals() to ensure proper functioning in collections like HashMap.
Implement the Comparable interface and override compareTo() for natural ordering of objects.
Garbage collection in Java automatically reclaims memory occupied by unused objects using different algorithms and memory regions.
Garbage collection in Java automatically reclaims memory occupied by unused objects
Different types of GC algorithms in JVM: Serial, Parallel, CMS, and G1 GC
Objects are managed in Young Generation, Old Generation, and PermGen/Metaspace
Minor GC cleans up short-lived objects in Young Generation
...
Lambda expressions in Java 8 improve readability and maintainability by enabling concise and functional-style programming.
Lambda expressions allow writing more compact code by removing boilerplate code.
They make code more readable by focusing on the behavior being implemented rather than the mechanics of implementation.
Lambda expressions promote functional programming paradigms, making code easier to understand and mai...
I applied via Campus Placement and was interviewed in Dec 2024. There was 1 interview round.
OOPs (Object-Oriented Programming) is a programming paradigm based on the concept of objects, DBMS (Database Management System) is software for managing databases, and SQL (Structured Query Language) is a language used to communicate with databases.
OOPs focuses on creating objects that contain data and methods to manipulate that data.
DBMS is a software system that allows users to interact with a database, storing and r...
I was interviewed in Feb 2025.
based on 2 reviews
Rating in categories
Software Developer
4
salaries
| ₹0 L/yr - ₹0 L/yr |
Android Developer
4
salaries
| ₹0 L/yr - ₹0 L/yr |
DOT NET Developer
4
salaries
| ₹0 L/yr - ₹0 L/yr |
DOT NET Programmer
3
salaries
| ₹0 L/yr - ₹0 L/yr |
Team Lead
3
salaries
| ₹0 L/yr - ₹0 L/yr |
Accenture
Capgemini
HCLTech
Teleperformance