Startup · Bengaluru
Groww interviews focus on fintech problem-solving, real-time systems, and data infrastructure for their investment platform.
Process: Online Assessment → Technical × 2 → System Design → Behavioral
What does Groww build and what fintech engineering challenges are unique to them?
Tip: Groww: investment platform for stocks, mutual funds, SIPs, and more. Engineering challenges: real-time market data (NSE/BSE tick data at 100K+ updates/sec), order execution latency (<50ms SEBI requirement), regulatory compliance, portfolio computation at scale, and handling new investors who need simplified UX.
How would you design a real-time stock price feed system for Groww's 10M+ users?
Tip: Source: NSE/BSE market data feed (TCP/UDP multicast). Processing: normalise + validate → publish to Kafka topic per symbol. Fan-out: WebSocket gateway subscribes to user's watchlist symbols, maintains connection pool. Scale: Kafka partitioned by symbol, WebSocket sharded by user_id. Stale data: heartbeat check, reconnect on gap.
Write code to compute the portfolio value and returns given a list of holdings and current prices.
Tip: Portfolio value: sum(holding.units × current_price[symbol]). Returns: (current_value - invested_value) / invested_value × 100. Handle: multiple buy transactions per symbol (FIFO/FIFO-weighted average cost basis). XIRR for time-weighted returns. Groww data engineer interviews test financial calculations like these.
What is a time-series database and why would Groww use InfluxDB or TimescaleDB?
Tip: Time-series DB: optimised for append-only time-stamped data with range queries. Features: automatic data compression, downsampling (store 1-sec ticks → 1-min OHLCV after 1 day), efficient storage for repeating timestamps. Groww stores tick data and user portfolio history — traditional Postgres would struggle with write throughput.
Explain how SIP (Systematic Investment Plan) execution works technically.
Tip: SIP: scheduled recurring investment. Technical flow: cron job triggers on mandate date → fetch active SIPs → group by fund house → debit user bank (mandate via NACH) → submit to RTA (Registrar & Transfer Agent) → receive allotment confirmation → credit units to user demat. Failure handling: NACH failure retries, SIP pause logic.
How would you implement a circuit breaker pattern for Groww's stock broker API integration?
Tip: Circuit breaker states: CLOSED (normal) → OPEN (tripping after N failures) → HALF-OPEN (probe after timeout). When OPEN: fail-fast without calling broker API. Benefits: prevents cascading failures during exchange outages. Libraries: Resilience4j (Java), go-circuitbreaker. Critical for Groww during NSE downtime scenarios.
Tell me about a time you built something that required you to learn a new domain from scratch.
Tip: Groww engineers must understand financial regulations (SEBI, AMFI norms) even if non-finance background. Show: you took initiative to learn the domain (read SEBI circulars, financial textbooks), interviewed domain experts, and translated domain knowledge into correct software behaviour. Learning velocity matters here.
What is the difference between synchronous and asynchronous order execution in stock trading?
Tip: SEBI mandates order confirmation within 30 seconds. Groww sends order to broker → broker places on exchange → exchange gives order_id → execution report arrives asynchronously (fill or reject). User sees 'Order Placed' immediately; execution status updates via polling or broker callback webhook.
How do you calculate NAV (Net Asset Value) for a mutual fund and what makes it technically challenging?
Tip: NAV = (Total Assets - Liabilities) / Number of Units. Computed daily after market close by AMCs. Technical challenge: requires price of all securities in the fund, calculated in a strict window. Groww displays NAV from RTAs (CAMS, KFintech) via API. Stale NAV detection: compare against AMFI website as authoritative source.
Write code to find the maximum subarray sum (Kadane's algorithm).
Tip: Kadane's: maintain current_sum and max_sum. At each element: current_sum = max(element, current_sum + element). max_sum = max(max_sum, current_sum). O(n) time, O(1) space. Groww coding rounds test classic DSA — Kadane's applies to "maximum profit over a period" type questions.
Nextbillion Technology (Groww) interviews follow a 4-round process. Here is what to expect and how to prepare for each stage.
Upload your resume and get questions scored across technical depth, communication, structure, confidence, and relevance — the same criteria Groww panels use.