SDE
Interview Date
17-08-2026
Result
Pending
Difficulty
Medium
Rounds
01
Drive Type
Off-Campus
Topics asked
Detailed experience
"You are building a custom branch predictor for an aggressive wide-issue superscalar CPU core facing high misprediction penalties on deep pipelines": The interviewer asked how to outperform traditional two-level adaptive branch predictors under footprint-constrained SRAM limits; I walked through the microarchitecture of a TAGE (Tagged Geometric History Length) predictor, explaining how multiple predictor tables indexed with geometrically increasing branch history lengths use tag-matching to provide long-range pattern correlation while falling back to short-history tables for new or irregular branches. "An eBPF-based network monitoring agent needs to correlate and aggregate millions of flows per second directly inside the Linux kernel without causing packet drops": The panel challenged me to aggregate per-flow metrics across CPU cores while guaranteeing that userspace readers never observe torn reads or trigger kernel lock contention; I designed the telemetry pipeline using BPF per-CPU array maps to eliminate inter-core synchronization on the fast path, coupled with RCU-protected epoch synchronization and a circular BPF ring buffer (bpf_ring_buf) that replaces perf event buffers to provide backpressure and zero-copy user-space memory mapping. "You are designing the physical storage layer of an LSM-tree-based key-value store to eliminate the write amplification and SSD endurance degradation caused by continuous compactions": The interviewer pushed on why classic LevelDB/RocksDB architectures cause early flash wear; I detailed the separation of keys and values via WiscKey-style architecture, walking through how small keys and value pointers remain in a traditional multi-tier LSM-tree while raw payloads are written sequentially to an append-only Value Log (vLog), backed by an asynchronous background garbage collector that punch-holes stale blocks using filesystem TRIM/deallocate primitives. "A multi-tenant database running on a high-throughput NUMA machine with 8 memory nodes is suffering from severe cross-socket interconnect saturation": The panel tasked me with designing a thread-to-memory placement architecture that minimizes UPI/QPI traffic during concurrent heavy OLAP aggregations; I walked through an implementation combining NUMA-aware per-node page allocations via `mbind()`, task pinned worker affinity masks, and a cache-conscious morsel-driven parallelism framework where data chunks are processed strictly by the local socket's execution pipeline before performing a lock-free parallel reduction across numa boundaries.