Design a high-speed electric vehicle charging network that enables seamless "plug and charge" functionality. When a driver connects their vehicle to a charging stall, the system should automatically identify the car, authenticate the owner, begin delivering power, stream live session metrics to the vehicle dashboard and mobile app, and settle payment to the account on file -- all without requiring any manual interaction with apps, payment cards, or station interfaces.
Your system spans edge hardware (chargers and site controllers), cloud services (authentication, billing, telemetry), and client surfaces (in-vehicle UI, mobile app). It must handle network partitions gracefully because charging stations in remote corridors may lose internet connectivity yet still need to serve vehicles. Revenue integrity is paramount: every kilowatt-hour delivered must be metered and billed exactly once, even when components fail mid-session or connectivity drops for hours.
Based on real interview experiences, these are the areas interviewers probe most deeply:
Charging stations must continue serving vehicles when cloud connectivity fails. A design that requires online access to start a session will strand drivers during backhaul outages. Interviewers want to see how you balance local autonomy with centralized control and post-reconnection reconciliation.
Hints to consider:
Simple identifiers like VIN or MAC address are easily spoofed. Interviewers expect hardware-backed cryptographic identity with revocation support and short-lived session tokens.
Hints to consider:
A session spans authentication, power allocation, metering, stopping, rating, and payment settlement. Interviewers look for a durable workflow with idempotent transitions and compensating actions for partial failures.
Hints to consider:
A single station may have 20 to 50 stalls sharing a finite grid power supply. When all stalls are occupied, the system must dynamically allocate power to maximize utilization while treating customers fairly.
Hints to consider:
Every kilowatt-hour delivered must be accurately metered, rated, and billed exactly once. Interviewers expect idempotent operations, auditable line items, and compensating transactions for edge cases like payment declines after energy has been delivered.
Hints to consider:
Confirm scale parameters: number of stations, vehicles, and geographic distribution. Ask about offline operation expectations and how long stations must function without cloud connectivity. Clarify billing complexity including time-of-day rates, membership tiers, and promotional pricing. Understand power constraints and whether stations share a fixed grid allocation. Verify real-time expectations for status updates and whether vehicles maintain persistent connections. Discuss fraud scenarios and the required security level for hands-free authentication.
Sketch four tiers. The edge tier consists of charging stations with local controllers managing authentication, power delivery, metering, and a local event log with cached vehicle allowlists and pricing. The gateway tier includes regional API gateways handling vehicle connections, session state, and real-time updates via WebSockets, deployed close to charging corridors for low latency. The service tier contains stateless microservices for vehicle registry, session orchestration, the billing pipeline, and availability indexing. The data tier uses Kafka for session lifecycle and metering event streams, DynamoDB for vehicle and station configuration, Redis for session state caches and fast lookups, and a relational database for financial records and reconciliation. Emphasize asynchronous, event-driven communication between tiers to tolerate partial failures.
Walk through a complete charging session. The driver plugs in and the charger initiates a mutual TLS handshake using hardware-backed certificates. The site controller validates the vehicle against its cached allowlist and creates a session record with a unique ID. Power delivery begins and the charger streams meter readings every few seconds to Kafka, partitioned by station. A metering consumer aggregates readings and updates the session state service, which pushes cost and progress to the vehicle and mobile app via WebSocket. When the vehicle signals completion or the driver disconnects, the session enters the Completing state. The rating engine applies pricing rules and writes line items to the billing database. The payment service charges the account on file using the session ID as an idempotency key. On success, a receipt is sent and the stall is released. If payment declines, the workflow enters a retry state with backoff and notifications while still releasing the stall for the next vehicle.
Discuss real-time availability: each station publishes stall occupancy changes to a Kafka topic consumed by a service that maintains a Redis index with per-station available and occupied counts, connector types, and pricing. Mobile apps and vehicle navigation query this index. Cover power management: the site controller sums current draw across active stalls, compares against the grid limit, and broadcasts throttle commands proportionally. Vehicles receive updated power targets via their WebSocket connections. Address monitoring: chargers emit health metrics to a time-series database for anomaly detection and alerting on degraded stalls, network outages, or revenue discrepancies. Touch on disaster recovery: critical configuration is replicated across multiple regions, and in a regional failure sessions fail open with elevated risk caps, with billing reconciliation once connectivity restores.