i
NetApp
Filter interviews by
I applied via Referral and was interviewed in Apr 2024. There were 2 interview rounds.
The question is about implementing a children sum property in trees and finding the height of a binary tree.
Children sum property in trees means that the value of a node must be equal to the sum of the values of its children nodes.
To find the height of a binary tree, you can recursively calculate the height of the left and right subtrees and return the maximum height plus one.
Example: For a binary tree with nodes 1, 2,
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...
This can be solved both: recursively and iteratively.
The recursive approach is more intuitive. First reverse all the nodes after head. Then we need to set head to be the final node in the reversed list. We simply set its next node in the original list (head -> next) to point to it and sets its next to NULL. The recursive approach has a O(N) time complexity and auxiliary space complexity.
For solving the question is c...
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...
The recursive approach is to traverse the tree in a depth-first manner. The moment you encounter either of the nodes node1 or node2, return the node. The least common ancestor would then be the node for which both the subtree recursions return a non-NULL node. It can also be the node which itself is one of node1 or node2 and for which one of the subtree recursions returns that particular node.
Pseudo code :
LowestC...
Internal fragmentation happens when the memory is split into mounted-sized blocks. Whenever a method is requested for the memory, the mounted-sized block is allotted to the method. just in case the memory allotted to the method is somewhat larger than the memory requested, then the distinction between allotted and requested memory is that the internal fragmentation.
The uninitialized data segment is also known as a . bss segment that stores all the uninitialized global, local and external variables. If the global, static and external variables are not initialized, they are assigned with zero value by default.
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...
The Simple Approach is to find the floor of the square root, try with all-natural numbers starting from 1. Continue incrementing the number until the square of that number is greater than the given number.
Algorithm:
1. Create a variable (counter) i and take care of some base cases, i.e when the given number is 0 or 1.
2. Run a loop until i*i <= n , where n is the given number. Increment i by 1.
3. The floor of th...
In UNIX systems it looks something like this:
When you compile a program with gcc, it wraps a startup routine around your main() function. This routine calls your main() function and saves its return value. It then calls the exit() function (which your program might call as well), that does some general clean up. This function then again calls _exit(), which is a system call that tells the OS to save the returned value ...
Segmentation fault is a specific kind of error caused by accessing memory that “does not belong to you.”
When a piece of code tries to do read and write operation in a read only location in memory or freed block of memory, it is known as core dump. It is an error indicating memory corruption.
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.
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...
Iterative implementation of strstr(): It returns a pointer to the first occurrence of Y in X or a null pointer if Y is not part of X. The time complexity of this solution is O(m.n) where m and n are the length of String X and Y, respectively.
// returns true if `X` and `Y` are the same
int compare(const char *X, const char *Y)
{
while (*X && *Y)
{
if (*X != *Y) {
return 0;
}
X++;
Y++;
...
The standard says that accessing a NULL ptr is “undefined behavior”. Undefined behavior can be anything, including:
Nothing at all - continue running the program as if nothing happened
Crashing the application
Corrupting application data
Phase 1: Lexical Analysis
Lexical Analysis is the first phase when compiler scans the source code. This process can be left to right, character by character, and group these characters into tokens.
Here, the character stream from the source program is grouped in meaningful sequences by identifying the tokens. It makes the entry of the corresponding tickets into the symbol table and passes that token to next phase.
Phase 2...
The system stack (a.k.a. call stack or just "the stack") is a place in memory for things that the heap doesn't cover. The system stack is more organized than the heap since it uses the stack data structure, where order matters. Also, the address of the next allocation is known at all times because of this organization. Allocated items are pushed on to the stack in a particular order and popped off when needed. Most imp...
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
...
The direct approach would be to loop through all bits in an integer, check if a bit is set and if it is, then increment the set bit count.
Time Complexity: Θ(logn) (Theta of logn)
Auxiliary Space: O(1)
Brian Kernighan’s Algorithm can also be used here.
This algorithm is based on the idea that subtracting 1 from a decimal number flips all the bits after the rightmost set bit(which is 1) including the rightmost set bit...
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 ...
Inorder traversal requires that we print the leftmost node first and the right most node at the end.
So basically for each node we need to go as far as down and left as possible and then we need to come back and go right. So the steps would be :
1. Start with the root node.
2. Push the node in the stack and visit it's left child.
3. Repeat step 2 while node is not NULL, if it's NULL then pop the topmost n...
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 ...
Floyd's algorithm can be used to solve this question.
Define two pointers slow and fast. Both point to the head node, fast is twice as fast as slow. There will be no cycle if it reaches the end. Otherwise, it will eventually catch up to the slow pointer somewhere in the cycle.
Let X be the distance from the first node to the node where the cycle begins, and let X+Y be the distance the slow pointer travels. To catch up, t...
An interrupt is a special type of condition that occurs during the working of a microprocessor.
Microprocessor services the interrupt by executing a subroutine called interrupt service routine (ISR).
The interrupt can be given to the processor by the external signal(i.e. on external pins of a Microprocessor) or as a software interrupt or by the condition produced by the program.
Carrier Sense Multiple Access (CSMA) is a network protocol for carriertransmission that operates in the Medium Access Control (MAC) layer. It senses or listens whether the shared channel for transmission is busy or not, and transmits if the channel is not busy. Using CMSA protocols, more than one users or nodes send and receive data through a shared medium that may be a single cable or optical fiber connecting multiple...
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.
NetApp interview questions for designations
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
Comparing structure variables in C and understanding cell padding
Structure variables can be compared using the memcmp() function
Structures with different padding may not compare equal even if their contents are the same
Cell padding is the unused space added to a structure to ensure proper alignment of its members
Padding is added to improve memory access efficiency and prevent errors
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.
Get interview-ready with Top NetApp Interview Questions
Connection-oriented protocols establish a dedicated end-to-end connection before data transmission, while connectionless protocols do not.
Connection-oriented protocols ensure reliable data transmission, while connectionless protocols do not guarantee reliability.
Connection-oriented protocols are used in applications such as file transfer and email, while connectionless protocols are used in applications such as video s...
My experience of the whole day was productive and challenging.
Started the day with a team meeting to discuss project progress
Worked on coding and debugging for several hours
Collaborated with colleagues to solve complex problems
Attended a training session on new software development tools
Finished the day by reviewing and documenting my work
I am a software developer at NetApp.
Design and develop software applications
Collaborate with cross-functional teams
Write clean and efficient code
Participate in code reviews and testing
Stay up-to-date with emerging trends and technologies
A QA (Quality Assurance) is responsible for ensuring that software products meet the required quality standards.
Develop and execute test plans and test cases
Identify and report defects and issues
Collaborate with developers to resolve issues
Ensure compliance with industry standards and regulations
Continuously improve testing processes and methodologies
I applied via Campus Placement and was interviewed in Nov 2024. There were 3 interview rounds.
Logical reasoning, grammar, and coding: two basic level questions.
I appreciate the collaborative team environment and innovative projects at my current company, and I am excited about the opportunities for growth and learning at your organization.
Collaborative team environment fosters creativity and productivity
Innovative projects challenge me to learn and grow
Excited about the opportunities for growth and learning at your organization
Design and code a REST API for a software developer interview.
Define the endpoints and HTTP methods for the API (e.g. GET /users, POST /users)
Implement authentication and authorization mechanisms (e.g. JWT tokens)
Use proper status codes for responses (e.g. 200 OK, 401 Unauthorized)
Include error handling and validation for input data
Document the API using tools like Swagger or OpenAPI
Calculate word frequency using Stream API and lambda expressions
Use Stream API to convert array of strings to stream
Use Collectors.groupingBy to group words by their frequency
Use Collectors.counting to count the occurrences of each word
DSA questions and programming concepts
Reverse array of strings efficiently
Use two pointers approach to swap characters from start and end of each string
Optimize by using in-place reversal instead of creating new strings
Consider edge cases like empty strings or strings with only one character
posted on 17 Jul 2024
1 Interview rounds
based on 3 reviews
Rating in categories
Member Technical Staff
191
salaries
| ₹14 L/yr - ₹51 L/yr |
Professional Service Engineer
98
salaries
| ₹7.1 L/yr - ₹29.1 L/yr |
Technical Staff Member 3
71
salaries
| ₹21 L/yr - ₹46.2 L/yr |
Software Engineer
67
salaries
| ₹12.2 L/yr - ₹24.1 L/yr |
Mts Software Engineer
66
salaries
| ₹14.6 L/yr - ₹40 L/yr |
Nutanix
IBM
Oracle
Dell