Filter interviews by
Java is a popular programming language known for its platform independence, object-oriented features, and robust libraries.
Platform independence - Java programs can run on any platform that has a Java Virtual Machine (JVM)
Object-oriented - Java supports the principles of encapsulation, inheritance, and polymorphism
Robust libraries - Java has a vast collection of libraries for various tasks such as networking, database
Exception handling is a mechanism to handle runtime errors in a program to prevent crashes and ensure graceful error recovery.
Allows for graceful handling of runtime errors
Prevents program crashes
Ensures proper error recovery
Helps in debugging and maintaining code
Examples: try-catch blocks in Java, catch blocks in C++
Inheritance is a concept in object-oriented programming where a class inherits attributes and methods from another class.
Allows a class to inherit attributes and methods from another class
Promotes code reusability and reduces redundancy
Creates a parent-child relationship between classes
Derived class can access public and protected members of the base class
Example: Class Car can inherit from class Vehicle to reuse commo
Abstract class is a class that cannot be instantiated and may contain abstract methods that must be implemented by subclasses.
Cannot be instantiated directly
May contain abstract methods
Subclasses must implement abstract methods
Used for defining common behavior for subclasses
Top trending discussions
Interrupt vector table is a data structure that maps interrupt numbers to their corresponding interrupt service routines.
It is used in microcontrollers and operating systems to handle interrupts.
Each entry in the table contains the address of the interrupt service routine for a specific interrupt.
When an interrupt occurs, the processor looks up the corresponding entry in the table to find the address of the ISR to exec...
Passing array of strings in a C function
Declare the function prototype with array parameter
Pass the array as argument when calling the function
Access elements of the array within the function
Example: void printStrings(char *strings[], int size) { }
Manual testing is important for exploratory testing, usability testing, and ad-hoc testing.
Manual testing allows for exploratory testing where testers can explore the application and identify unexpected issues.
Usability testing, which involves real users interacting with the software, is best done manually to capture user experience.
Ad-hoc testing, where testers randomly test the application without predefined test cas...
Testing a web application for an online shopping platform
Testing the functionality of adding items to the cart and checking out
Testing the payment gateway integration for secure transactions
Testing the search functionality to ensure accurate results are displayed
Testing the responsiveness of the website on different devices and browsers
posted on 18 Apr 2024
I applied via Recruitment Consulltant and was interviewed in Mar 2024. There was 1 interview round.
ArrayList is a resizable array implementation while LinkedList is a doubly linked list implementation.
ArrayList uses dynamic arrays to store elements, allowing fast random access but slower insertion and deletion.
LinkedList uses nodes with pointers to the next and previous elements, allowing fast insertion and deletion but slower random access.
Example: ArrayList - List
The static keyword in programming is used to declare variables, methods, or classes that belong to the class itself rather than instances of the class.
Static variables are shared among all instances of a class.
Static methods can be called without creating an instance of the class.
Static classes cannot be instantiated and are used for grouping related methods and variables.
Example: public static int count = 0; // static
Regression testing is the process of retesting a software application to ensure that new code changes have not adversely affected existing functionality.
Performed after code changes to ensure that existing features still work correctly
Helps in identifying and fixing any defects introduced by new code changes
Automated tools like Selenium can be used for regression testing
Examples: Testing a login feature after adding a
Find median of 2 sorted arrays in O(log N) time complexity and O(1) space complexity
Use binary search to find the partition point in both arrays
Calculate the median based on the partition point and array sizes
Adjust the partition points based on the median value
Repeat until the partition points are at the median
Handle edge cases such as empty arrays and uneven array sizes
Anagram of strings in O(1) space complexity
Use a fixed size array of integers to store the frequency of characters in the first string
Iterate through the second string and decrement the frequency of each character in the array
If all the frequencies are zero, then the strings are anagrams
Return true or false accordingly
Level order traversal of a tree using Queue
Create a queue and add the root node to it
While the queue is not empty, remove the front node and print its value
Add the left and right child nodes of the removed node to the queue
Repeat until the queue is empty
Reverse level order traversal of a tree using Queue
Create a queue and push the root node into it
While the queue is not empty, pop the front node and push its children into the queue
Add the popped node to a stack
Once the queue is empty, pop elements from the stack and print them
BFS and DFS are graph traversal algorithms. BFS explores nodes level by level while DFS explores nodes depth by depth.
BFS uses a queue while DFS uses a stack or recursion.
BFS is optimal for finding shortest path while DFS is optimal for finding a path between two nodes.
BFS requires more memory as it stores all the nodes at each level while DFS requires less memory.
BFS can be used to find connected components while DFS
Find product of each element of an array except that element in O(N) time complexity without using / operation
Use prefix and suffix products
Multiply prefix and suffix products for each element to get the final product
Handle edge cases where array has 0 or 1 element separately
Recursively delete a linked list
Create a recursive function that takes the head of the linked list as input
Base case: if the head is null, return
Recursively call the function with the next node as input
Delete the current node
Recursively delete a linked list from the end.
Start from the head and recursively traverse to the end of the list.
Delete the last node and set the second last node's next pointer to null.
Repeat until the entire list is deleted.
Use a recursive function to implement the deletion process.
Recursively delete a tree by deleting all its child nodes and then the parent node.
Start from the leaf nodes and delete them first.
Then move up to the parent nodes and delete them.
Repeat until the root node is deleted.
Use post-order traversal to ensure child nodes are deleted before parent nodes.
Recursively delete elements from the end of an array.
Create a recursive function that removes the last element of the array.
Call the function recursively until the desired number of elements are removed.
Handle edge cases such as empty arrays and removing more elements than the array contains.
Floyd Warshall finds shortest path between all pairs of vertices while Djikstra finds shortest path from a single source.
Floyd Warshall is used for dense graphs while Djikstra is used for sparse graphs.
Floyd Warshall has a time complexity of O(n^3) while Djikstra has a time complexity of O((n+m)logn).
Floyd Warshall can handle negative edge weights while Djikstra cannot.
Floyd Warshall can detect negative cycles while Dj
There is no known algorithm to find shortest path in 2-D space in O(log N) time.
The best known algorithm for finding shortest path in 2-D space is Dijkstra's algorithm which has a time complexity of O(N^2).
Other algorithms like A* and Bellman-Ford have better time complexity but still not O(log N).
If the points are on a grid, Lee algorithm can be used which has a time complexity of O(N).
Design a system for putting newspapers using classes and functions
Create a Newspaper class with attributes like title, date, and content
Create a Publisher class with methods to publish and distribute newspapers
Create a Subscriber class with methods to subscribe and receive newspapers
Use inheritance to create different types of newspapers like daily, weekly, etc.
Implement a database to store newspaper information and ha
I believe practical experience is more valuable than higher studies.
I have gained valuable experience through internships and projects.
I prefer hands-on learning and problem-solving over theoretical knowledge.
I am constantly learning and improving my skills through online courses and workshops.
I applied via Company Website and was interviewed before Jun 2020. There were 5 interview rounds.
I applied via Recruitment Consultant and was interviewed in May 2019. There were 4 interview rounds.
posted on 3 Nov 2022
I applied via Campus Placement and was interviewed before Nov 2021. There were 3 interview rounds.
There are 30 basic aptitude question in 30 minutes
3 coding question 2 were easy and 1 was of medium level
I applied via Campus Placement and was interviewed before Sep 2021. There were 4 interview rounds.
Math and verbal round .
General topics to speak
Implement a function to find duplicates in an array of strings using Hashmap.
Create a Hashmap to store the frequency of each string in the array
Iterate through the array and check if the frequency of any string is greater than 1
If yes, add it to the list of duplicates
Return the list of duplicates
based on 1 interview
Interview experience
Software Specialist
500
salaries
| ₹0 L/yr - ₹0 L/yr |
Strategic Account Manager
216
salaries
| ₹0 L/yr - ₹0 L/yr |
Project Manager
170
salaries
| ₹0 L/yr - ₹0 L/yr |
Implementation Specialist
133
salaries
| ₹0 L/yr - ₹0 L/yr |
Software Developer
116
salaries
| ₹0 L/yr - ₹0 L/yr |
Oracle Cerner
Veradigm
Athenahealth Technology
NextGen Healthcare