Filter interviews by
I applied via Company Website
Arrays are fixed in size while ArrayLists can dynamically grow or shrink.
Arrays are of fixed size while ArrayLists can be resized dynamically.
Arrays can hold primitive data types while ArrayLists can only hold objects.
Arrays are faster than ArrayLists for accessing elements.
ArrayLists have built-in methods for adding, removing, and sorting elements.
Example: int[] arr = new int[5]; ArrayList
Queue can be implemented using a singly linked list where insertion happens at the tail and deletion at the head.
Create a Node class with data and next pointer
Create a Queue class with head and tail pointers
Enqueue operation: create a new node and add it to the tail of the list
Dequeue operation: remove the node at the head of the list and update the head pointer
Peek operation: return the data at the head of the list wi
To fill a BST with a sorted array, we can use a recursive approach.
Find the middle element of the array and make it the root of the BST
Recursively construct the left subtree using the left half of the array
Recursively construct the right subtree using the right half of the array
Fibonacci number generation using recursion
Define a function that takes an integer as input
If the input is 0 or 1, return the input
Else, return the sum of the function called with input-1 and input-2
Call the function with the desired input
The fastest sorting algorithm is QuickSort.
QuickSort has an average time complexity of O(n log n).
It is a divide and conquer algorithm that recursively partitions the array.
It is widely used in practice and has many variations such as randomized QuickSort.
Other fast sorting algorithms include MergeSort and HeapSort.
Clone a linked list with a random pointer.
Create a new node for each node in the original list
Store the mapping of original node to new node in a hash table
Set the random pointer of each new node based on the mapping
Traverse the original list and the new list simultaneously to set the next pointers
Printing Fibonacci numbers using recursion only
Define a recursive function that takes two arguments, n and a list to store the Fibonacci sequence
Base case: if n is 0 or 1, return the list
Recursive case: append the sum of the last two elements in the list to the list and call the function with n-1
Call the function with n and an empty list to start the sequence
Print the list of Fibonacci numbers
Reflection in Java allows inspection and modification of runtime behavior of a program.
Reflection is achieved through classes in the java.lang.reflect package.
It allows access to class information, constructors, methods, and fields at runtime.
Reflection can be used to create new objects, invoke methods, and access or modify fields.
Example: Class> c = Class.forName("java.lang.String");
Example: Method m = c.getDeclared
Given an array of integers and a target sum, find a pair of integers that add up to the target sum.
Create a hash table to store the difference between the target sum and each element in the array
Iterate through the array and check if the current element is present in the hash table
If it is, return the current element and its corresponding hash table value as the pair that adds up to the target sum
If no such pair is fou
Binary search in a rotated array can be done by finding the pivot point and then applying binary search on the two subarrays.
Find the pivot point by comparing mid element with the first and last elements of the array
Apply binary search on the two subarrays formed by the pivot point
Repeat until the element is found or the subarray is empty
Time complexity is O(log n)
Example: [4,5,6,7,0,1,2], target=0. Pivot point is 3. B
Negative elements in array won't affect binary search. Time complexity remains O(log n).
Binary search works by dividing the array into two halves and comparing the middle element with the target element.
If the middle element is greater than the target, search in the left half, else search in the right half.
Negative elements won't affect this process as long as the array is sorted.
Time complexity remains O(log n) as the
Array rotation is the process of shifting the elements of an array to the left or right.
To rotate an array to the left, move the first element to the end of the array and shift the remaining elements to the left.
To rotate an array to the right, move the last element to the beginning of the array and shift the remaining elements to the right.
The number of rotations can be specified by the user.
Example: If the array is [...
Polymorphism is the ability of an object to take on many forms. It allows objects of different classes to be treated as if they were of the same class.
Polymorphism is achieved through method overriding and method overloading.
Method overriding is when a subclass provides its own implementation of a method that is already provided by its parent class.
Method overloading is when a class has two or more methods with the sam...
Overloading is having multiple methods with the same name but different parameters. Overriding is having a method in the subclass with the same name and parameters as in the superclass.
Overloading is compile-time polymorphism while overriding is runtime polymorphism.
Overloading is used to provide different ways of calling the same method while overriding is used to provide a specific implementation of a method in the s...
A list of technical questions related to data structures and algorithms in Java.
Arrays are fixed in size while ArrayLists can dynamically grow and shrink.
Queue can be implemented using a linked list by adding elements to the end and removing from the front.
To fill a BST with a sorted array, we can recursively divide the array in half and add the middle element as the root.
Random pointer linked-list clone can be done by...
Polymorphism is the ability of an object to take on many forms. Overloading is having multiple methods with the same name but different parameters. Overriding is having a method in a subclass with the same name and parameters as a method in the superclass.
Polymorphism allows objects to be treated as if they are of different types. For example, a parent class reference can be used to refer to a child class object.
Overlo...
Top trending discussions
I was interviewed in Jan 2025.
I was interviewed in Jan 2025.
A sequence was provided: 4181, 2684, 1597, 987, 610.
first 2 are given and write code for other value calculation using java 8
The second question required writing a reverse of a palindrome using both Java 8 streams. I was able to successfully write both and clear the first round.
Java 17 introduces sealed classes to restrict inheritance and improve code maintainability.
Sealed classes are declared using the 'sealed' keyword followed by the permitted subclasses.
Subclasses of a sealed class must be either final or sealed themselves.
Errors may occur when trying to extend a sealed class with a non-permitted subclass.
Implementation of 'notify me if item is back in stock' feature in an ecommerce application
Create a database table to store user notifications for out-of-stock items
Implement a service to check item availability and send notifications to subscribed users
Provide a user interface for users to subscribe to notifications for specific items
posted on 4 Feb 2025
I was interviewed in Jan 2025.
Yes, open for fixed term hire and working from client location at Gurgaon for 3 days a week.
Open for fixed term hire
Willing to work from client location at Gurgaon for 3 days a week
Implemented automated testing using Selenium WebDriver and JUnit in Agile environment
Implemented automated testing framework using Selenium WebDriver
Utilized JUnit for test case management
Worked in Agile environment to ensure continuous testing and integration
Pilot testing is done by a small group of users before the full release, while beta testing is done by a larger group of users. Automation testing can be used for regression testing, smoke testing, and performance testing.
Pilot testing involves a small group of users testing the functionality in a controlled environment.
Beta testing involves a larger group of users testing the functionality in a real-world environment.
...
Primary key uniquely identifies a record, while unique key allows only one instance of a value in a column. Query to find last id involves using ORDER BY and LIMIT.
Primary key enforces uniqueness and not null constraint on a column
Unique key enforces uniqueness but allows null values
To find row with last id, use ORDER BY id DESC LIMIT 1 in SQL query
Software Testing Life Cycle (STLC) involves planning, designing, executing, and reporting on tests. Defect Life Cycle includes identification, logging, fixing, and retesting defects.
STLC includes requirements analysis, test planning, test design, test execution, and test closure.
Defect Life Cycle involves defect identification, defect logging, defect fixing, defect retesting, and defect closure.
STLC ensures that the so...
303 status code in API means 'See Other'. PUT method is used to update data, while DELETE method is used to remove data. 3 point estimation technique in Agile is used to estimate tasks.
303 status code indicates that the resource can be found at a different URI and should be retrieved from there
PUT method is used to update an existing resource in the API
DELETE method is used to remove a resource from the API
3 point esti...
Links and labels that can be tagged to a bug in Jira
Links: related issues, documents, websites
Labels: priority, severity, type, status
Shell scripting is a way to automate tasks in Unix/Linux systems. Grep is used to search for specific patterns in text files. Href is not a standard Unix command.
Shell scripting automates tasks by writing scripts in a Unix/Linux environment
Grep command is used to search for specific patterns in text files
Example: grep 'search_pattern' file.txt
Href is not a standard Unix command, it may be a typo or a custom script
To resolve conflict with a team member, communication is key. Prioritize understanding, address the issue calmly, find common ground, and work towards a solution together.
Listen to the team member's perspective and concerns
Communicate openly and calmly about the issue
Find common ground and areas of agreement
Work together to find a solution that benefits both parties
Seek input from other team members or a mediator if ne
Open to relocating to Bangalore, working in night shifts, long hours, and 24X7 culture. Goal is to excel in automation testing.
Yes, open to relocating to Bangalore and working from client's office
Yes, open to working in night/rotational shifts
Yes, open to working in long extendable hours or 24X7 culture
Goal is to excel in automation testing
posted on 6 Jan 2025
I applied via Naukri.com and was interviewed in Dec 2024. There was 1 interview round.
I applied via Company Website and was interviewed in Nov 2024. There were 13 interview rounds.
Google primarily focuses on pure data structures and algorithms-based questions during coding interviews. Other computer science core topics are typically not covered in Google's interviews. Therefore, it is essential to be proficient in data structures and algorithms to succeed in the Google coding interview.
An aptitude test is a tool used to evaluate a person's skills, abilities, and potential for success in a specific role or activity.
Group discussion is a process of exchanging ideas and opinions among individuals on a specific topic. It is a structured form of communication in which participants have the opportunity to express their views while also listening to others' perspectives on the same subject.
An assignment is a task or piece of work that you are given to complete, particularly as part of your job or studies. The assignment for the course includes written assignments and practical tests, similar to tasks, work, jobs, or charges.
A case study is a detailed description and assessment of a specific situation in the real world, created for the purpose of deriving generalized insights and understanding. It can focus on an individual, a group of people, an organization, or an event, among other subjects.
SCD Type 2 implementation involves tracking historical changes in data by creating new records for each change.
Identify the columns that need to be tracked for changes
Add effective start and end dates to track the validity of each record
Insert new records for changes and update end dates for previous records
Maintain a surrogate key to uniquely identify each version of the record
I can join the team within 2 weeks.
I can start within 2 weeks of receiving the offer.
I need to give notice to my current employer.
I may need to relocate, which could affect my start date.
posted on 2 Feb 2025
Some of the top questions asked at the RaRa Delivery interview -
based on 4 reviews
Rating in categories
Software Development Engineer
4
salaries
| ₹15 L/yr - ₹16.5 L/yr |
Product Manager
4
salaries
| ₹22 L/yr - ₹30 L/yr |
Senior Software Engineer
4
salaries
| ₹24 L/yr - ₹28 L/yr |
HR Associate
3
salaries
| ₹4 L/yr - ₹4.5 L/yr |
TCS
Accenture
Wipro
Cognizant