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)
Software Testing
What is software testing?
Software Engineering Life Cycle
Describe the various steps in the software engineering life cycle.
Agile Software Development
What is 'agile' software development?
Verification vs. Validation
What is the difference between Verification and Validation?
Token-based vs. Cookie-based Authentication
What is a token? What is the difference between token-based and cookie-based authentication? How can we implement them?
MongoDB vs. SQL
Why did you choose MongoDB over SQL? What are the differences?
Database Scaling
What is database scaling? What is the difference between horizontal scaling and vertical scaling?
Database Design Considerations
What do you consider while designing a database?
Database Normalization
What is normalization? How did you ensure that your database adheres to the normal forms?
C++ vs. Java
What is the difference between C++ and Java?
C++ Memory Management
How do you free memory in C++ since it does not have built-in garbage collection?
Java Compilation Steps
What are the two steps in Java compilation?
Git vs. GitHub
What is the difference between git and GitHub?
Git vs. Cloud Storage
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?
Year Gap Explanation
Please explain your year gap.
Motivation for Joining TCS
Since you have other offers, why do you want to join TCS?
Hobbies and Interests
Describe your hobbies.
Location and Time Shift Preferences
What are your location and time shift preferences?