TCS Prime Interview Experience Feb 2024
Summary
I had an interview with TCS for a Prime role, where I was assessed on software engineering fundamentals, backend authentication, project details, database design, OOPS, and Git, followed by an HR discussion. I successfully answered most questions and received an offer a week later.
Full Experience
Last week, I had an interview with TCS for their Prime role. The interview was comprehensive, covering a broad spectrum of technical and behavioral topics. It began with fundamental software engineering questions, where I was asked to define software testing, describe the various steps in the software engineering life cycle, and explain 'agile' software development.
Next, the focus shifted to backend authentication. They questioned me on the difference between Verification and Validation, explained what a token is, and differentiated between token-based and cookie-based authentication, including how they can be implemented.
A significant portion of the interview revolved around my project. I explained its details and outlined my specific roles. They probed into my choice of MongoDB over SQL, discussing the key differences between them. We also covered database scaling, including the distinctions between horizontal and vertical scaling. Since I had mentioned designing the database, they asked about my considerations during the design process and about normalization, inquiring how I ensured my database adhered to normal forms.
For SQL, I was presented with a database schema and asked to write two queries, which were at an easy level.
OOPS concepts were also thoroughly explored. I was asked about the differences between C++ and Java, and a follow-up question on how memory is freed in C++ given its lack of built-in garbage collection. They also asked about the two steps involved in Java compilation and to list a few string in-built functions. Since I mentioned coding regularly, they asked me about the last program I wrote, and I discussed a problem involving Dijkstra's algorithm.
The discussion then moved to version control, specifically Git. I explained the difference between Git and GitHub, and clarified the distinction between pushing code to a repository versus uploading it to cloud storage like Google Drive, highlighting the additional functions Git provides.
Finally, the HR round covered questions about my year gap, my motivation for joining TCS despite having other offers, and my hobbies. My mention of books and guitar led to some follow-up questions. We also discussed my location and time shift preferences.
Overall, I felt the interview went very well, and I was confident in most of my answers. I was delighted to receive an offer one week later.
Interview Questions (18)
What is software testing?
Describe the various steps in the software engineering life cycle.
What is 'agile' software development?
What is the difference between Verification and Validation?
What is a token? What is the difference between token-based and cookie-based authentication? How can we implement them?
Why did you choose MongoDB over SQL? What are the differences?
What is database scaling? What is the difference between horizontal scaling and vertical scaling?
What do you consider while designing a database?
What is normalization? How did you ensure that your database adheres to the normal forms?
What is the difference between C++ and Java?
How do you free memory in C++ since it does not have built-in garbage collection?
What are the two steps in Java compilation?
What is the difference between git and GitHub?
What is the difference between pushing code in a repository versus uploading it to the cloud (like Google Drive)? What additional functions does it provide?
Please explain your year gap.
Since you have other offers, why do you want to join TCS?
Describe your hobbies.
What are your location and time shift preferences?