Filter interviews by
I was interviewed in Dec 2020.
Round duration - 60 minutes
Round difficulty - Medium
Round duration - 40 minutes
Round difficulty - Medium
Given a Binary Search Tree of integers, transform it into a Greater Sum Tree where each node's value is replaced with the sum of all node values gr...
Convert a Binary Search Tree to a Greater Sum Tree by replacing each node's value with the sum of all node values greater than the current node's value.
Traverse the BST in reverse inorder (right, root, left) to visit nodes in descending order.
Keep track of the running sum of visited nodes and update each node's value with this sum.
Modify the BST in place without creating a new tree.
Example: Input BST: 4 1 6 0 2 5 7 -1 ...
You are given the head node of a singly linked list. Your task is to return a pointer pointing to the middle of the linked list.
If there is an odd number of elements, return the ...
Return the middle element of a singly linked list, or the one farther from the head if there are even elements.
Traverse the linked list with two pointers, one moving twice as fast as the other
When the fast pointer reaches the end, the slow pointer will be at the middle
If there are even elements, return the one that is farther from the head node
Handle edge cases like linked list of size 1 or empty list
Round duration - 40 minutes
Round difficulty - Medium
Tip 1 : Do at least some project work.
Tip 2 : Practice at least 250 questions.
Tip 1 : Put some projects on resume.
Tip 2 : Do not put false things on resume.
Rate your
company
🤫 100% anonymous
How was your last interview experience?
I applied via Campus Placement and was interviewed before Jun 2020. There was 1 interview round.
I was interviewed before Mar 2021.
Round duration - 60 minutes
Round difficulty - Medium
After written test , only 4 from Mca and 4 from Mtech were selected for next round.
It was also pure technical round. Interview started just after result was declared. Since there was only two panels, It was taking time.
Given an array of integers ARR
of size N, consisting of 0s and 1s, you need to select a sub-array and flip its bits. Your task is to return the maximum count of 1s that can b...
Given an array of 0s and 1s, find the maximum count of 1s by flipping a sub-array at most once.
Iterate through the array and keep track of the maximum count of 1s obtained by flipping a sub-array.
Consider flipping a sub-array from index i to j and calculate the count of 1s in the resulting array.
Return the maximum count of 1s obtained by flipping a sub-array at most once.
Given a positive integer N
, compute the total number of '1's in the binary representation of all numbers from 1 to N. Return this count modulo 1e9+7 because the result can...
Count the total number of set bits in the binary representation of numbers from 1 to N modulo 1e9+7.
Iterate through numbers from 1 to N and count the set bits in their binary representation
Use bitwise operations to count the set bits efficiently
Return the count modulo 1e9+7 for each test case
NAT stands for Network Address Translation. It is used to translate private IP addresses to public IP addresses.
NAT allows multiple devices on a local network to share a single public IP address.
It enhances security by hiding internal IP addresses from external networks.
Types of NAT include Static NAT, Dynamic NAT, and Port Address Translation (PAT).
A VLAN (Virtual Local Area Network) is a network of computers that behave as if they are connected to the same physical network, even though they may be located on different segments.
VLANs are used to segment network traffic and improve network performance and security.
They allow for logical grouping of devices regardless of their physical location.
VLANs can be configured to separate different departments within an org...
A socket buffer is a temporary storage area in memory used for sending and receiving data over a network.
Socket buffers are used by the operating system to temporarily store data being sent or received over a network connection.
They help in managing the flow of data between the application and the network interface.
Socket buffers can be adjusted in size to optimize network performance.
Examples include TCP send and rece
A bridge in networking is a device that connects two or more network segments, allowing them to communicate with each other.
Bridges operate at the data link layer of the OSI model.
They use MAC addresses to forward data between network segments.
Bridges help reduce network congestion by only forwarding data to the segment where the destination device is located.
Example: Connecting a wired LAN to a wireless LAN using a br
Round duration - 60 minutes
Round difficulty - Medium
Technical interview round with questions based on DSA/OS etc.
You are given a string STR
which contains alphabets, numbers, and special characters. Your task is to reverse the string.
STR = "abcde"
"e...
Reverse a given string containing alphabets, numbers, and special characters.
Iterate through the string from the end to the beginning and append each character to a new string.
Use built-in functions like reverse() or StringBuilder in languages like Python or Java for efficient reversal.
Handle special characters and numbers while reversing the string.
Ensure to consider the constraints provided in the problem statement.
T...
Given two strings STR1
and STR2
, determine the length of their longest common subsequence.
A subsequence is a sequence that can be derived from another sequen...
The task is to find the length of the longest common subsequence between two given strings.
Implement a function to find the longest common subsequence between two strings.
Use dynamic programming to solve the problem efficiently.
Iterate through the strings and build a matrix to store the lengths of common subsequences.
Return the length of the longest common subsequence found.
Zombie, Orphan, and Daemon processes are different types of processes in operating systems.
Zombie process is a terminated process that has not been removed from the process table yet.
Orphan process is a child process whose parent process has terminated.
Daemon process is a background process that runs detached from the controlling terminal.
Little endian and big endian are ways of storing multibyte data in memory, with little endian storing the least significant byte first and big endian storing the most significant byte first.
Little endian stores the least significant byte first, while big endian stores the most significant byte first.
For example, the number 0x12345678 would be stored as 78 56 34 12 in little endian and 12 34 56 78 in big endian.
Most mod...
Linking is the process of connecting different parts of a program together to create a single executable file.
Linking combines object files generated by the compiler into a single executable file.
There are two types of linking: static linking and dynamic linking.
Static linking includes all necessary libraries and dependencies in the executable file.
Dynamic linking references external libraries at runtime.
Examples of li...
Memory layout of a C program includes sections like text, data, bss, heap, and stack.
The 'text' section contains the executable code of the program.
The 'data' section contains initialized global and static variables.
The 'bss' section contains uninitialized global and static variables.
The 'heap' is used for dynamic memory allocation.
The 'stack' is used for function call and local variables.
A symbol table is a data structure used by a compiler to store information about the names of variables, functions, and other symbols in a program.
It maps identifiers to information about them, such as their type, scope, and memory location.
Symbol tables are used during compilation to resolve references to symbols and perform semantic analysis.
Examples of symbol tables include the global symbol table in Python and the
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 highly motivated and experienced professional with a strong background in project management and team leadership.
Over 10 years of experience in managing complex projects and leading cross-functional teams
Proven track record of delivering projects on time and within budget
Expertise in strategic planning, risk management, and stakeholder communication
Strong problem-solving and decision-making skills
Excellent commu...
Client and server establish communication through sockets. Creating a socket involves several steps.
Client and server create sockets using the socket() system call.
They bind the socket to a specific address and port using the bind() system call.
The server listens for incoming connections using the listen() system call.
The client connects to the server using the connect() system call.
Once the connection is established, ...
Memory segments include code, data, stack, and heap. Each segment stores different parts of a program in memory.
Code segment: stores the executable code of the program
Data segment: stores global and static variables
Stack segment: stores local variables and function call information
Heap segment: stores dynamically allocated memory
The common segments used by threads are code segment, data segment, and stack segment.
Code segment: Contains the executable code of the program.
Data segment: Stores global and static variables.
Stack segment: Used for local variables and function call information.
gcc is a command-line compiler used to compile programs written in C or C++.
To compile a program using gcc, use the command 'gcc
The '-o' option is used to specify the name of the output file.
By default, gcc compiles C programs. To compile C++ programs, use the '-x' option with 'c++' argument.
To enable warnings during compilation, use the '-Wall' option.
To optimize the compiled code, use the '-O' o...
One Convergence interview questions for popular designations
I am a highly motivated and experienced professional with a strong background in project management and team leadership.
Over 10 years of experience in managing complex projects and leading cross-functional teams
Proven track record of delivering projects on time and within budget
Expertise in strategic planning, risk management, and stakeholder communication
Strong problem-solving and decision-making skills
Excellent commu...
Program to reverse a string
Use a loop to iterate through the characters of the string
Create a new string and append each character in reverse order
Return the reversed string
Program to reverse the bits of a number
Convert the number to binary representation
Reverse the binary representation
Convert the reversed binary back to decimal
Program to check common sequence in two strings
Iterate through each character of the first string
Check if the current character is present in the second string
If yes, add it to the common sequence array
Return the common sequence array
This program finds and prints the bits that are set in a given number.
Use bitwise AND operator (&) to check if a bit is set.
Iterate through each bit of the number and print the position of the set bits.
A switch in a network is a device that connects multiple devices together and forwards data packets between them.
A switch operates at the data link layer of the OSI model.
It uses MAC addresses to determine the destination of data packets.
Switches improve network performance by reducing collisions and providing dedicated bandwidth to each connected device.
Switches can be implemented using software-defined networking (SD...
NAT stands for Network Address Translation. It is a process of translating IP addresses between different networks.
NAT allows multiple devices in a private network to share a single public IP address.
It provides security by hiding the internal IP addresses from external networks.
NAT enables the conservation of public IP addresses by allowing multiple devices to use a single IP.
It facilitates the routing of traffic betw...
VLAN stands for Virtual Local Area Network. It is a technology that allows the creation of multiple virtual networks within a single physical network.
VLANs provide segmentation and isolation of network traffic.
They improve network performance and security.
VLANs can be used to group devices based on department, function, or security requirements.
They enable easier network management and troubleshooting.
VLANs are commonl...
Client and server establish communication through sockets. Creating a socket involves several steps.
Client and server each create a socket object.
Server socket binds to a specific port number on the server machine.
Server socket listens for incoming client connections.
Client socket connects to the server socket using the server's IP address and port number.
Once the connection is established, client and server can exchan
A socket buffer is a data structure used by the operating system to store data being sent or received over a network socket.
Socket buffers are typically implemented as circular buffers.
They are used to temporarily hold data until it can be processed by the application.
Socket buffers have a fixed size and can be filled or emptied by the operating system or the application.
They help in managing the flow of data between t...
A bridge is a structure that connects two separate areas, allowing for the passage of people, vehicles, or other forms of transportation.
Bridges provide a means of crossing obstacles such as rivers, valleys, or roads.
They facilitate the movement of people, vehicles, and goods from one place to another.
Bridges can be made of various materials such as concrete, steel, or wood.
They can be designed in different styles and ...
IPC is a mechanism for communication between processes, while ITC is for communication between threads within a process.
IPC allows processes to exchange data and synchronize their actions.
ITC allows threads to share data and coordinate their activities.
IPC can be implemented using various techniques such as pipes, sockets, shared memory, and message queues.
ITC can be achieved through shared variables, message passing, ...
I come from a diverse family background and have achieved success in my career through hard work and dedication.
I come from a family with a mix of different cultures and traditions.
I have excelled in my career by consistently delivering results and taking on new challenges.
I have received several awards and recognition for my contributions to my field.
My family has always been supportive of my ambitions and encouraged
Linking is the process of connecting different web pages or resources together through hyperlinks.
Linking is an essential aspect of the World Wide Web.
It allows users to navigate between different web pages by clicking on hyperlinks.
Hyperlinks can be text, images, or other elements that when clicked, direct the user to another web page or resource.
Linking helps in organizing and structuring information on the web.
It en...
Little endian and big endian are byte ordering formats. Little endian stores the least significant byte first, while big endian stores the most significant byte first.
Little endian and big endian refer to the order in which bytes are stored in memory.
In little endian, the least significant byte is stored first, followed by the more significant bytes.
In big endian, the most significant byte is stored first, followed by ...
Different types of memory segments include code segment, data segment, stack segment, and heap segment.
Code segment stores the executable code of the program.
Data segment stores global and static variables.
Stack segment stores local variables and function call information.
Heap segment stores dynamically allocated memory.
Example: In C programming, global variables are stored in the data segment.
Zombie, daemon, and orphan processes are different types of processes in operating systems.
Zombie processes are dead processes that have completed execution but still have an entry in the process table.
Daemon processes are background processes that run continuously and perform specific tasks.
Orphan processes are child processes that continue to run even after their parent process has terminated.
Zombie processes consume...
To create parent and child processes, use fork() system call. To create threads, use pthread_create() function.
To create a child process, use fork() system call. The child process is an exact copy of the parent process.
To create threads, use pthread_create() function from pthread library.
Parent and child processes can communicate using inter-process communication mechanisms like pipes or shared memory.
Threads share the...
The common segments used by parent and child processes are code segment, data segment, and stack segment.
Code segment: Contains the executable code of the program.
Data segment: Stores global and static variables.
Stack segment: Used for local variables and function calls.
The common segments used by threads are code segment, data segment, and stack segment.
Code segment: Contains the executable code of the program.
Data segment: Stores global and static variables.
Stack segment: Used for local variables and function call information.
A symbol table is a data structure used by compilers and interpreters to store information about the variables, functions, and other symbols in a program.
It maps each symbol to its attributes, such as its data type, memory location, and scope.
Symbol tables are used during the compilation or interpretation process to resolve references to symbols and perform semantic analysis.
They enable efficient lookup and retrieval o...
gcc is a command-line compiler used to compile programs written in C or C++.
To compile a program using gcc, use the command 'gcc
The '-o' option is used to specify the name of the output file.
By default, gcc compiles C programs. To compile C++ programs, use the '-x' option followed by 'c++'.
To enable warnings during compilation, use the '-Wall' option.
To optimize the compiled code, use the '-O' opt...
Top trending discussions
I was interviewed before Mar 2021.
Round duration - 60 minutes
Round difficulty - Easy
Technical Interview round with questions on DSA, Programming and OOPS.
Given two strings A
and B
, find the index of the first occurrence of A
in B
. If A
is not present in B
, return -1.
A = "bc", B = "abcdd...
Implement the strstr() function in C to find the index of the first occurrence of one string in another.
Iterate through the main string and check if the substring matches at each position.
Return the index if a match is found, else return -1.
Handle edge cases like empty strings or when the substring is longer than the main string.
Accessing a null pointer in C results in a segmentation fault, as the program tries to access memory at address 0.
Attempting to dereference a null pointer will result in a segmentation fault, as the program tries to access memory at address 0.
It is important to always check if a pointer is null before attempting to access its value.
Example: int *ptr = NULL; printf('%d', *ptr); // This will result in a segmentation faul
Phases of a compiler include lexical analysis, syntax analysis, semantic analysis, optimization, and code generation.
Lexical analysis: Converts source code into tokens.
Syntax analysis: Checks the syntax of the code using a grammar.
Semantic analysis: Checks the meaning of the code.
Optimization: Improves the code for efficiency.
Code generation: Generates machine code or intermediate code.
A system stack is a data structure that stores information about the active subroutines of a computer program.
A system stack typically consists of a stack of frames, each representing a subroutine call.
The stack grows and shrinks as subroutines are called and returned.
The top of the stack points to the currently executing subroutine.
Common operations on a system stack include push (adding a new frame) and pop (removing
Given an integer N
, for each integer from 0
through N
, find and print the number of set bits (1s) present in its binary representation.
N = 5
...
Count the number of set bits in binary representation of integers from 0 to N.
Iterate through integers from 0 to N and count the number of set bits in their binary representation.
Use bitwise operations to check if a bit is set in the binary representation.
Return the count of set bits for each integer in the range.
Round duration - 60 minutes
Round difficulty - Easy
Technical Interview round with questions on DSA, Programming and OOPS.
You are provided with a binary tree consisting of 'N' nodes, where each node contains an integer value. Your task is to perform the In-Order traversal ...
Perform In-Order traversal on a binary tree without recursion.
Use a stack to simulate the recursive process of In-Order traversal.
Start with the root node and keep traversing left until reaching a null node, pushing nodes onto the stack.
Pop nodes from the stack, print the value, and move to the right child if it exists.
Repeat until the stack is empty and all nodes have been visited.
Determine if a given singly linked list of integers contains a cycle.
A cycle in a linked list occurs when a node's next points back to a previous node in ...
Detect if a singly linked list has a cycle by using Floyd's Cycle Detection Algorithm.
Use Floyd's Cycle Detection Algorithm to detect a cycle in a singly linked list.
Maintain two pointers, one moving at twice the speed of the other.
If there is a cycle, the two pointers will eventually meet.
If one of the pointers reaches the end of the list (null), there is no cycle.
An interrupt is a signal sent to the CPU to alert it of an event that needs immediate attention.
Interrupts can be generated by hardware devices or software programs.
They can be used to handle events such as keyboard input, mouse clicks, or network activity.
Interrupts can be classified as hardware interrupts, software interrupts, or exceptions.
Examples of interrupts include the timer interrupt, which is used for multita...
CSMA stands for Carrier Sense Multiple Access. It is a protocol used in network communication to avoid collisions.
CSMA allows devices to listen to the network before transmitting data to avoid collisions.
If a device senses that the network is busy, it waits for a random amount of time before attempting to transmit.
CSMA/CD (Collision Detection) is a variant of CSMA used in Ethernet networks.
CSMA/CA (Collision Avoidance)
Round duration - 30 minutes
Round difficulty - Easy
Typical Managerial round.
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 Mar 2021.
Round duration - 60 minutes
Round difficulty - Easy
This was the first technical round.
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.
Keep track of the previous, current, and next nodes while reversing the linked list.
Update the head of the reversed linked list as the last node encountered during reversal.
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.
Consider edge cases like when X or Y is the root node.
Implement a recursive or iterative solution to find the LCA efficiently.
Internal fragmentation occurs when allocated memory is larger than the requested memory, leading to wasted space.
Internal fragmentation is common in memory management systems.
It occurs when a block of memory is allocated to a process, but the process does not use all of the allocated memory.
This results in wasted space within the allocated block.
For example, if a process requests 100 bytes of memory but is allocated a ...
BSS segment in memory stores uninitialized static and global variables.
BSS segment stands for 'Block Started by Symbol' and is a section of memory where uninitialized static and global variables are stored.
Variables declared with the 'static' keyword or as global variables without initialization are stored in the BSS segment.
For example, int a; or static int b; would be stored in the BSS segment.
Round duration - 60 minutes
Round difficulty - Easy
Technical Interview round with questions on DSA, OS, OOPS etc.
Given a positive integer 'N', compute its square root and return it. If 'N' is not a perfect square, then return the floor value of sqrt(N).
N = 25
N = 20
N...
Calculate the square root of a positive integer and return the floor value if not a perfect square.
Use the sqrt() function to calculate the square root of the given integer.
If the square root is not an integer, return the floor value using floor() function.
Handle constraints such as the range of 'N' and the number of test cases.
The returned value for the 'main' function goes to the operating system.
The returned value is typically an integer representing the exit status of the program.
A return value of 0 usually indicates successful execution, while non-zero values indicate errors.
The operating system can use the return value to determine the success or failure of the program.
A segmentation fault is a type of error that occurs when a program tries to access a memory location that it is not allowed to access.
Occurs when a program tries to access memory outside of its allocated space
Usually caused by bugs in the code such as accessing an uninitialized pointer or writing past the end of an array
Can lead to program crashes or unexpected behavior
Example: Accessing an element beyond the bounds of
Round duration - 30 minutes
Round difficulty - Easy
This was a typical managerial round.
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.
IP tables is a firewall configuration tool in Linux.
IP tables is used to filter network traffic based on a set of rules.
It can be used to block or allow traffic based on source/destination IP address, port number, protocol, etc.
IP tables is configured using the command line interface.
It is commonly used in Linux servers to secure the network.
Example: iptables -A INPUT -s 192.168.1.0/24 -j DROP
Program to traverse a linked list
Start from the head node
Iterate through each node until the end is reached
Perform necessary operations on each node
Program to reverse a linked list using extra space.
Create a new empty linked list
Traverse the original linked list and push each node to the new linked list
Return the new linked list as the reversed linked list
Find the total number of matches to be played in a knockout football tournament with n teams.
The number of matches played in a knockout tournament is always one less than the number of teams.
Use the formula (n-1) to calculate the total number of matches.
For example, in a tournament with 8 teams, the total number of matches played would be 7.
Find closest ancestor of two nodes in a tree
Traverse the tree from root to both nodes and store the paths
Compare the paths to find the closest common ancestor
Use recursion to traverse the tree and find the ancestor
If one node is an ancestor of the other, return the ancestor node
Segmentation fault is a type of error that occurs when a program tries to access a memory location that it is not allowed to access.
Segmentation fault is also known as segfault.
It is a common error in C and C++ programming languages.
It occurs when a program tries to access a memory location that it is not allowed to access, such as an area of memory that has not been allocated to the program.
This can happen due to a va...
To find the maximum number from a million numbers entered on the fly or 1000 at a time.
Create a variable to store the maximum number and initialize it to the first number entered
Compare each subsequent number entered with the current maximum and update the variable if necessary
If numbers are given 1000 at a time, store the maximum of each batch and compare them at the end to find the overall maximum
Variables for kernel level process should be stored in stack.
Stack is faster than heap for accessing variables.
Stack is limited in size, so use it for small variables.
Heap is used for larger variables that need to persist beyond the function call.
Kernel level processes should avoid dynamic memory allocation.
Internal fragmentation is the unused memory space within a partition or block.
Occurs when allocated memory is larger than required
Leads to inefficient use of memory
Can be reduced by using memory allocation techniques like paging or segmentation
In C, structure variables cannot be directly compared using the comparison operators. Cell padding is used to align data in memory for efficiency.
Structure variables in C cannot be compared directly using comparison operators like == or !=. Instead, you need to compare each member of the structure individually.
Cell padding refers to the practice of adding empty bytes between structure members to align them in memory. T...
Global variables are stored in data segment while local variables are stored in stack memory.
Global variables are accessible throughout the program while local variables are only accessible within their scope.
Global variables are initialized to default values while local variables are not.
Global variables can be modified by any function while local variables can only be modified within their scope.
Control is passed through function calls. Return address of main is stored in the stack.
Control is passed to a function when it is called from main()
The function executes and returns control to main() using the return statement
The return address of main() is stored in the stack
When the function returns, the return address is used to resume execution in main()
To calculate square root without math.h, use Newton's method.
Choose a number to find the square root of
Make an initial guess for the square root
Use Newton's method to refine the guess
Repeat until desired accuracy is achieved
Newton's method: new_guess = (guess + (number/guess))/2
Find the lowest floor from which an egg breaks when dropped from a 30 floor building with 4 eggs.
Use binary search approach to minimize the number of drops
Start dropping the egg from the middle floor and check if it breaks
If it breaks, start dropping from the middle of the lower half, else start from the middle of the upper half
Repeat the process until the lowest floor is found
Using a heap in Q6 can have certain disadvantages.
Heap operations are slower than array operations.
Heap requires extra memory allocation.
Heap may not be suitable for small datasets.
Heap may not be efficient for certain types of data structures.
Heap may lead to fragmentation of memory.
I interned at XYZ company and developed a software using Agile methodology. Faced challenges in meeting deadlines.
Interned at XYZ company and developed a software
Used Agile methodology for software development
Faced challenges in meeting deadlines
Collaborated with team members to overcome challenges
Engineering solution to reduce plastic waste
Develop biodegradable plastics
Create recycling machines for households
Implement a deposit system for plastic bottles
Encourage the use of reusable bags and containers
Design products with minimal packaging
Develop a system to convert plastic waste into fuel
I really enjoyed the section on your development process.
The detailed explanation of your agile methodology was impressive.
The emphasis on collaboration and communication stood out to me.
The use of real-life examples to illustrate your process was helpful.
I appreciated the focus on continuous improvement and learning.
Overall, it gave me a good understanding of how your team works and what to expect if I were to join.
Yes, my role as a software developer at NetApp is clear.
My role is to develop and maintain software applications for NetApp.
I work closely with other developers, project managers, and stakeholders to ensure that the software meets the needs of the business.
I am responsible for writing clean, efficient, and well-documented code.
I also participate in code reviews and contribute to the overall development process.
For exam...
I enjoyed computer science and mathematics the most in college.
Computer Science - I loved learning about algorithms, data structures, and programming languages.
Mathematics - I enjoyed solving complex problems and understanding mathematical concepts.
Participated in various technical and cultural events, volunteered for social causes.
Participated in coding competitions like CodeChef, HackerRank, etc.
Organized technical events like hackathons, coding workshops, etc.
Volunteered for social causes like blood donation camps, cleanliness drives, etc.
Participated in cultural events like dance competitions, music concerts, etc.
I applied via Referral
Windows and UNIX have several technical differences.
Windows has a graphical user interface (GUI) while UNIX is primarily command-line based.
Windows uses the NTFS file system while UNIX typically uses the ext4 file system.
Windows supports a wide range of software applications, while UNIX is known for its stability and security.
Windows has a larger user base and is more commonly used for personal computers, while UNIX is...
NTFS and FAT are file systems used in Windows operating systems with differences in features and capabilities.
NTFS supports file and folder permissions, while FAT does not.
NTFS has built-in support for file compression and encryption, while FAT does not.
NTFS has a journaling feature that helps in recovering from system crashes, while FAT does not.
NTFS supports larger file sizes and partition sizes compared to FAT.
NTFS ...
The OSI stack consists of 7 layers that define the functions and protocols of network communication.
Physical layer: Deals with the physical transmission of data.
Data Link layer: Provides error-free transmission over a physical link.
Network layer: Handles routing and logical addressing.
Transport layer: Ensures reliable data delivery and manages end-to-end connections.
Session layer: Establishes, manages, and terminates s...
NAT (Network Address Translation) is a technique used to translate private IP addresses to public IP addresses, allowing devices on a private network to communicate with the internet. DHCP (Dynamic Host Configuration Protocol) is a network protocol that automatically assigns IP addresses and other network configuration parameters to devices on a network.
NAT allows multiple devices on a private network to share a single...
A hub is a simple networking device that connects multiple devices in a network. A switch is a more advanced device that filters and forwards data packets. A router is a device that connects multiple networks and directs data packets between them.
A hub operates at the physical layer of the OSI model, while a switch operates at the data link layer.
A hub broadcasts data to all connected devices, while a switch selectivel...
Collision domain is a network segment where collisions can occur. Bridges segregate collision domains by creating separate segments.
Collision domain is a section of a network where network devices share the same bandwidth and can collide with each other.
Collisions occur when two or more devices transmit data simultaneously on a shared medium.
Bridges create separate collision domains by dividing a network into multiple ...
A combination of array and hashmap can be used to design the underlying data structures for an educational institution's website.
Use an array to store the departments available in the institution.
Each department can be represented as a key in the hashmap.
The value corresponding to each department key in the hashmap can be another hashmap.
This nested hashmap can store the courses available in the department.
The courses ...
Design considerations for a client-server system with virtual operating systems on the fly
Scalability: Ensure the system can handle multiple clients requesting virtual operating systems simultaneously
Resource allocation: Manage resources efficiently to provide virtual operating systems to clients
Network bandwidth: Optimize network usage to deliver virtual operating systems quickly
Security: Implement measures to protect...
VMware's virtualization on a multicore machine allows for efficient utilization of resources and improved performance.
VMware's virtualization technology enables the creation of multiple virtual machines (VMs) on a single multicore machine.
Each VM can run its own operating system and applications, isolated from other VMs.
The hypervisor, such as VMware ESXi, manages the allocation of CPU, memory, and other resources to e...
The minimum number of packets required to pack 51 apples such that any number of apples between 1 and 51 can be given.
The minimum number of packets required is 6.
Each packet should contain a power of 2 number of apples.
The packets should be of sizes: 1, 2, 4, 8, 16, and 20.
By combining these packets, any number of apples between 1 and 51 can be given.
Program to implement strstr function in C++
Use two nested loops to compare each character of the haystack and needle
If a match is found, return the starting index of the substring
If no match is found, return -1
To construct an almost balanced binary tree from an incoming stream of numbers.
Use a self-balancing binary search tree like AVL or Red-Black tree.
Insert the numbers from the stream into the tree.
Perform rotations or rebalancing operations as necessary to maintain balance.
Consider using a priority queue to handle the incoming stream efficiently.
Implementing autocomplete feature for search queries
Use a trie data structure to store the search queries
As the user types, traverse the trie to find matching prefixes
Return the suggestions based on the matching prefixes
Consider using a ranking algorithm to prioritize suggestions
A semaphore is a synchronization object that controls access to a shared resource through the use of a counter.
Semaphores can be used to limit the number of threads accessing a resource simultaneously.
They can be used to solve the critical section problem in concurrent programming.
Semaphores can have two types: counting semaphores and binary semaphores.
Counting semaphores allow a specified number of threads to access a...
The P and V operations are used to control access to a shared resource using a semaphore.
P operation (wait operation) decreases the value of the semaphore by 1, blocking if the value is already 0.
V operation (signal operation) increases the value of the semaphore by 1, releasing a waiting process if any.
P and V operations are typically used in synchronization mechanisms to prevent race conditions and ensure mutual excl...
REST web service is an architectural style for designing networked applications that use HTTP as the communication protocol.
REST stands for Representational State Transfer
It is based on a client-server model
It uses standard HTTP methods like GET, POST, PUT, DELETE
Resources are identified by URIs
Responses are typically in JSON or XML format
HTTP is a stateless protocol.
HTTP is stateless because it does not retain any information about previous requests or responses.
Each request is treated as an independent transaction, and the server does not maintain any knowledge of the client's state.
To maintain state, cookies or session management techniques can be used.
Statelessness allows for scalability and simplicity in web applications.
Shared memory is a memory space that can be accessed by multiple processes or threads simultaneously.
Shared memory allows processes or threads to communicate and share data efficiently.
It is typically used in inter-process communication (IPC) to avoid the overhead of copying data between processes.
Shared memory can be implemented using operating system mechanisms like memory-mapped files or system calls.
Example: Multip...
Alignment issues in structures occur due to memory padding and alignment requirements.
Structures may have unused memory space due to alignment requirements.
Padding is added to align structure members on memory boundaries.
Alignment issues can lead to wasted memory and decreased performance.
Compiler directives like #pragma pack can be used to control alignment.
Example: struct MyStruct { char a; int b; char c; };
Memory Management Unit (MMU) is a hardware component that manages memory access and translation between virtual and physical addresses.
MMU is responsible for translating virtual addresses used by programs into physical addresses in the computer's memory.
It provides memory protection by assigning access permissions to different memory regions.
MMU also handles memory allocation and deallocation, ensuring efficient use of...
A socket is an endpoint for communication between two machines over a network.
A socket is a software abstraction that allows programs to send and receive data over a network.
It provides a mechanism for inter-process communication between applications running on different machines.
Sockets can be used for various network protocols such as TCP/IP, UDP, etc.
They are identified by an IP address and a port number.
Examples of...
Yes, it is possible to declare a structure 'a' that contains a structure 'b' and 'b' in turn contains 'a'.
To achieve this, we can use forward declaration of one of the structures.
By using a pointer or reference to the other structure inside the first structure, we can avoid recursive definition.
This allows us to create a nested structure hierarchy.
To find the offset of a member of a structure object, use the 'offsetof' macro. If not allowed to create the object, use 'sizeof' and pointer arithmetic.
Use the 'offsetof' macro to find the offset of a member within a structure object
If not allowed to create the object, use 'sizeof' to get the size of the structure and perform pointer arithmetic
Netapp is a multinational storage and data management company.
Netapp specializes in providing storage solutions for businesses and organizations.
They offer a wide range of products and services including storage systems, software, and cloud services.
Netapp's solutions help organizations manage and protect their data, improve efficiency, and enable data-driven decision making.
They have a strong presence in the enterpris...
I come from a close-knit family with two siblings, an older brother and a younger sister.
Close-knit family
Two siblings - older brother and younger sister
I am interested in job profiles that involve software development, problem-solving, and continuous learning.
I prefer job profiles that allow me to work on challenging projects and utilize my technical skills.
I am interested in roles that involve software development, coding, and debugging.
I enjoy problem-solving and would like a job that challenges me to think creatively and analytically.
I value continuous learning and
Some of the top questions asked at the One Convergence interview -
Anonymously discuss salaries, work culture, and many more
Get Ambitionbox App
based on 6 reviews
Rating in categories
Software Engineer
7
salaries
| ₹0 L/yr - ₹0 L/yr |
Senior Software Engineer
5
salaries
| ₹0 L/yr - ₹0 L/yr |
Software Developer
3
salaries
| ₹0 L/yr - ₹0 L/yr |
VMware Software
Citrix
NetApp
Juniper Networks