I applied through college or university. The process took 1 day. I interviewed at Thoughtworks (Chennai) in Aug 2016
Interview
First round is a short coding round. for 20 minutes.
Second round is long coding for 2 hours.
Several round of interviews in their offices followed by a written test. total of about 7-8 rounds before they hire you.
Interview questions [1]
Question 1
First round - 1) given an integer, see if the digits are increasing or decreasing.
2) print the middle 'n' elements of a string.
Second round: design an application to calculate the final price of a car, given the various aspects which affects the price of the car. They wanted to see how you modularise the problem and the scalability of your design.
I applied online. I interviewed at Thoughtworks (Bengaluru) in Feb 2012
Interview
An offline coding test and then followed by a code walk though and a face to face interview. Many questions were on assignment of responsibility to objects and classes. This was more of a case study exercise
I applied through college or university. The process took 2 days. I interviewed at Thoughtworks (Pune) in Jul 2016
Interview
The interview process was pretty good. The initial phase conducted on first day had two coding rounds. In each round, some students were eliminated.
First one having four easy short coding problems with time limit of 20 minutes.
Second one having one relatively descriptive coding problem with time limit of 90 minutes.
Next phase included face to face interviews which was conducted the next day at their office.
Interview questions [5]
Question 1
Frequency of characters in a string. (Short coding problem)
Find minimum number of edits required to convert one string to second string. Both strings are given by user as input. And one edit is counted if a character is added, deleted or modified from a string. (Short coding problem)
Few friends go on a tour. The travel and other expenses are paid by some of the friends. So the problem is to design a program to equally divide the expenses among them and thus display as output who owes money to whom.
Input:
First line consists of the comma separated list of name of the friends.
Next lines contain the money spent by each friend during the voyage.
Output:
Output should contain the list of transactions required among the friends so that the total expense is uniformly distributed among them.
Example:-
Sample Input:
A,B,C,D
A 300 Snacks
C 100 Tickets
D 200 Taxi
Sample Output:
B -> A 150
C -> D 50
(Long coding problem) [Class and other OOP concepts expected in code]