The exam was conducted online in a proctored environment. It consisted of a coding round where candidates had to solve 6 programming problems in 6 hours. The problems ranged from easy string manipulations to advanced dynamic programming and graph-related questions. The interface provided by TCS was fairly simple but lacked features like auto-complete and test case debugging, so one needs to be precise with inputs and outputs.
Preparation Strategy
I began my preparation around 2–3 months before the exam, dedicating time each day to hone my coding and problem-solving skills. Here’s how I approached my preparation:
- Focus on DSA Fundamentals: My primary focus was to strengthen my understanding of Data Structures and Algorithms (DSA), as it is crucial for solving a wide range of coding problems. I followed resources like GeeksforGeeks to cover key topics.
- Daily Problem Solving: I solved 3–5 problems every day. This routine helped me stay consistent and improve my problem-solving speed.
- Categorising Problems: I categorised problems based on topics like arrays, strings, graphs, dynamic programming (DP), and recursion. This helped me thoroughly practice each topic and gain a deeper understanding.
- Mock Contests: Participating in mock contests regularly was a key part of my strategy. It helped me build endurance, manage time better, and get accustomed to solving problems under exam-like pressure.
Pattern of the Exam / Interview
Coding Round: 6 problems with increasing difficulty. The first 2 were implementation-based (e.g., sorting, string parsing), the middle ones involved recursion/DP, and the last ones were on graphs/complex logic.
Interview Round (If qualified): It was mainly technical with a mix of HR. Questions revolved around my projects, core subjects (OOPS, DBMS), and DSA problems. They also asked for code walkthroughs of my earlier solutions.
Subjects or Topics to Focus On:
- Arrays, Strings, Hashing
- Recursion and Dynamic Programming
- Greedy Algorithms
- Graphs and BFS/DFS
- Time and Space Complexity Analysis
Do’s and Don’ts:
Do’s:
- Practice on the same IDE/environment if possible.
- Make sure to test with edge cases.
- Keep templates or snippets ready (for input parsing, graph templates).
- Stay calm and read questions carefully before jumping in.
Don’ts:
- Don’t waste time on one hard question. Switch to easier ones if stuck.
- Avoid hardcoding unless the pattern is obvious and tested.
- Don’t skip mock tests – they build endurance and pressure-handling skills.
Final Thoughts
This experience taught me how crucial consistent practice and a focused strategy are. Competitive exams don’t just test knowledge; they test how well you apply it under time pressure. If you’re serious about cracking it, start early, be disciplined, and stay curious.