I recently appeared for TCS interview process. I had an All India Rank of 62 in CodeVita 2023 which is the flagship coding contest of TCS. Around top 2023 rankholders from all over India got a direct interview through Codevita.I along with roughly 85 others from several colleges in Kolkata and nearby areas were called for the Interview in TCS Office on that day. The reporting time was 9:30 AM. We were gathered in a seminar hall and our resume and application forms were collected. We were asked to mention the programming languages we coded in, on top of the application forms. I wrote Python 2.7 and C++.We had a seminar to begin with regarding codevita and what is expected from us since we have proved our competence in codevita. Another seminar followed this and I really liked it. It was about digital enterprise, the new technologies and how TCS is using them or planning to use them. It was conducted by a very senior professional from TCS who had been with TCS for 20+ years.We were then taken to the block where interviews are conducted. The interview process started at around 12:00. Every 20 odd minutes a bunch of names were called and they were separated from others and taken to wait outside their allotted interview rooms. My name was in the last list to be called perhaps due to Python being my choice of language and I had to wait and watch all of my friends being separated from me. I got a cup of coffee from a nearby coffee machine which helped me a lot in this.Finally my name was called at around 2 PM and I got into the interview room at around 2:30 PM. The first round was mostly Technical with very little HR. I was asked to explain the questions I solved in codevita and explain my solutions. I did it pretty comfortably. One of them was a DP question and I explained it a bit too thoroughly although they didn’t ask for it. They looked satisfied.I was asked about competitive programming as I had mentioned it on my CV. I told them about SPOJ, Codechef, HackerEarth and other sites where I had been practicing frequently. I was also asked about the sites I read tutorials from and I told them about Tushar Roy on Youtube, Codecademy, Codeforces Blogs, E-Maxx.ru and GeeksforGeeks. They asked me why I chose python on some problems and C++ on others. I told them that I decide which language to use depending on the question. I prefer python when there are big numbers involved or there is a chance of overflow or too many strings are involved but I stick to C++ for questions involving data structures like graphs, trees, etc primarily due to pointers and STL of C++.I was also asked about my favorite programming language and I replied with Python as I had most confidence in it after spending more than 2.5 years with it. They asked me the reason for it and I said that prior to coming to college I had zero programming knowledge as it wasn’t a part of my school syllabus. Getting into programming was scary for me in the beginning. Python was relatively less hostile to me due its syntax and as I developed problem solving skills in Python, I found courage to try other languages ranging from C++ to Haskell.I also had several projects in my CV in python and web development experience using Django. I was asked about one of my small projects, Makaut-Notifier, how I designed it and what it does. I told them it is a simple scraper using bs4 and urllib that informs me of any new notices on the university website. They looked impressed. We discussed a bit more on python and I also took the opportunity to brag about my SPOJ rank and competitive programming percentile of 99.98 in Python (HackerEarth stats). Finally I was asked about my low marks in maths in class 12th. I had just 55 in maths in class 12th (overall 81.2 %). I told them I had taken academics for granted for a while in class 12th. I also spent a lot of time on one particular question in the paper which resulted me in not solving the entire paper (I didn’t attempt around 25+ marks, I came out crying from the exam hall). Overall I confessed it was my fault and a problem of time management too. I was honest and the interviewers appreciated it. The first round concluded. I peeked into my application form which they had and I could see “Strong Communication Skills” and “Lots of Coding Work / Achievements” written on it. I felt relieved.After around 45 minutes I was called for the second round which was Managerial / HR. Two interviewers were present in my room, one of them had already taken my technical interview and left shortly in the midst of HR round. I was asked to tell something about myself. It was an expected question but I believed in being impromptu and framed it in a way which started from me telling about my background, my passion for coding and then ended with me being an all-around learner.Most of my interview (30–40 mins) revolved around the same question of what would I do if I join TCS and I am not allotted a coding profile. I said that I would prove my worth in due time and the company would not waste an asset when they recognize it. He told me that TCS is a big company with lot of people and I could get lost in the crowd resulting in my skills never being acknowledged by top tier people. I replied that skill will always find a way and it is a gradual process, as first the peers recognize your skills, then immediate superiors and slowly the top tier management. It was more of the grilling with the same question with twists and turns for some time.I was also asked about my will to relocate and I said that I would love to travel as I haven’t got much chance to do so, so far. I was asked about changing companies after a while, and looking for better opportunities. I told him that I would rather be in the same company than shift unless the opportunity is too big, one you just cannot refuse stuff. There were other questions about my family, etc. The final question was why I couldn’t get into an IIT. I said that I didn’t work too hard, it was totally my fault of messing up class 12th. I also said that life is all about learning, and I have done so in my college life. He asked me if my relatively not so good performance in 12th was due to a girlfriend or love life and I replied that it was due to gaming, as the former would never be a distraction in my life, but rather a reason to work hard and a motivation. He smiled and said that would be all, and asked me to go have my lunch.I believe I was honest almost throughout the interview and the HR interviewer perhaps realized it. My main strategy was not to get manipulated by the question, which I more or less succeeded in doing so. Also it is about having a balance of honesty and smartness. I did my best to convince the interviewer and he looked convinced and impressed in the end. After the interview at around 4 PM, I was finally given my free lunch coupon for the day in TCS canteen. It was a non-veg Indian meal with ice-cream as dessert. After the meal, I was told I could leave for the day and I left the TCS premises at around 5 in the evening.The results were announced via mail after slightly more than a fortnight. I was selected for the job. Not only that I was invited for another round of interview a week later, for some roles with specific niche assignments (Differential Offer with the role of a Systems Engineer). I was one of the 4 people from my college and probably 19 people in the eastern zone or West Bengal, to get the invite for Innovation Lab. Apart from us around 15 people were selected from my college for the job.Overall, it was a very good experience for me. I also attended the Differential Offer interview, which went very well and I was appreciated by the interviewer. This was my first job offer from an MNC. I immediately told this to my Mom, Dad, Sister, close family and best friends and all of them were very happy. And when they are happy, I am happy. After all, life is all about people you love.Update [Oct 27, 2017]: Got Selected in the next round (Differential Offer with the role of a Systems Engineer) too. Waiting for the offer letter.Update [Nov 27, 2017]: The final offer letter after clearing all rounds of CodeVita interviews has been made to the selected people. I am one of them. The final offer is for the role of a Systems Engineer (in normal hiring you first join as an Assistant Systems Engineer - Trainee, then you get promoted to Assistant Systems Engineer and then Systems Engineer, but CodeVita candidates who cleared all rounds of interviews have been awarded with a differential offer). CodeVita has surely been a wonderful experience for me. :)