Filter interviews by
Top trending discussions
Collection hierarchy in Java includes interfaces like Collection, List, Set, Queue, and Map with their respective implementations.
Collection interface is the root interface in the collection hierarchy
List interface extends Collection and allows duplicate elements, with implementations like ArrayList and LinkedList
Set interface extends Collection and does not allow duplicate elements, with implementations like HashSet a...
I applied via Naukri.com and was interviewed before Sep 2019. There were 6 interview rounds.
I applied via Naukri.com and was interviewed before Apr 2020. There was 1 interview round.
posted on 11 Mar 2022
I appeared for an interview before Mar 2021.
Round duration - 60 minutes
Round difficulty - Medium
21 students were shortlisted from the 1st MCQ round and in this round we were asked to write the codes (function only) of 3 questions in 1 hour time.
You are given a grid containing oranges where each cell of the grid can contain one of the three integer values:
Find the minimum time required to rot all fresh oranges in a grid.
Use Breadth First Search (BFS) to simulate the rotting process
Track the time taken to rot all oranges and return -1 if any fresh oranges remain
Handle edge cases like no fresh oranges or all oranges already rotten
Consider using a queue to efficiently process adjacent oranges
Given an array/list 'ARR' consisting of 'N' integers, your task is to find the majority element in the array. If there is no majority element present, return -1.
Find the majority element in an array, return -1 if no majority element exists.
Iterate through the array and keep track of the count of each element using a hashmap.
Check if any element's count is greater than floor(N/2) to determine the majority element.
Return the majority element or -1 if no majority element exists.
You are provided with a non-empty binary tree in which each node contains a non-negative integer value. Your task is to find and return the maximum ...
Find the maximum path sum between two leaf nodes in a binary tree.
Traverse the tree to find the maximum path sum between two leaf nodes.
Keep track of the maximum sum found so far.
Consider all possible paths between leaf nodes.
Handle cases where the tree has only a single leaf node.
Implement a recursive function to calculate the maximum path sum.
Round duration - 60 minutes
Round difficulty - Medium
This was a technical round with DSA based questions.
You are given a Singly Linked List of integers. The task is to find the N-th node from the end of the list.
If the given list is (1 -> -2 -&g...
Find the N-th node from the end of a Singly Linked List of integers.
Traverse the list to find the length L of the list.
Calculate the position of the N-th node from the beginning as L - N + 1.
Traverse the list again to reach the calculated position and return the node's value.
You are given a binary tree consisting of distinct integers and two nodes, X
and Y
. Your task is to find and return the Lowest Common Ancestor (LCA) of these two nodes...
Find the Lowest Common Ancestor (LCA) of two nodes in a binary tree.
Traverse the binary tree to find the paths from the root to nodes X and Y.
Compare the paths to find the last common node, which is the LCA.
Handle cases where one node is an ancestor of the other or when one node is the LCA itself.
You are given a string of length N
. Your task is to reverse the string word by word. The input may contain multiple spaces between words and may have leading o...
Reverse words in a string while handling leading/trailing spaces and multiple spaces between words.
Split the input string by spaces to get individual words
Reverse the list of words
Join the reversed words with a single space in between
Handle leading/trailing spaces by stripping them before and after reversing
Round duration - 60 minutes
Round difficulty - Easy
Technical Interview round with questions based on DSA
Given 'N' subjects, each containing a certain number of problems, and 'K' friends, assign subjects to friends such that each subject goes to exactly one friend, maintain...
Assign subjects to friends to minimize maximum workload, find minimum time for most loaded friend.
Sort subjects in descending order
Assign subjects to friends one by one until all subjects are assigned
The maximum workload will be the sum of problems assigned to the friend with the most problems
Return the maximum workload as the minimum time required
Grammar in compiler design defines the syntax and structure of a programming language.
Grammar specifies the rules for forming valid statements in a programming language.
It consists of a set of production rules that define how valid programs can be constructed.
There are different types of grammars such as context-free grammar, regular grammar, etc.
Example: In C programming language, the grammar specifies that a for loop...
A token in compiler design is a basic unit of syntax that the compiler can understand and process.
Tokens are the smallest units of a program that are meaningful to the compiler.
Examples of tokens include keywords, identifiers, operators, and punctuation symbols.
Tokens are generated by the lexical analysis phase of the compiler.
Tokens are used by the parser to build the abstract syntax tree of the program.
Round duration - 60 minutes
Round difficulty - Easy
Technical round with questions on DSA and Compiler Design mainly. He told me that you’ll be having your final HR round in some time. I knew that I was going well because he seemed to be quite satisfied with my answers.
You are given an arbitrary binary tree consisting of N nodes, each associated with an integer value from 1 to 9. Each root-to-leaf path can be considered a number formed by concat...
Find the total sum of all root to leaf paths in a binary tree formed by concatenating node values.
Traverse the binary tree from root to leaf nodes, keeping track of the current path sum
Add the current path sum to the total sum when reaching a leaf node
Use modulo (10^9 + 7) to handle large outputs
A regular language is a language that can be recognized by a finite automaton.
Regular languages can be described by regular expressions.
Regular languages are closed under union, concatenation, and Kleene star operations.
Examples of regular languages include the set of all strings over an alphabet that contain an even number of 'a's.
NP problems are decision problems that can be verified in polynomial time, while NP-Hard problems are at least as hard as the hardest problems in NP.
NP problems can be verified in polynomial time but not necessarily solved in polynomial time.
NP-Hard problems are at least as hard as the hardest problems in NP, but may not be in NP themselves.
Examples of NP problems include the subset sum problem and the traveling salesm...
Round duration - 30 minutes
Round difficulty - Easy
That was the round for which I’ve been waiting for hours
She was very friendly and nice to talk to. It didn’t seem that I was talking to the HR. It was more like talking to a friend. Finally we discussed about the pay-scale and work culture in Accolite.
Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 3 : Do at-least 2 good projects and you must know every bit of them.
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.
I am a software developer with experience in various programming languages and frameworks.
Proficient in Java, C++, and Python
Familiar with web development using HTML, CSS, and JavaScript
Experience with database management systems such as MySQL and MongoDB
Strong problem-solving and analytical skills
Worked on projects involving machine learning and artificial intelligence
Method overloading is having multiple methods with the same name but different parameters. Method overriding is having a subclass method with the same name and parameters as a superclass method.
Method overloading is used to provide different ways of calling the same method with different parameters.
Method overriding is used to provide a specific implementation of a method in a subclass that is already defined in the su...
Switch case is used for multiple conditions while if else is used for binary conditions.
Switch case is faster than if else for multiple conditions.
If else can handle complex conditions while switch case cannot.
Switch case can only compare values of the same data type.
If else can handle null values while switch case cannot.
Example: switch (day) { case 1: console.log('Monday'); break; case 2: console.log('Tuesday'); brea...
Interface and abstract class are both used for abstraction in object-oriented programming.
An interface is a collection of abstract methods that define a contract for a class to implement.
An abstract class is a class that cannot be instantiated and may contain abstract methods.
Interfaces are used to achieve multiple inheritance in Java.
Abstract classes can have non-abstract methods and instance variables.
An example of a...
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 objects of the same class.
It is achieved through method overriding and method overloading.
Example: A shape class can have multiple subclasses like circle, square, etc. and all can be treated as shapes.
Example: A method can have different implementations in different classes but with the sa...
Inheritance is a mechanism in object-oriented programming where a new class is created by inheriting properties of an existing class.
Inheritance allows code reusability and saves time and effort in writing new code.
The existing class is called the parent or base class, and the new class is called the child or derived class.
The child class inherits all the properties and methods of the parent class and can also add its ...
Default case in switch case statement
Default case is executed when no other case matches the switch expression
It is optional and can be placed anywhere in the switch statement
It is often used to handle unexpected input or errors
It should always be the last case in the switch statement
I am a passionate software developer with a strong background in web development and a love for problem-solving.
Experienced in HTML, CSS, JavaScript, and various web development frameworks
Proficient in backend development using languages like Java, Python, and Node.js
Familiar with database management systems such as MySQL and MongoDB
Strong problem-solving skills and ability to work well in a team environment
I tend to get overly focused on details, which can sometimes slow down my progress.
I have a tendency to spend too much time on perfecting small details
I sometimes struggle with prioritizing tasks due to my focus on details
I am working on improving my time management skills to balance detail-oriented work with efficiency
Yes, I have received offers from two other companies.
Received offers from Company A and Company B
Currently evaluating all offers to make an informed decision
Considering factors like company culture, growth opportunities, and compensation
I would like to join Google because of their innovative projects and work culture.
Google is known for its cutting-edge technology and innovative projects.
They have a strong focus on employee well-being and work-life balance.
Google offers opportunities for career growth and development.
The company has a diverse and inclusive work culture.
Google is a leader in the tech industry with a global presence.
Yes, I have worked in multiple teams in various projects.
Worked in a team of developers to create a new software application
Collaborated with designers, testers, and project managers to meet project deadlines
Participated in daily stand-up meetings to discuss progress and roadblocks
Yes, they are similar.
All 8 metal balls are of the same material.
They have the same size and weight.
They have the same physical properties.
They are interchangeable in any given situation.
C++ is an extension of C with object-oriented programming features.
C++ supports classes and objects while C does not.
C++ has better support for polymorphism and inheritance.
C++ has a standard template library (STL) which C does not have.
C++ allows function overloading while C does not.
C++ has exception handling while C does not.
For loop is used for iterating over a sequence while while loop is used for iterating until a condition is met.
For loop is used when the number of iterations is known beforehand
While loop is used when the number of iterations is not known beforehand
For loop is faster than while loop for iterating over a sequence
While loop is useful for iterating until a specific condition is met
For loop can be used with range() functio...
To reverse a string without using any looping and inbuilt functions, we can use recursion.
Create a function that takes a string as input.
If the length of the string is 0 or 1, return the string.
Otherwise, call the function recursively with the substring starting from the second character and concatenate the first character at the end.
Return the reversed string.
Example: reverseString('hello') returns 'olleh'.
A priority queue can be implemented using a single queue or multiple queues.
One approach is to use a single queue and assign priorities to elements using a separate data structure.
Another approach is to use multiple queues, each representing a different priority level.
For example, if there are three priority levels, three queues can be used to implement the priority queue.
An array of objects can be used to implement a heterogeneous array.
Each element in the array can be an object that represents a different data type.
The objects can have different properties and methods based on their respective data types.
For example, an element can be an object representing a string with a 'value' property and a 'length' method.
Developed a web-based inventory management system for a retail company.
Used HTML, CSS, and JavaScript for the front-end development.
Implemented a RESTful API using Node.js and Express for the back-end.
Utilized a MySQL database to store and manage inventory data.
Implemented features like product search, order management, and reporting.
Ensured data security and user authentication using encryption and JWT.
Collaborated wi...
The missing rupee is not actually missing. The calculation is misleading and does not account for the total amount paid.
The initial amount paid by each person was Rs.10, totaling Rs.30.
The owner gave them a discount of Rs.5, so they paid Rs.25 in total.
The broker took Rs.2, leaving them with Rs.23.
When the broker returned Rs.1 to each person, they each received Rs.1 back, totaling Rs.3.
So, the total amount paid by the ...
Inheritance in Java allows a class to inherit properties and methods from another class.
Inheritance is achieved using the 'extends' keyword.
The class that is being inherited from is called the superclass or parent class.
The class that inherits from the superclass is called the subclass or child class.
Subclasses can access the public and protected members of the superclass.
Inheritance promotes code reusability and allow...
A program to check if a given number is a palindrome or not.
Convert the number to a string.
Reverse the string and compare it with the original string.
If they are equal, the number is a palindrome.
If not, the number is not a palindrome.
Normalisation is the process of organizing data in a database to reduce redundancy and improve data integrity.
It involves breaking down a table into smaller tables and defining relationships between them.
Normalization helps to eliminate data inconsistencies and anomalies.
There are different levels of normalization, with each level having specific rules to follow.
For example, first normal form (1NF) requires that each t...
Yes, I am ready to relocate anywhere in India or outside upon company needs.
I am open to exploring new locations and cultures.
I understand that relocation may be necessary for career growth and opportunities.
I am adaptable and willing to adjust to new environments.
I have experience working in diverse teams and can easily integrate into new settings.
I would be ready to accept a project in Java even if I was trained in DotNet earlier.
I have a strong foundation in programming principles and concepts, which can be applied to any language.
I am confident in my ability to quickly learn and adapt to new technologies.
I have experience working with multiple programming languages and frameworks.
I can leverage my knowledge of DotNet to understand similar concepts in Java.
I a...
I want to join Sapient because of its reputation for innovative projects and collaborative work environment.
Sapient is known for working on cutting-edge projects that push the boundaries of technology
I value the collaborative work environment at Sapient, where team members support each other to achieve success
I am impressed by Sapient's commitment to professional development and growth opportunities for employees
My expectations from Sapient
I expect Sapient to provide a challenging and innovative work environment
I expect Sapient to offer opportunities for professional growth and learning
I expect Sapient to have a collaborative and supportive team culture
I expect Sapient to provide competitive compensation and benefits
I expect Sapient to have a strong focus on quality and delivering excellent software solutions
posted on 16 Aug 2015
Network layers are a hierarchical way of organizing communication protocols.
Network layers provide a modular approach to networking.
Each layer has a specific function and communicates with adjacent layers.
The OSI model has 7 layers, while the TCP/IP model has 4 layers.
Examples of layers include the physical layer, data link layer, network layer, transport layer, and application layer.
Deadlock is a situation where two or more processes are unable to proceed because they are waiting for each other to release resources.
Occurs in multi-threaded/multi-process environments
Can lead to system freeze or crash
Prevention techniques include resource ordering and timeouts
Example: Process A holds resource X and waits for resource Y, while Process B holds resource Y and waits for resource X
Paging and Segmentation are memory management techniques used by operating systems.
Paging divides memory into fixed-size pages and stores them in physical memory.
Segmentation divides memory into logical segments and stores them in physical memory.
Paging allows for efficient use of physical memory and reduces fragmentation.
Segmentation allows for protection and sharing of memory between processes.
Examples of operating s...
based on 1 interview experience
Senior Software Engineer
52
salaries
| ₹9.4 L/yr - ₹35 L/yr |
Information Technology Recruiter
51
salaries
| ₹2.4 L/yr - ₹4.5 L/yr |
Software Engineer
31
salaries
| ₹4.2 L/yr - ₹12 L/yr |
Senior IT Recruiter
28
salaries
| ₹3 L/yr - ₹6.8 L/yr |
Software Developer
27
salaries
| ₹5 L/yr - ₹18.6 L/yr |
Cognizant
EXL Service
Sutherland Global Services
Optum Global Solutions