PPrepLearn
Progress Β· 0/8 phases

πŸ—ƒοΈ πŸ—ƒοΈ Storage Engineering Interview Roadmap β€” 120 Days

5 min read Β· Notion

From software engineer to storage/distributed-systems engineer. This roadmap is built specifically for roles at companies like Pure Storage, Cohesity, Rubrik, NetApp, Qumulo, VAST Data, WEKA, MinIO, Portworx, and cloud storage teams at AWS/GCP/Azure. DSA alone is not enough β€” these companies hire for domain depth.


πŸ“Œ What makes storage company interviews different

Based on the interview guide:

"For candidates with 2-3+ years of experience, they commonly expect domain-specific exposure in areas like storage systems, Linux internals, distributed systems, storage protocols, Kubernetes storage, performance debugging, C++, or Go infrastructure work."

The expected signal is:

  • Linux internals β€” VFS, page cache, inode, block layer, fsync, iptables
  • Storage protocols β€” NFS, iSCSI, NVMe/TCP, NVMe/RoCE, RDMA, SMB
  • Distributed storage design β€” replication, erasure coding, consistency, Raft, GFS, Dynamo, Ceph
  • Kubernetes storage β€” PV/PVC/StorageClass, CSI drivers, dynamic provisioning, snapshots
  • Go systems programming β€” goroutines, channels, pipelines, pprof, high-throughput patterns
  • C++ systems programming β€” RAII, smart pointers, move semantics, atomics, sanitizers
  • Performance debugging β€” fio, iostat, perf, pprof, USE method, p99 latency, IOPS/throughput analysis

πŸ—ΊοΈ 120-Day Roadmap at a glance

PhaseDaysFocusProject
Phase 1 β€” Go for Infrastructure1–15Go concurrency, I/O, pipelines, profilingHigh-throughput file processor in Go
Phase 2 β€” Linux Internals & OS16–30Virtual memory, VFS, inodes, block layer, iptablesLinux I/O tracer + iptables lab
Phase 3 β€” Storage Fundamentals31–45Block/file/object storage, IOPS/latency/throughput, storage protocolsfio benchmark suite + protocol lab
Phase 4 β€” Distributed Storage Systems46–60Raft, GFS, Dynamo, Ceph, erasure coding, replication, consistencyMini distributed object store in Go
Phase 5 β€” Kubernetes Storage61–75PV/PVC/StorageClass, CSI drivers, NFS/iSCSI/SMB with K8s, HelmDeploy a CSI driver + Helm chart
Phase 6 β€” C++ Systems Programming76–90RAII, smart pointers, threads, atomics, memory layout, sanitizersC++ storage buffer manager
Phase 7 β€” Performance Engineering91–105fio, pprof, perf, iostat, strace, USE method, debugging storiesPerformance audit of a real workload
Phase 8 β€” System Design & Interview Prep106–120Design distributed object store, backup system, CSI driver; mock interviewsFull design docs + 2 debugging stories

🏒 Target companies by tier

TierCompanies
Cloud NAS / Global File SystemsNasuni, NetApp, Qumulo, VAST Data, WEKA, DDN, CTERA, Panzura
Data Protection / BackupCohesity, Rubrik, Commvault, Veeam, Druva, HYCU, Acronis
Enterprise Primary StoragePure Storage, Dell, HPE, IBM Storage, Hitachi Vantara, Infinidat
Object StorageMinIO, Cloudian, Scality, Red Hat Ceph, Wasabi, Cloudflare R2
Kubernetes / Cloud-Native StoragePortworx, OpenEBS, Longhorn, Rook/Ceph, DataCore, Ondat
Cloud Provider Storage TeamsAWS S3/EBS/EFS/FSx, GCS, Azure Storage, Oracle OCI
Storage NetworkingNVIDIA/Mellanox, Lightbits Labs, Excelero

πŸ“ˆ My progress

  • Current phase: Phase 1
  • Current day: Day 1 of 120
  • Projects shipped: 0 / 8
  • Papers read: 0
  • Mock interviews done: 0

πŸ”– Phase pages

  • 🐹 Phase 1 β€” Go for Infrastructure (Days 1–15)
  • 🐧 Phase 2 β€” Linux Internals & OS (Days 16–30)
  • πŸ’Ύ Phase 3 β€” Storage Fundamentals (Days 31–45)
  • 🌐 Phase 4 β€” Distributed Storage Systems (Days 46–60)
  • ⎈️ Phase 5 β€” Kubernetes Storage (Days 61–75)
  • βš™οΈ Phase 6 β€” C++ Systems Programming (Days 76–90)
  • ⚑ Phase 7 β€” Performance Engineering (Days 91–105)
  • 🎯 Phase 8 β€” System Design & Interview Prep (Days 106–120)

πŸ“˜ Core reading list (from your guide)

DomainResource
OS FoundationsOSTEP β€” chapters on Virtual Memory, File Systems, I/O
Go ConcurrencyGo Pipelines, Effective Go, Go Memory Model
Go PerformanceGo pprof, Go GC Guide, Go Diagnostics
Go Real WorldProcessing 1M transactions β€” Part 1 β€’ Part 2
Storage PerformanceIOPS, Throughput, Latency Explained, Art of Storage Performance Optimization
Storage ProtocolsNVMe/TCP vs NVMe/RoCE, What is RDMA?
Erasure CodingWhat is Erasure Coding?
Distributed StorageGFS Paper, Dynamo Paper, Raft Paper, Ceph Architecture
Kubernetes StoragePersistentVolumes, CSI Spec, StorageClasses
K8s NASNFS/SMB/iSCSI with K8s
LinuxLinux VFS docs, Linux Block docs, man7
PerformanceBrendan Gregg Linux Perf, USE Method, fio docs
C++C++ Core Guidelines, AddressSanitizer, ThreadSanitizer

βœ… Final prep checklist (from the guide)

  • Explain block vs file vs object storage with examples
  • Explain IOPS, throughput, latency, p99, queue depth
  • Explain Linux page cache, inode, VFS, and fsync()
  • Compare NFS, iSCSI, NVMe/TCP, NVMe/RoCE, S3
  • Design a distributed object store
  • Explain replication vs erasure coding
  • Debug a PVC stuck in Pending
  • Explain CSI controller vs node plugin
  • Build one Go concurrency project and profile it
  • Build one C++ systems project with RAII, buffers, and sanitizer runs
  • Explain C++ ownership, move semantics, atomics, and memory-layout tradeoffs
  • Run fio and explain the results
  • Prepare two real debugging stories from past work/projects
  • Prepare one storage architecture deep dive for interviews

πŸ“… Daily Tracker

Related