Skip to content
Related Articles

Related Articles

Save Article
Improve Article
Save Article
Like Article

Thoughtworks Interview Experience | Set 3 (On-Campus)

  • Difficulty Level : Medium
  • Last Updated : 06 Aug, 2019

Thoughtworks visited our campus there were three rounds.


Round 1:
It is divided into two parts:
a).Short Coding Round
b).Long Coding Round

Hey geek! It's time to become a success story instead of reading them. Check out our most renowned DSA Self Paced Course, now at a student-friendly price and become industry ready. And if you are looking for a more complete interview preparation resource, check out Complete Interview Preparation Course that will prepare you for the SDE role of your dreams!

Feeling prepared enough for your interview? Test your skills with our Test Series that will help you prepare for top companies like Amazon, Microsoft, TCS, Wipro, Google and many more!


a).Short Coding Round:-

In short coding round they concern only about output. Time limit of short coding round is 20 min.



Problem Statement: – You are given a dictionary (a set of words). They will enter a set of characters you have to print all the words that can be formed using these characters.

i.e

dict:- { “Rat”, “mat”, ”bat”, “chat”, 
          “cat”, “tab”, “fab”, “batt” }
chars:- t a b c

output:- bat, cat, tab

Solution




#include <bits/stdc++.h>
using namespace std;
  
bool isPresent(set<char> c, string a)
{
    unsigned int countval = 0;
  
    for (unsigned int i = 0;
         i < strlen(a.c_str()); i++) {
  
        char ca = a[i];
        if (c.count(ca)) {
            countval++;
        }
    }
  
    return countval == strlen(a.c_str());
}
  
int main()
{
    set<string> dict;
    dict.insert("rat");
    dict.insert("mat");
    dict.insert("bat");
    dict.insert("chat");
    dict.insert("cat");
    dict.insert("tab");
    dict.insert("fat");
    dict.insert("batt");
  
    set<string>::iterator s;
  
    set<char> c;
    c.insert('t');
    c.insert('a');
    c.insert('b');
    c.insert('c');
  
    for (s = dict.begin(); s != dict.end(); ++s) {
        string a = *s;
        if (isPresent(c, a) == true)
            cout << a << endl;
    }
    return 0;
}

Out of 140 only 14 students qualified for next round.


b). Long Coding Round:-

In this round they also concern about approach, how u name the variables, function, oops approach.
Time limit of this part is 90 min.

Problem Statement: – In a movie theatre 2 shows are running. You are given available seat of both show. There are some groups who want to book the tickets so first ask the show no. and then check whether seats are available or not if available then book their seats else ask them to enter seats again.
After each successful booking print total available seats and total booked seats.

Show 1:
Available seat:- A1, A2, A3, A4, A5, A6, A9

Show 2:
Available seat:- A1, A2, A4, A5, A6, B1, B3, B4, B5, B6, B7

Group1: - 
Enter show no:- 1
Enter seats:- A1, A4

Print:- “Successfully booked”
Available seat:- A2, A3, A5, A6, A9
Booked Seat:- A1, A4

Group2:- 
Enter show no:- 1
Enter seats:- A1, A3

Print : - seat A1 not available please try again. 

Out of 14 students only 7 are qualified for next round.


Round 2:-
Technical Interview :-

After introduction they asked about projects. I did my final year project in android so they asked me why you use Json, what is json, how you store your databse.
Then they asked about favourite subject i told them DSA.
They asked me my fav. Data structure I told them linked list. Then they asked few questions i.e
Insert a node in linked list.
How you implement stack using linked list.
Delete nth node in linked list.
Delete second last node in linked list
Delete second last node in doubly linked list.
Which language do you prefer for coding.
Difference between C and C++.
Are you comfortable with SQL, Oracle database?
Any project on OOPS?

Out of 7, only 1 student selected for HR round.


Round 3:-

HR round:-

If you like GeeksforGeeks and would like to contribute, you can also write an article and mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.




My Personal Notes arrow_drop_up
Recommended Articles
Page :