Status: New grad, B.Tech CSE 2022 batch (Offcampus)
Position: Application Developer
Location: India
Date: May 2022
I reach out to HR around last week of april 2022. She shared a google form to submit my details and resume. After 2-3 days of form submission I got link for Hackerrank test of 90 minutes.
There were 4 rounds
In this round, there are a total of 16 questions and the time given was 90 mins.
3 Coding questions – 2 related to arrays and 1 related to stacks
13 MCQs based on Data structure(sorting, searching, trees, stacks) Computer fundamentals, Design Principles.
Within a 2-3 days I got the mail that I am selected for Round 2 which is a code pairing round. They ask me to choose a 90 min slot for scheduling the code pairing round.
It is basically a design kind of round, where problem statement is shared 15-20 minutes before the round. You have to code for it using OOP concepts and design techniques. It lasted for around 2hrs. You are paired with 2 TWer for this round. You have to share the screen and code on any ide you want. They are basically interested in your thought process and how clean and modular code you write. I told my approach first and then I coded it, They provide me some feedback on how i can improve the code and can make it more modular. In last few minuted they asked me few questions on OOPS concepts. At the end interviewer asked me if I have any question for them.
The problem statement was:
As a smart OTT company, we want to offer customized OTT plans for our customers
so that the customers should be able to choose to build their plan by choosing different
streaming platforms and how many viewing hours they want for each of them.
We do support the following streaming services and below is their tariff plan.
Streaming Service | Price per unit | Unit in hours
Netflix | Rs. 10 | 10 hrs
Amazon Prime | Rs. 2 | 5 hrs
Hotstar | Rs. 1 | 5 hrs
Viewing hours can be subscribed based on the multiples of the above mentioned units only.
Based on the user’s choice, the system should show the total amount which should be paid by
the customer.
Sample Input 1
Viewing hours for Netflix: 20
Viewing hours for Amazon Prime: 10
Viewing hours for Hotstar: 50
Sample Output
Total amount should be paid: Rs.34 (10 * 2 + 2 * 2 + 1 * 10)
Sample Input 2
Viewing hours for Netflix: 10
Viewing hours for Amazon Prime: 0
Viewing hours for Hotstar: 100
Sample Output
Total amount should be paid: Rs.30 (10 * 1 + 2 * 0 + 1 * 20)
Sample Input 3
Viewing hours for Netflix: 10
Viewing hours for Amazon Prime: 2
Sample Output
Amazon Prime allows viewing hours in multiples of 5 only[3] [4]Overall this problem was not difficult but what they were looking at was how good you are at following SOLID and OOPS. You basically have to use classes and design principles.
Resource i referred for preparation :
https://medium.com/search?q=Object-Oriented%20Analysis%20And%20Design%E2%80%8A
http://www.java67.com/2016/07/top-5-object-oriented-design-interview-questions.html
https://github.com/search?q=thoughtworks+code+pairing&type=Repositories
youtube : https://www.youtube.com/playlist?list=PL12BCqE-Lp650Cg6FZW7SoZwN8Rw1WJI7
On the next day, I received call from HR. She given me detailed feedback on how I performed and told me I am selected for Technical Interview round and asked me if i am available on the same day for interview. I wasn't able to do it the same day so she scheduled for the next day.
This round lasted for 1.5 hrs where two interviewers were there. First they told me the whole flow of interview (introduction, project discussion, Programming language and OOPS questions, and then coding question).
They introduced themselves and then ask me for introduction. Then they ask me about the project I have worked on, what challenges I have faced, what i am most proud of, question related to tech stack and why that only.
Then they asked me which prog language i am comfortable with. I said java.
OOPS -> encapsulation, abstraction with examples, and where you have used those while coding or real life scenario where it can be used
other OOPS Pillars
what is interface with examples and real life scenario where it can be used
Is multiple inheritance supported in java?
Can it be implemented other way?
Exception handling -> very long discussion, checked vs unchecked exceptions. given me one question of exception handling and asked me what will be output.
que was something like this -> what ans() will return? :
public static int ans(){
try
{
System.out.println("Inside try block");
return 1;
}
catch(Exception ex)
{
System.out.println("Exception caught in catch block");
return 2;
}
finally
{
System.out.println("finally block executed");
return 3;
}
}coding questions :
At the end they ask me if i have any question for them.
On the same day, I received call from HR. She given me detailed feedback on how I performed and told me I have cleared Technical Interview round and asked my availability for Social Change & Leadership Interview round for next day. She told me in detail about what is Social Change & Leadership Interview round and shared resources for preparation. It is basically to check if you are cultural fit for organisation.
This round lasted for 1.5 hours taken by product manager (12+years experience at TW) and developer. They asked me to introduce me. Then we have discussion on project i made, how conflicts are handled while working in team, different scenarios they have given and how i will act in that. One thing i will mention, as a thoughtworker if you see any critical issue in project and you have to choose between fixing it or going with design requirement, and your whole team saying design, you just need to stick with critical issue that need to fix. Company believe in delivering high quality products.
In social change interview, we had discussion around various social issues like diversity, women in tech, lgbtq community. They given me different scenarios and how will I act in that scenario.
At the end they asked me if i have any questions for them.
On the next day, I received call from HR. She given me detailed feedback on how I performed in last round and told me they are happy with my performance and yayyyy offered me the offer letter.
Concluding remarks:
For preparation I have gone through prev interview experience at GFG and Leetcode, and writing this experience as my way of giving back and helping people who are having interviews.
All the best for interviews!
If you have any other questios please let me know in comments. :)