Let me start with a confession: I once wrote a Python script that auto-submitted Leetcode solutions every 12 hours to boost my profile’s "streak." Why? Because during campus placements, an HR manager from a well-known IT services company told me, "We don’t care if you’ve built projects. If you can’t solve two medium-difficulty problems in 30 minutes, we’ll take the candidate who can."
This isn’t an outlier-it’s the reality for 80% of India’s engineering graduates. Let’s dissect why this system is failing everyone and how you can survive it without losing your sanity.
The Leetcode Industrial Complex: How We Got Here
Most tier 2-3 companies use coding tests as a filter, not an assessment. Here’s why:
1. Lazy Hiring Practices: It’s cheaper to auto-reject 1,000 candidates via a HackerRank test than to pay HR teams to review portfolios.
2. Grade Inflation Paranoia: With 1.5 million engineers graduating yearly, companies assume GPA + coding scores = "merit." (Spoiler: They don’t.)
3. The Outsourcing Hangover: Many firms prioritize "problem solvers" who can grind through legacy code fixes over innovators.
A 2023 Aspiring Minds report found that 60% of freshers rejected by IT services companies failed solely due to coding rounds, despite having domain-specific project experience.
Read: How I Automated My Job Search Using Python (And Why You Should Too)
The 3 Myths Companies Believe About Coding Rounds
Myth 1: "Leetcode Skills = Job Performance"
Reality: Building CRUD apps for clients doesn’t require solving "Trapping Rain Water II." A 2022 study by Scaler Academy showed that employees who aced coding rounds took 2x longer to adapt to real-world projects than peers with internship experience.
Myth 2: "Time-Bound Tests Gauge Pressure Handling"
Reality: Anxiety-induced brain freezes ≠ workplace pressure. I’ve seen candidates who solved 500+ Leetcode questions panic when asked to debug a simple API endpoint.
Myth 3: "Everyone Has a Fair Shot"
Reality: Wealthier candidates afford Leetcode Premium and coding bootcamps. The rest? They’re left Googling "how to reverse a string in Python" two days before the test.
How to Hack the System (Without Selling Your Soul)
1. The 4 Problem Archetypes to Master
Focus on patterns, not individual questions:
· Sliding Window: For "longest substring without repeating characters" and variants.
· Modified Binary Search: Rotated arrays, peak elements, and other sorted-but-twisted problems.
· DFS/BFS on Grids: Number of islands, rotten oranges, matrix traversal.
· Greedy Algorithms: Fractional knapsack, activity selection (common in Wipro, TCS).
Pro Tip: Companies reuse questions. I’ve encountered the same "merge intervals" problem in three different interviews.
Read: Why I Stopped Applying to Jobs and Let Python Do It for Me
2. The Art of Strategic Memorization
· 20 High-Impact Questions: Prioritize problems from companies’ "favorite" lists (e.g., Infosys loves string manipulation and DP).
· Blind 75 Lite: A curated list of 35 problems that cover 90% of tier 2-3 coding rounds. Grab my free list here.
· Template Code: Memorize boilerplate for BFS, DFS, and quick sort. Most interviewers won’t notice if you tweak a standard solution.
# BFS Template (for "rotting oranges" type problems)
from collections import deque
def bfs(grid):
queue = deque()
for i in range(len(grid)):
for j in range(len(grid[0])):
if grid[i][j] == 2: # Find starting points
queue.append((i, j))
time = 0
while queue:
for _ in range(len(queue)):
x, y = queue.popleft()
for dx, dy in [(0,1), (1,0), (-1,0), (0,-1)]:
nx, ny = x + dx, y + dy
if 0 <= nx < len(grid) and 0 <= ny < len(grid[0]) and grid[nx][ny] == 1:
grid[nx][ny] = 2
queue.append((nx, ny))
time += 1
return time
3. Exploit the Grading Rubric
Most coding tests auto-score based on:
· Correct Outputs (50%): Pass all test cases, even with brute-force code.
· Time Complexity (30%): Claim you’ll "optimize later" but never do.
· Code Readability (20%): Use descriptive variable names like left_ptr instead of i.
I once passed a Hexaware coding test by hardcoding outputs for 5/10 test cases. The system didn’t care.
What Companies Should Do Instead (But Probably Won’t)
1. Replace Live Coding With Take-Home Projects
Example: A candidate for a web dev role gets 48 hours to build a TODO app with user auth. This tests:
· Real-world coding
· Research skills
· Deadline management
But companies resist because "it’s too time-consuming to evaluate."
2. Probation-Based Hiring
Hire candidates for a 3-month trial on real projects. Pay a stipend. Keep the top performers. Startups like Razorpay have seen 40% better retention with this model.
3. Behavior + Code Pairing
Instead of Leetcode hards, ask candidates to:
· Debug a broken API endpoint
· Optimize a slow SQL query
· Explain their approach to a senior dev
The Ethical Dilemma: Gaming vs. Learning
Let’s be clear: This system rewards grinders, not builders. But until companies change, here’s how to stay afloat without burning out:
· Grind Smart: Spend 70% of your time on high-frequency questions.
· Build One "Showcase" Project: A web scraper, portfolio site, or automation tool. Use it to negotiate post-hire.
· Learn to Talk Through Solutions: Even if you’re stuck, narrating your thought process can save you.
Read: How I Used Blogging to Bypass 3 Coding Interviews
Final Thoughts: Surviving the Trash Fire
The tier 2-3 hiring process isn’t just broken-it’s actively harmful. It discourages creativity, rewards rote memorization, and filters out candidates who could thrive given actual mentorship.
But here’s the silver lining: Once you’re in, nobody cares how you got there. Use your first year to learn actual development, contribute to internal tools, and pivot to better roles.
Up Next: Why DSA Will Never Die in India (And How to Make Peace With It)
This isn’t a guide to fair play-it’s a manual for surviving a rigged game. Crack the coding round, get the job, then work to fix the system from within. You owe yourself that much.
Comments
Post a Comment