NetApp Senior Engineer Interview Experience

netapp logo
netapp
· Senior Engineer
February 7, 2026 · 38 reads

Summary

I recently interviewed at NetApp for a Senior Engineer role, which involved a coding round focused on API interaction, a deep dive into past projects, and a system design problem involving a time-based two-tier storage structure.

Full Experience

Hi All,

Recently gave interview of NetApp.

First Round (filter): Interviewer discussed around the past experience and projects. Then gave a problem to solve ( can use local IDE or web). Need to fetch all users from the open endpoint https://gorest.co.in/ and see which all users have posted more than x number of posts. So Basically need to call 2 API endpoints and get the result.

Second Round : Completely on past project. Interviwere deep-dived on one of the project and wanted to understand my contribution.

Third Round: on DSA

Design a time-based two-tier storage structure that:

  1. Input: Accepts objects with (Key, Data) pairs to store.
  2. Storage:
    • Buffer 1 (B1): Fixed-size Buffer of capacity N. New objects go here first.
    • Buffer 2 (B2): Unlimited-size Buffer. Objects move here when their TTL expires.
  3. Time-to-Live (TTL): Each object has a TTL. When an object in B1 reaches its TTL:
    • It is moved from B1 to B2.
    • B1 must not exceed capacity N (decide behavior if full).
  4. Retrieval: Implement get(Key) that:
    • Finds the key in either buffer.
    • Returns the associated data (or null if not found).
    • Should be efficient. - Should Reset the TTL when accessed

#NetApp #SSE_Interview

Interview Questions (2)

1.

Fetch Users and Filter by Post Count from API

Data Structures & Algorithms·Medium

Fetch all users from the open endpoint https://gorest.co.in/ and determine which users have posted more than a given x number of posts. This problem requires calling multiple API endpoints and processing the results.

2.

Design a Time-Based Two-Tier Storage System with TTL and Efficient Retrieval

System Design·Hard

Design a two-tier storage system with the following requirements:

  1. Input: Accepts objects with (Key, Data) pairs.
  2. Storage:
    • Buffer 1 (B1): A fixed-size buffer with capacity N where new objects are initially stored.
    • Buffer 2 (B2): An unlimited-size buffer where objects from B1 are moved once their Time-to-Live (TTL) expires.
  3. Time-to-Live (TTL): Each object has a TTL. When an object in B1 reaches its TTL, it must be moved to B2. The system must ensure B1 does not exceed its capacity N (and define behavior if full).
  4. Retrieval: Implement an efficient get(Key) method that searches for the key in both buffers, returns the associated data (or null if not found), and resets the TTL of the object upon access.
Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!