ThoughtWorks Interview Experience for Application Developer | 2+ Years Experienced

27 Sep, 2021
I applied through LinkedIn for Application Developer-Consultant. Got a call from HR  almost after 2-3weeks, the HR took the details like expected CTC and relevant experience on the tech stacks. A long discussion on clean code and new technologies too and then explained how the interview is going to happen and how many rounds will be there. The requirement was for Java developer(includes Spring Boot, Kafka, ORM etc.) but I have worked on Spring MVC only, then she gave me 10 days of time to learn it.
There were total three rounds of interview:
Pair programming round (Interviewed on June, 2021)Technical Discussions (Interviewed on June, 2021)Leadership and social discussion (Interviewed on June, 2021)
Pair programming round (Interviewed on June, 2021)
Technical Discussions (Interviewed on June, 2021)
Leadership and social discussion (Interviewed on June, 2021)
Round 1(Pair Programming Round):
I was given a Github URL 2 days before the interview for my primary programming language and was asked to clone the repository to get familiar with the codebase and try to understand what it currently does and how it works.
Note: IDE could be of your choice.
I have prepared this codebase URL. It was a Rest API’s of project based on SpringBoot, Java8, JUnit.
But while having an interview got a different question based on Java Application.
Question: Make a Java Application for password validation, there were certain rules defined to check the password. There were certain different kinds of users(categorized on some categories), they have certain addresses. So, need to check whether the user is valid, if valid then it’s password is weak, strong or medium.
Expectations – Demonstrate your technical ability to write code, communicate and collaborate with the ThoughtWorker you are pairing with.
He was just focusing on the interfaces, classes and Clean code. Also read every instruction carefully. He was also checking whether i was able to take his hints or not.
Duration – 90-100 minutes.
No of interviewers – 1
Fortunately !! My code ran.
Round 2(Technical Discussions):
Expectation – Breadth, and depth of your knowledge of technology stack you have experience with.
No of interviewers – 1
This round was little tricky and lengthy. They told me that the duration is 1.5 hr, but we have wrapped up it in almost 2.5 hr
He told me to discuss any project I have deep knowledge and worked on as dev. I explained my recent work project. Asked about the architecture of the project, my project is a networking project. So, there was a deep discussion on N/w why tcp not udp, voip, sip stack etc.
I have worked on load balancer Haproxy, so a deep discussion started having on it also. It took arounds 30-40 minutes.
After that he was not satisfied and told me to a have a deep knowledge about the project.
Then he started having a discussion on Rest API’s, developer’s point of view, requirement gathering phase and also asked me to write a simple code for REST API. Gave me few scenarios to create REST API’s
Database: 
Gave me few scenarios like create a database for Dominoz. But I never have worked on Database designing, so he helped me in designing also, he was just expecting tables with relations like Many to Many, One to Many, Many to One.
Then he asked me to normalize these tables. And fortunately, I knew how to normalize the tables and it was done.
Class diagram: Asked me to draw a class diagram for the given scenario.
At last he asked me to open my fav IDE, and in the meantime we discussed about the Java8.
Java 8 Streams: Gave different scenarios to code using Java Streams, includes map, flatMap, reduce, max, min and other functions and also discussed the significance of these functions.
DAA and DS: 
Questions asked were:
2 unsorted linked list, create  a one sorted LL. Create your own LinkedList, don’t use Java LL class.Rain water Trapping. Don’t use Java’s internal Data Structure Classes, create your own. (Like I have used Stack so, create a stack using ArrayList)
2 unsorted linked list, create  a one sorted LL. Create your own LinkedList, don’t use Java LL class.
Rain water Trapping. Don’t use Java’s internal Data Structure Classes, create your own. (Like I have used Stack so, create a stack using ArrayList)
Both the code successfully ran.
Cleared this round !!
Round 3(Leadership and social discussion):
Duration: 60 mins
No of interviewers – 1
Started talking about the current Covid situation, children who became orphan in this time, what measures needs to take for these children. Discussed on feminism, it’s need. ME TOO movement, Triple Talaq, A temple in South where women are not allowed isusue, privileged and unprivileged people.
About the project, roles and responsibilities, situation when I felt pressure and dealt with it. etc.
Cleared this round !!
After 1 week, recruiter called me to negotiate the package and also offer the letter same day!!
It was really a nice experience interviewing with Thoughtworks. (It felt like a discussion and lots of learning)
Marketing
Thoughtworks
Experienced
Interview Experiences
Thoughtworks
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.