Technical interviews at Indian product companies (Swiggy, Razorpay, Flipkart, Google India, Meta India) evaluate four things: problem decomposition, technical depth, communication, and learning agility. Yet most candidates prepare only for the first two. This guide covers what Indian product companies actually evaluate, a 4-week preparation plan, the think-aloud technique that separates good from great candidates, and how to handle problems you cannot immediately solve.
What Indian Product Companies Actually Evaluate in Technical Interviews
The four things consistently evaluated: (1) Problem decomposition: can you break a complex problem into manageable subproblems? The interviewer watches whether you jump to coding immediately or take 2-3 minutes to understand the problem, clarify edge cases, and design a solution before writing a single line. The fastest-coding candidate who misunderstands the problem loses to the slower candidate who clarifies requirements first. (2) Technical depth: does your solution work, and can you explain why it works and what its time and space complexity is? Can you improve your initial solution? Can you trade space for time or vice versa? Can you handle all edge cases (empty input, single element, maximum constraints)? (3) Communication: do you narrate your thinking? An interviewer cannot see your internal thought process; a candidate who thinks aloud ('I am considering a hash map here because lookups are O(1), but I need to check if memory constraints matter for this problem') is much easier to guide than one who codes silently for 20 minutes. (4) Learning agility: when the interviewer gives a hint or asks you to modify your approach, can you integrate the feedback quickly? This tests whether you are coachable and can learn from colleagues in a real working environment.
The 4-Week Technical Interview Preparation Plan
4-week interview prep plan: Week 1 (Foundations): complete all LeetCode problems tagged Easy in the core categories: arrays (two-sum, maximum subarray, rotate array), strings (valid anagram, reverse words, longest palindrome), linked lists (reverse, detect cycle, merge sorted), trees (inorder traversal, maximum depth, validate BST). Target 2-3 problems per day, 45-60 minutes per problem. Focus on clean code, not speed. Practise explaining your approach aloud to an imaginary interviewer after solving each problem. Week 2 (Core patterns): move to Medium LeetCode in the 10 canonical patterns: two pointers (3-sum, container with most water), sliding window (longest substring without repeating, find all anagrams), binary search (find minimum in rotated sorted array, search a 2D matrix), BFS and DFS on trees and graphs (number of islands, clone graph, course schedule), dynamic programming (climbing stairs, coin change, longest increasing subsequence), backtracking (permutations, subsets, N-queens), merge intervals, heap (top K frequent elements, kth largest element), and trie (implement trie, word search). Two problems per pattern: understand the pattern deeply, not the solution to one specific problem. Week 3 (System design): study 4-5 classic system design problems in depth (URL shortener, rate limiter, distributed message queue, Twitter feed, ride-sharing backend). For each: use the 6-step framework (requirements, capacity estimation, high-level design, data model, API design, deep dive). Week 4 (Integration and mock interviews): do 2-3 timed mock interviews (45 minutes, one coding problem, talk aloud throughout) using Pramp or a peer. Identify your weakest pattern from weeks 1-2 and do 5 more problems in it. Read 3-5 engineering blogs from your target company (Swiggy Engineering, Razorpay Engineering, CRED Engineering) to understand the scale and technical challenges.
- ▸Arrays, strings, hashmaps: 15 LeetCode easy/medium
- ▸Time/space complexity analysis for every solution
- ▸Pick your primary language and practice its syntax
- ▸Two pointers, sliding window, BFS/DFS, binary search: 20 problems
- ▸At least 1 hard problem daily — even a failed attempt teaches
- ▸Practice explaining your approach out loud
- ▸Learn 4 core designs: URL shortener, rate limiter, notification service, feed
- ▸Study CAP theorem, database selection, caching strategies
- ▸Practice drawing and narrating design simultaneously
- ▸2 mock interviews (Pramp, Interviewing.io, or peer)
- ▸Behavioral: 5 STAR stories covering ownership, conflict, failure, impact
- ▸Research target companies' tech stacks and interview style
The Think-Aloud Technique
The think-aloud technique is narrating your thought process during a coding interview so the interviewer can follow and guide you. What it looks like in practice: 'Let me read the problem once. We have an array of integers and we need to find two numbers that sum to a target. My first thought is brute force: check every pair, O(n^2) time, O(1) space. But I think I can do better. If I store the complement of each number as I iterate through the array, I can check in O(1) whether the current number's complement has been seen before. So for each element x, I check if target minus x is in a hash set. If yes, I return the pair. If not, I add x to the set. This is O(n) time and O(n) space. Does that trade-off work for this problem? Let me check the constraints.' This is the ideal think-aloud rhythm: read carefully, state the brute-force observation, identify the optimisation insight, evaluate the time/space complexity, then code. How to practise: set a timer for 45 minutes, open LeetCode, pick a Medium problem, and narrate everything aloud as if talking to a real interviewer. Record yourself on your phone. Listen back: are you silent for more than 60 seconds? Do you explain complexity? Do you ask about edge cases before coding? The discomfort of hearing yourself narrate is exactly the discomfort to overcome before the interview.
Practise technical interview answers with AI voice coaching on HireStepX. Get instant feedback on your communication, technical depth, and problem-solving approach. First 2 sessions free.
Practice freeHow to Handle Problems You Cannot Immediately Solve
Four strategies for getting unstuck in a live technical interview: (1) Brute-force first, optimise second: 'I am not sure about the optimal solution yet, but I know the brute-force approach: [explain O(n^2) or O(n^3) approach]. Let me code that first and then see if I can optimise.' A working brute-force solution is always better than no solution and often provides the insight for the optimal approach (seeing the redundant work in the brute-force is how you find the optimisation). (2) Try a small example by hand: 'Let me trace through this simple example manually and see if I can spot a pattern.' Many interviewers will let you work through an example on the shared screen. This is productive, not a sign of weakness. (3) Ask for a hint: 'I have explored [approach A] and [approach B] and I am stuck on [specific aspect]. Can you give me a hint about the direction to look?' This is professional collaboration, not failure. Most interviewers would rather give you a hint and see how you integrate it than watch you be silent for 10 minutes. Candidates who ask for hints and integrate them well often score higher than candidates who struggle alone and arrive at the same solution 20 minutes later. (4) Verbalise your stuckness precisely: 'I know the problem has overlapping subproblems structure, which suggests dynamic programming, but I am not sure how to define the state. Let me think through the state definition.' Precise articulation of where you are stuck (not just 'I don't know') shows analytical ability even when you have not yet solved the problem.
Frequently asked questions
Explore more