TCS digital interview

tcs logo
tcs
Offer
September 4, 201952 reads

Summary

I successfully navigated a two-round interview process for a TCS Digital role, which included an online assessment featuring a 0/1 Knapsack problem and a comprehensive face-to-face technical and HR interview covering Java, system design, and general technical knowledge. Ultimately, I received an offer.

Full Experience

Round 1: Online Test

This round consisted of an online test conducted at TCS Ion centers. It was divided into 4 sections, with the first 3 being Multiple Choice Questions (MCQs) and the last one being a coding challenge. There was sectional timing and negative marking, so it was crucial to answer only when sure.

Section 1: Reading and Vocabulary Skills

This section had 15 questions to be completed in 10 minutes. Most questions required finding answers from paragraphs, so speed and accuracy were key.

Section 2: Quantitative Aptitude

I faced 20 questions in 30 minutes, ranging from intermediate to advanced levels, covering basic equational math to geometry.

Section 3: Technical MCQ Round

This was a relatively easy section with 15 questions to be done in 30 minutes. The questions were clear and tested basic technical knowledge. I tried to attempt as many questions as possible here, as it seemed to be the easiest section.

Section 4: Coding Section

This section had only 1 coding problem to be solved in 60 minutes. We had to code in Eclipse IDE, with manual debugging and only 2 visible test cases out of a total of 8. The question I received was the '0/1 knapsack problem,' which is a standard dynamic programming problem.

Out of more than 250 applicants, 90 students were shortlisted for the second round, and I was among them.

Round 2: Face-to-Face Interview

The second round was a face-to-face interview at a TCS facility. There were 5 panels, each consisting of 3 members. I waited for almost 5 hours before my turn. The interview was a combination of Technical and HR questions. The interviewer called my name last, and I entered the room, greeted them, and handed over my resume. The interview then began:

  1. They asked me to tell them something about myself.
  2. They inquired about a project I had worked on, and I spent about 10-15 minutes answering all their questions, which seemed to impress them.
  3. They asked which language I was most comfortable with. I stated Java, knowing that further questions would be based on it.
  4. They asked, "Why is String immutable?"
  5. I was asked about other immutable things in Java.
  6. They then asked how one could explicitly make anything immutable.
  7. "Suppose you have a large quantity of data input in your application. How would you handle it?" (They hinted at cache servers, like those used by Facebook).
  8. They followed up with, "What is the algorithm of cache servers?"
  9. I was asked to explain the difference between ML, DL, and AI.
  10. They noticed my work with Kali Linux and asked what I specifically did with it.
  11. "How does an aircrack attack work?"
  12. "What is the dark web? How can you access it?"
  13. "Why can’t you access the dark web with Chrome or any other normal browser?"
  14. "What is the difference between an application server and a web server?"
  15. They asked how packet bundling is handled in PHP, as it was in my skillset.
  16. "Where and how is MongoDB used?"
  17. "What is the use of MongoDB and why to use it besides having relational databases like MySQL?"
  18. "What happens when you hit enter after typing a URL?"
  19. They covered OOP concepts in Java.
  20. "You seem to have quite a taste in research work along with studies. What would you choose: research or development?"
  21. Finally, they asked if I had understood all job-related criteria and was aware of the pay scale, offering me a chance to ask any doubts.

I thanked them for their valuable time and left. The results were announced after about two weeks; 21 out of 90 students were selected, and I was among them!

Interview Questions (21)

Q1
0/1 Knapsack Problem
Data Structures & AlgorithmsMedium

Implement the 0/1 Knapsack problem using dynamic programming to find the maximum value that can be put into a knapsack of a given capacity.

Q2
Tell me something about yourself
Behavioral

Introduce yourself and provide an overview of your background, education, and professional experience relevant to the role.

Q3
Discuss a project you worked on
Other

Describe a significant project you have worked on. Be prepared to discuss its purpose, your role, technologies used, challenges faced, and outcomes.

Q4
Preferred Programming Language
Behavioral

Which programming language are you most comfortable and confident with?

Q5
Why is String immutable in Java?
OtherEasy

Explain the reasons behind String's immutability in Java and its benefits.

Q6
Other Immutable Objects in Java
OtherEasy

Besides String, identify other types or classes in Java that are immutable.

Q7
How to Create an Immutable Class in Java
OtherMedium

Describe the steps and best practices for explicitly designing and implementing an immutable class in Java.

Q8
Handling Large Data Input
System DesignMedium

Given an application with a large quantity of data input, how would you design a system to handle it efficiently and robustly? (Hint: Consider cache servers, similar to Facebook's approach.)

Q9
Cache Server Algorithms
System DesignMedium

Explain the common algorithms and principles that cache servers use for data management, eviction, and consistency.

Q10
Difference between AI, ML, and DL
OtherEasy

Explain the distinctions and relationships between Artificial Intelligence (AI), Machine Learning (ML), and Deep Learning (DL).

Q11
Experience with Kali Linux
Other

Describe your specific experiences, projects, or activities involving the use of Kali Linux.

Q12
How Aircrack-ng Attacks Work
OtherMedium

Explain the methodology and technical details of how an aircrack attack (e.g., against WEP or WPA/WPA2) operates.

Q13
Understanding and Accessing the Dark Web
OtherEasy

Define what the dark web is, how it differs from the deep web and surface web, and explain the methods used to access it.

Q14
Why Standard Browsers Cannot Access the Dark Web
OtherEasy

Explain the technical reasons why common browsers like Chrome, Firefox, or Edge cannot directly access the dark web.

Q15
Difference between Application Server and Web Server
System DesignMedium

Explain the primary distinctions in functionality, purpose, and architecture between an application server and a web server.

Q16
Packet Bundling in PHP
OtherMedium

Given your PHP skillset, explain how packet bundling or related network communication optimization is handled within PHP applications or environments.

Q17
Uses and Applications of MongoDB
OtherEasy

Describe the common use cases for MongoDB and how it is typically employed in real-world applications.

Q18
Why Use MongoDB Over Relational Databases?
System DesignMedium

Explain the specific advantages, use cases, and scenarios where MongoDB (a NoSQL database) is preferred over traditional relational databases like MySQL.

Q19
Browser URL Navigation Process
System DesignHard

Describe the end-to-end process that occurs, step-by-step, from the moment you type a URL into a browser's address bar and hit enter, until the requested webpage is fully displayed.

Q20
Object-Oriented Programming (OOP) Concepts in Java
OtherEasy

Explain the core Object-Oriented Programming (OOP) concepts (e.g., Encapsulation, Inheritance, Polymorphism, Abstraction) within the context of Java.

Q21
Research vs. Development Career Path
Behavioral

Given your apparent interest in research work alongside studies, which career path would you choose between research and development, and what are your reasons?

Preparation Tips

For the technical MCQ round, I recommend attempting the maximum number of questions as it tends to be the easiest section. During the face-to-face interview, always wear a smile, and try to make the discussion as interactive as possible.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!