i
Winman Software
Filter interviews by
I applied via Company Website and was interviewed before Oct 2023. There were 2 interview rounds.
3 aptitude questions
3 hacker rank questions
Top trending discussions
Find the minimum and maximum values in an array in a single traversal.
Initialize min and max variables with the first element of the array
Iterate through the array and update min and max if a smaller or larger value is found
Return the min and max values
The maximum number of squares on a chessboard is 64.
The chessboard has 64 squares in total.
The number of squares on a chessboard can be calculated using the formula n^2, where n is the number of rows or columns.
In this case, n = 8 (8 rows and 8 columns), so the maximum number of squares is 8^2 = 64.
C++ is a programming language. Deep copy creates a new object and copies all values, while shallow copy creates a reference to the original object.
C++ is a general-purpose programming language
Deep copy creates a new object with its own copy of the data
Shallow copy creates a reference to the original object
Deep copy is safer but can be slower and consume more memory
Shallow copy is faster but can lead to unexpected behav
Pre initialization refers to the process of initializing variables or objects before they are used in a program.
Pre initialization helps avoid errors or unexpected behavior caused by using uninitialized variables.
It is a good practice to pre initialize variables with default values.
Pre initialization can be done using constructors, default values, or initialization blocks.
Example: int count = 0; initializes the variabl
Reverse a linked list with and without using Recursion
Iterative approach: Use three pointers to reverse the links between nodes
Recursive approach: Recursively reverse the rest of the list and then fix the links
Polymorphism refers to the ability of an object to take on many forms. The diamond problem occurs in multiple inheritance.
Polymorphism can be achieved through method overloading and method overriding.
Method overloading allows multiple methods with the same name but different parameters.
Method overriding occurs when a subclass provides a specific implementation of a method already defined in its superclass.
The diamond p...
The program should differentiate between integers and characters when using the assignment operator (=).
Check the data type of the variable before assigning a value.
Use conditional statements to perform different actions based on the data type.
For integers, assign the value directly. For characters, convert the character to its ASCII value and assign it.
Sort an array by moving all zeroes to the end.
Iterate through the array and move all non-zero elements to the front.
Count the number of zeroes encountered and append them at the end of the array.
Use two pointers to swap elements and maintain the order.
The number of VTables created in a class hierarchy depends on the number of virtual functions and the number of derived classes.
VTables are used in object-oriented programming languages to implement dynamic dispatch.
Each class with at least one virtual function has its own VTable.
Derived classes inherit the VTable of their base class and add their own entries for any additional virtual functions.
The total number of VTa...
List is preferred when frequent insertion and deletion is required. Vector is preferred when random access is required.
List is implemented as a doubly-linked list, allowing for efficient insertion and deletion at any position.
Vector is implemented as a dynamic array, allowing for efficient random access.
Use List when the number of elements is expected to change frequently and the order of elements matters less.
Use Vect...
The given string needs to be reversed and the words need to be rearranged.
Split the string into an array of words
Reverse the array
Join the array elements with a space in between
Design a parking lot with Logic Flow Diagram, E-R diagram, DB tables with relations, and commands for transactions.
Identify the types of vehicles that will use the parking lot
Determine the number of parking spaces needed for each vehicle type
Create a flow diagram to show the process of entering and exiting the parking lot
Design an E-R diagram to show the relationships between entities such as vehicles, parking spaces, ...
To find min and max of an array in one traversal, initialize min and max to first element and compare with rest.
Initialize min and max to first element of array
Traverse the array and compare each element with min and max
Update min and max accordingly
Return min and max
Given a chessboard, find the maximum number of squares present.
Start with the smallest square and count all possible squares
Use the formula n*(n+1)*(2n+1)/6 to find the total number of squares in an n x n chessboard
Add up the squares of all sizes from 1 to n to get the maximum number of squares
For example, an 8 x 8 chessboard has 204 squares
C++ is a high-level programming language used for developing system software, application software, device drivers, and video games.
C++ was developed by Bjarne Stroustrup in 1983.
It is an extension of the C programming language.
C++ supports object-oriented programming, generic programming, and low-level memory manipulation.
It is used in developing operating systems, browsers, databases, and more.
Examples of popular sof...
Deep copy creates a new object with a new memory address, while shallow copy creates a new reference to the same memory address.
Deep copy duplicates the object and all its nested objects, while shallow copy only duplicates the top-level object.
Deep copy is slower and more memory-intensive than shallow copy.
Shallow copy can lead to unexpected behavior if the original object is modified.
In Python, deep copy can be achiev...
Preinitialization is the process of initializing data or objects before they are actually needed.
Preinitialization can improve performance by reducing the time needed to initialize data or objects when they are actually needed.
It can also help to avoid delays or interruptions during runtime.
Examples of preinitialization include preloading data into memory, initializing objects in advance, and caching frequently used da
Polymorphism can be achieved through method overloading, method overriding, and interfaces. Multiple inheritance can be solved using interfaces.
Method overloading allows multiple methods with the same name but different parameters
Method overriding allows a subclass to provide its own implementation of a method already defined in its superclass
Interfaces provide a way to achieve multiple inheritance by allowing a class ...
WAP to generate a matrix from a given tree.
Create a 2D array to store the matrix
Traverse the tree and fill the matrix accordingly
Use BFS or DFS to traverse the tree
The matrix will be symmetric along the diagonal
Primary key is a column or set of columns that uniquely identifies each row in a table. Unique key is a constraint that ensures uniqueness of values in a column or set of columns.
Primary key is used to enforce data integrity and ensure that each row in a table can be uniquely identified.
Unique key is used to ensure that no two rows in a table have the same values in a column or set of columns.
Primary key can be a singl...
Yes, a unique key can be a primary key.
A primary key is a unique identifier for a record in a table.
A unique key is a constraint that ensures the values in a column are unique.
A unique key can be used as a primary key if it meets the requirements.
A primary key cannot have NULL values, while a unique key can have one NULL value.
Foreign key is a column in a table that refers to the primary key of another table.
It establishes a relationship between two tables.
It ensures referential integrity.
It can be null, but only if it is defined as nullable.
It helps in joining tables.
Example: Customer table has a foreign key to the Order table's primary key.
Example: Order table's foreign key can be null if the order has not been placed by any customer yet.
Normalization is the process of organizing data in a database to reduce redundancy and improve data integrity.
Normalization involves breaking down a database into smaller, more manageable tables.
It helps to eliminate data redundancy and inconsistencies.
Normalization ensures that each table has a primary key and that data is stored in a logical and consistent manner.
It improves data integrity and reduces the likelihood ...
Normalized form is better for data consistency and scalability.
Normalized form reduces data redundancy and ensures data consistency.
Normalized form allows for easier scalability and maintenance.
Single table/2 tables may be appropriate for small, simple datasets.
Normalized form may require more complex queries to retrieve data.
Normalized form may require more storage space due to additional tables.
Example: Normalized fo...
Create a database for Indian Premier League (IPL)
Identify entities like teams, players, matches, venues, etc.
Create tables for each entity with relevant attributes
Establish relationships between tables using foreign keys
Add constraints like unique, not null, default values, etc.
Populate tables with data from reliable sources
Query to find player with maximum runs in a match on given date and venue
Use MAX() function to find maximum runs
Join tables for player name, match details and runs scored
Filter by given date and venue
Order by runs scored and limit to 1 result
I applied via Referral
Find A-B of two sorted arrays A and B in O(m+n) time complexity.
Create two pointers, one for each array, and compare the elements at those pointers.
If the element in A is smaller, add it to the result array and move the A pointer forward.
If the element in B is smaller, move the B pointer forward.
Repeat until one of the pointers reaches the end of its array.
Add any remaining elements in A to the result array.
Time comple...
The routine should output the elements of the inorder traversal of a binary tree one by one in each call.
Implement an inorder traversal algorithm recursively
Use a global variable or pass a reference to keep track of the current element
Call the routine repeatedly to get the next element in each call
Program to find minimum semesters required to complete courses with prerequisites
Create a graph with courses as nodes and prerequisites as edges
Use topological sorting to find the order of courses to be taken
Calculate the minimum number of semesters based on the order obtained
Handle cases where there are cycles in the graph
posted on 2 Dec 2016
I applied via Campus Placement and was interviewed in Dec 2016. There were 6 interview rounds.
posted on 22 Aug 2016
I applied via Campus Placement
I was interviewed before Jan 2021.
Round duration - 60 minutes
Round difficulty - Medium
This was a written round. Proper code with correct syntax to be written on paper.
There were 4 questions to be solved in 1 hour. Some questions needed test cases and time complexity to be answered as well.
You are given two singly linked lists, where each list represents a positive number without any leading zeros.
Your task is to add these two numbers and return the sum as ...
Add two numbers represented as linked lists and return the sum as a linked list.
Traverse both linked lists simultaneously while keeping track of carry from previous sum
Handle cases where one linked list is longer than the other by padding with zeros
Create a new linked list to store the sum of the two numbers
Given an array ARR
of 'N' integers and an integer 'X', determine the minimum number of operations required to make the sum of removed elements fro...
Given an array of integers and a target sum, find the minimum number of operations to make the sum of removed elements equal to the target.
Iterate from both ends of the array, removing elements until the sum matches the target
Use a two-pointer approach to efficiently find the minimum number of operations
If achieving the target sum is not possible, return -1
You are provided with an integer array ARR
of size N
. You need to return an array PRODUCT
such that PRODUCT[i]
equals the product of all the elements of ARR
...
The problem requires returning an array where each element is the product of all elements in the input array except itself.
Iterate through the array twice to calculate the product of all elements to the left and right of each element.
Use two arrays to store the products to the left and right of each element.
Multiply the corresponding elements from the left and right arrays to get the final product array.
Handle integer ...
You are provided with a stack consisting of 'N' integers. The goal is to sort this stack in descending order by utilizing recursion.
Allowed Stack Operations:
is_empty(S) ...
Sort a stack in descending order using recursion without using loop constructs.
Implement a recursive function to sort the stack in descending order.
Use the provided stack operations to manipulate the stack.
Recursively pop elements from the stack, sort them, and push them back in descending order.
Handle base cases such as an empty stack or a single element stack.
Ensure the stack is sorted in descending order after the r...
Round duration - 60 minutes
Round difficulty - Easy
General questions based on resume, was asked to explain my internship project.
He asked questions on my written round. Asked me to find the bug in my code for 1st problem. He was extremely happy with me when I gave the correct answer.
He asked me for the code for the last problem since I hadn’t solved it.
Asked to reverse linked list using recursion, since I said I did by iteration earlier.
He had written code of second problem, I had to find bugs in it.
Discussion on quality engineering and developer profiles.
Given a singly linked list of integers, return the head of the reversed linked list.
Initial linked list: 1 -> 2 -> 3 -> 4 -> NULL
Reversed link...
Reverse a singly linked list of integers and return the head of the reversed linked list.
Iterate through the linked list and reverse the pointers to point to the previous node instead of the next node.
Use three pointers to keep track of the current, previous, and next nodes while reversing the linked list.
Update the head of the reversed linked list as the last node encountered during the reversal process.
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 was interviewed before Jan 2021.
Round duration - 60 minutes
Round difficulty - Medium
Technical round that lasted for around 60 minutes. The interviewer asked questions on data structures and OOPS concepts.
Given a string STR
consisting of lowercase English letters, your task is to return all permutations of the given string in lexicographically increasing order.
Return all permutations of a given string in lexicographically increasing order.
Generate all permutations of the given string using backtracking.
Sort the permutations in lexicographical order.
Print the sorted permutations separated by space.
You are tasked with finding the greatest common divisor (GCD) of two given numbers 'X' and 'Y'. The GCD is defined as the largest integer that divides both of the...
Find the greatest common divisor (GCD) of two given numbers 'X' and 'Y'.
Implement a function to calculate GCD using Euclidean algorithm
Iteratively find the remainder of X divided by Y until Y becomes 0
The last non-zero remainder is the GCD of X and Y
C is a procedural language, C++ is an object-oriented language, and Java is a platform-independent language.
C is a procedural programming language, while C++ supports both procedural and object-oriented programming.
C++ is an extension of C with additional features like classes and inheritance.
Java is a platform-independent language that runs on a virtual machine and uses automatic memory management.
C is closer to the h...
The virtual keyword in C++ is used to declare a member function in a base class that can be overridden in derived classes.
Virtual functions allow for dynamic polymorphism in C++ by enabling late binding.
Virtual functions are declared in the base class with the 'virtual' keyword and can be overridden in derived classes.
When a derived class overrides a virtual function, the function in the derived class is called instead...
Round duration - 60 minutes
Round difficulty - Medium
Technical round that lasted for around 60 minutes. The interviewer asked questions on data structures and question related to cloud computing(cloud computing was listed on my resume) .
Design a data structure for a Least Recently Used (LRU) cache that supports the following operations:
1. get(key)
- Return the value of the key if it exists in the cache; otherw...
Design a Least Recently Used (LRU) cache data structure that supports get and put operations with capacity constraint.
Implement a doubly linked list to keep track of the order of keys based on their recent usage.
Use a hashmap to store key-value pairs for quick access and update.
When capacity is reached, evict the least recently used item before inserting a new item.
Update the order of keys in the linked list whenever a...
Given a singly linked list of integers and a reference to a node, your task is to delete that specific node from the linked list. Each node in the linked li...
Delete a specific node from a singly linked list given the reference to the node.
Traverse the linked list to find the node to be deleted.
Update the pointers to skip over the node to be deleted.
Print the modified linked list after deletion.
Round duration - 60 minutes
Round difficulty - Easy
Technical round that lasted for around 60 minutes. The interviewer asked questions on data structures and question related to networking.
Given a singly linked list with 'N' nodes containing integer values, your task is to sort the list using insertion sort and output the sorted list.
Insertion Sort is an al...
Implement insertion sort algorithm on a singly linked list.
Traverse the linked list and for each node, find its correct position in the sorted list.
Keep track of the current node and the previous node to perform the insertion.
Repeat this process until all nodes are sorted in the linked list.
Ensure to handle edge cases like empty list or list with only one node.
Given an array ARR
of size 'N', where each integer is in the range from 0 to N - 1, identify all elements that appear more than once.
Return the duplicate elements in any orde...
Find duplicates in an array of integers within a specified range.
Iterate through the array and keep track of the count of each element using a hashmap.
Return elements with count greater than 1 as duplicates.
Time complexity can be optimized to O(N) using a set to store duplicates.
Round duration - 40 minutes
Round difficulty - Easy
The Interviewer asked me questions to know more about me. He also asked a puzzle.
To determine the top 3 fastest horses out of 25, race horses in groups of 5 and keep track of the fastest horses in each race.
Divide the 25 horses into 5 groups of 5 horses each.
Race all 5 horses in each group, keeping track of the top 3 fastest horses in each race.
After 5 races, you will have the top 3 fastest horses from each group.
Race the top 3 horses from each group in a final race to determine the overall top 3 f
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.
based on 1 interview
Interview experience
Software Developer
28
salaries
| ₹0 L/yr - ₹0 L/yr |
Program Engineer
22
salaries
| ₹0 L/yr - ₹0 L/yr |
QA Executive
12
salaries
| ₹0 L/yr - ₹0 L/yr |
Business Development Executive
11
salaries
| ₹0 L/yr - ₹0 L/yr |
System Administrator
8
salaries
| ₹0 L/yr - ₹0 L/yr |
Tally Solutions
MARG ERP
Busy Infotech
LOGIC ERP