Tip 1 : Practice DSA for at least 2 months
Tip 1 : 1-2 good projects are needed
Tip 2 : it's better to have some internship experience
first round was code pairing round, problem statement was provided and you have to use OOPS principles and come up with the solution.
Interviewer are really helpful so ask for help if needed.
Channel Subscription
As a cable TV operator, I want to provide my customers the ability to subscribe to a channel
of their choice and upgrade to different packs based on their preference.
A customer has a certain balance in his/her account and wishes to subscribe to a channel.
The channel should get added to the list of subscribed channels for the customer.
A customer might also wish to upgrade an existing channel he/she has already subscribed
to. This should be allowed if an upgrade is possible for the channel.
All of the above should be allowed as long as the customer has the required minimum
balance needed for subscription/upgrade. After the subscription/upgrade the difference
amount should be reflected immediately in the customer’s account.
Hardcoded Data:
List of channels, with the possible upgrades. Eg:
ABC Channel:
Base: 120 INR
SD: 130 INR
HD: 150 INR
4k: 200 INR
Allowed Locations: USA, Canada
PQR Channel:
Base: 120 INR
SD: 130 INR
Allowed Locations: All
Customer Details:
Name: John Doe
Account Balance: 1000 INR
Currently Subscribed Channels: PQR (Base)
Input:
Do you want to subscribe or upgrade?
Subscribe
Enter Channel Name
ABC
Please choose subscription type: (Base, SD, HD, 4k)
4k
O/p:
Channel ABC (4k) subscribed successfully.
Available account balance: 800 INR
Continue?
Y
Input:
Do you want to subscribe or upgrade?
Upgrade
Enter Channel Name
PQR
Please choose subscription type: (Base, SD)
SD
O/p:
Channel PQR (SD) subscribed successfully.
Available account balance: 790 INR
Used OOPs principles like inheritance to solve the question.



The Linked Lists, where a1, a2, c1, c2, c3 is the first linked list and b1, b2, b3, c1, c2, c3 is the second linked list, merging at node c1.

Interviewer were really helpful and interactive.



1. If the list is empty, the function immediately returns None because there is no middle node to find.
2. If the list has only one node, then the only node in the list is trivially the middle node, and the function returns that node.
I used slow fast approach to find mid in single traversal.



Merge Sort Algorithm -
Merge sort is a Divide and Conquer based Algorithm. It divides the input array into two-parts, until the size of the input array is not ‘1’. In the return part, it will merge two sorted arrays a return a whole merged sorted array.

The above illustrates shows how merge sort works.
It is compulsory to use the ‘Merge Sort’ algorithm.
explained merge sort working and coded the same.



explained merge sort working and coded the same for linked list.
you are expected to listen to questions carefully and tell how you feel about the situation given.
How to deal with workplace conflict?
Tip 1 : Explain what you will do if you face such situation
Tip 2 : If you have faced such situation in passed you can tell how you dealt it.
Where do you see yourself in 5 years?
Tip 1 : Explain your goals and expectations
Tip 2 : Be ready for cross questions
As pair programming is followed at thought works what will you do if your pair doesn't listen to you?
Tip 1 : Explain how you will approach your pair
Tip 2 : How you will tell your point to them
Tip 3 : What will you do if they don't change their behaviour.
If your female friend is not being allowed by her family members to work, how will you help her?
Tip 1 : Explain what you can do to help her
Tip 2 : What thought works as an organisation can do to make it possible for her to continue work.

Here's your problem of the day
Solving this problem will increase your chance to get selected in this company
How do you remove whitespace from the start of a string?