Coding in C/C++ and Software Fundamentals
You will write C/C++ under realistic constraints: memory management, complexity targets, correctness, and testability. Expect to compile concepts you use daily—pointers/references, RAII, STL containers/iterators, time/space trade-offs—into clean implementations.
Be ready to go over:
- Core data structures/algorithms: arrays, strings, hash maps/sets, heaps, trees, graphs, sorting, searching
- C/C++ specifics: pointers, lifetimes, const-correctness, move semantics, smart pointers, exceptions vs. error codes
- Testing and correctness: unit tests, edge cases, invariants, input validation
- Advanced concepts (less common): lock-free structures, custom allocators, circular buffers, cache-aware designs
Example questions or scenarios:
- “Implement a rate limiter or LRU cache in C++ with O(1) operations and discuss thread-safety options.”
- “Parse a routing table dump into efficient in-memory structures; support longest-prefix match lookups.”
- “Given a packet header schema, encode/decode functions with robust bounds checking and tests.”
Systems: Linux, OS, Concurrency, and Performance
Arista software is systems software. You will be asked to reason about processes, threads, scheduling, memory, and I/O. Show that you can instrument code, analyze flame graphs or perf counters, and choose the right concurrency primitives.
Be ready to go over:
- Processes/threads: context switches, synchronization, deadlocks, condition variables, atomics
- Memory: stack vs heap, fragmentation, paging, NUMA basics, memory visibility
- I/O and performance: epoll/select, buffers, DMA basics, profiling
- Advanced concepts (less common): lock-free algorithms, memory barriers, copy-on-write, zero-copy I/O
Example questions or scenarios:
- “Design a multithreaded log aggregator; detail contention points and backpressure.”
- “Diagnose a memory leak or heisenbug in a long-running daemon; what tools and hypotheses?”
- “Compare polling vs. interrupt-driven I/O for a high-throughput task.”
Networking and Protocols (L2/L3, EVPN/VXLAN, TCP/IP)
You do not need to be a CCIE, but you should be comfortable with core concepts and data structures protocols rely on. Expect questions on packet paths, FIB/RIB, adjacency, timers, and failure handling at scale.
Be ready to go over:
- L2: VLANs, LACP, STP/RSTP/MST, MACsec basics
- L3 and routing: ARP/ND, OSPF/IS-IS, BGP, ECMP, convergence, route scaling
- DC fabrics: EVPN/VXLAN, MLAG, underlay/overlay, routing on the host
- Advanced concepts (less common): Segment Routing, telemetry/streaming, buffer management, QoS/PFC
Example questions or scenarios:
- “Explain EVPN route types and how MAC/IP mobility is handled.”
- “Design a control-plane approach to program 1M routes to a multi-ASIC chassis under tight time budgets.”
- “Trace a packet through an underlay/overlay fabric, pinpointing failure domains.”
System Design for Network Software (EOS-style Components)
Design interviews are grounded in real EOS problems: building a protocol module, a forwarding pipeline renderer, or a telemetry subsystem. Interviewers look for modularity, scale, observability, and failure handling.
Be ready to go over:
- APIs and abstractions: clean interfaces to hardware drivers and higher layers
- State and scale: in-memory models, snapshots, incremental updates, backpressure
- Resilience: process restarts, warm upgrades, hitless transitions, watchdogs
- Advanced concepts (less common): multi-ASIC partitioning, hardware offload orchestration, graceful in-service upgrades
Example questions or scenarios:
- “Design a BGP feature that supports fast failover and route dampening; outline data structures and timers.”
- “Build a packet forwarding state renderer for a router with hundreds of forwarding chips.”
- “Instrument a telemetry pipeline for link health and anomaly detection.”
Debugging, Testing, and Production Quality
Quality is a first-class deliverable. Expect to discuss how you write functional specs, test plans, and automated tests alongside the code. Be explicit about how you triage field issues and deliver confident fixes.
Be ready to go over:
- Test strategy: unit, integration, soak, fuzz; simulators and traffic generators
- Diagnostics and bring-up: board-level tests, link diagnostics, counters, PRBS
- Prod hygiene: feature flags, rollbacks, canaries, versioning
- Advanced concepts (less common): concurrency testing, determinism, fault injection
Example questions or scenarios:
- “Author a test plan for MACsec or LACP; include negative and scale cases.”
- “Given intermittent retransmissions at 400G, outline a methodical root-cause workflow.”
- “Design a diagnostic to validate a new PHY or optics module during manufacturing.”