Tower Research Capital interview experience Real time questions & tips from candidates to crack your interview

SDE - 2

Tower Research Capital
upvote
share-icon
5 rounds | 11 Coding problems

Interview preparation journey

expand-icon
Preparation
Duration: 3 months
Topics: Data Structures, Algorithms, OS, Networking, C++
Tip
Tip

Tip 1 : Understand the OS concepts very well
Tip 2 : Practice C++ OOPS Concepts
 

Application process
Where: Other
Eligibility: Above 2 years of experience
Resume Tip
Resume tip

Tip 1 : Mention the impact created on past work by numbers
Tip 2 : Having Finance knowledge is a plus

Interview rounds

01
Round
Medium
Online Coding Interview
Duration60 minutes
Interview date10 May 2021
Coding problem2

This round had 2 coding questions along with some MCQ's related to CS Fundamentals

1. Count Univalue Subtrees

Moderate
30m average time
70% success
0/80
Asked in companies
IBMAmazonSCAAI

You are given a binary tree. Return the count of unival sub-trees in the given binary tree. In unival trees, all the nodes, below the root node, have the same value as the data of the root.

For example: for the binary tree, given in the following diagram, the number of unival trees is 5.

alt-text

Try solving now

2. Alien dictionary

Easy
10m average time
70% success
0/40
Asked in companies
Thought WorksNagarro SoftwareTCS

Ninja is learning a new but strange language known as Alien Language. Alien language possesses the same alphabets as of English language, but their order is different. The order of letters are given as ‘ORDER’ string. Ninja has ‘N’ words in the ‘WORDS’ array. Ninja’s task is to check whether the words of ‘WORDS’ are sorted lexicographically in this alien language or not.

Note: ‘ORDER’ consists of all 26 letters of English alphabet.

For Example
If ‘WORDS’ = ["word","world","row"], ‘ORDER’ = "worldabcefghijkmnpqstuvxyz",the answer will be ‘NO’ as first and second words are not lexicographically sorted as ‘l’ comes before ‘d’ in alien language.
Try solving now
02
Round
Medium
Face to Face
Duration90 minutes
Interview date20 May 2021
Coding problem4

This round was a mix of OS, DSA and Computer Network questions

1. Next Greater Element - I

Moderate
0/80
Asked in companies
Expedia GroupAdobeAmazon

You are given an array ‘A’ containing a permutation ‘N’ numbers (0 ≤ A[i] < N). You are also given another array ‘B’ containing a permutation ‘M’ numbers (0 ≤ B[j] < M) and it is also given that N ≤ M.

For each element in array ‘A’ you need to find the first greater element to the right of the element in array ‘B’ that has the same value as the current array A’s element. In other words, for each ‘i’ from 0 to N - 1 in array ‘A’, you need to find an index ‘j’ in array ‘B’ such that A[i] = B[j], now you need to print the element that lies on the right of the j’th index and is also greater than B[j]. Print -1 if there is no greater element.

Follow Up :
Can you solve it in O(N+M) time?
For Example :
If ‘N’ = 6, ‘A’ = {1, 2, 0, 3, 4, 5}, ‘M’ = 7 and ‘B’ = {3, 5, 0, 2, 1, 6, 4}.

Then, we will return {6, 6, 2, 5, -1, 6} because:
For i = 0, A[i] = 1 and the first element greater than 1 that lies to the right of it in array ‘B’ is 6.
For i = 1, A[i] = 2 and the first element greater than 2 that lies to the right of it in array ‘B’ is 6.
For i = 2, A[i] = 0 and the first element greater than 0 that lies to the right of it in array ‘B’ is 2.
For i = 3, A[i] = 3 and the first element greater than 3 that lies to the right of it in array ‘B’ is 5.
For i = 4, A[i] = 4 and there is no greater element to the right of 4 in array ‘B’.
For i = 5, A[i] = 5 and the first element greater than 5 that lies to the right of it in array ‘B’ is 6.
Problem approach

First I tried brute force solution and then as I gradually looked at the pattern, I observed that stack can work. So used it effectively to get the optimised the solution. A small clue from interviewer also helped.

Try solving now

2. Minimum Path Sum

Moderate
15m average time
85% success
0/80
Asked in companies
Expedia GroupOlaMathworks

Ninjaland is a country in the shape of a 2-Dimensional grid 'GRID', with 'N' rows and 'M' columns. Each point in the grid has some cost associated with it.


Find a path from top left i.e. (0, 0) to the bottom right i.e. ('N' - 1, 'M' - 1) which minimizes the sum of the cost of all the numbers along the path. You need to tell the minimum sum of that path.


Note:
You can only move down or right at any point in time.
Problem approach

As I solved many problems, I immediately recognised this problem as I solved this before. So gave the optimised solution.

Try solving now

3. Operating System Questions

1) What do you mean by Virtual Memory?

2) Explain TLB Cache

4. Computer Network Questions

1) TCP vs UDP difference
2) How to make UDP reliable?

03
Round
Hard
Face to Face
Duration60 minutes
Interview date25 May 2021
Coding problem1

This round was more aligned towards Networking concepts 

1. Computer Network Question

Write a C++ code to solve a method called onReceivePacket which gets called whenever a UDP packet arrives from different multicast channels with all sending the same data

04
Round
Medium
Face to Face
Duration60 minutes
Interview date28 May 2021
Coding problem2

This round had only puzzles

1. Puzzle

Given balance and N different weights of all same size except one. Find the odd one out in minimum number of checks. 

2. Puzzle

If 1.5 hens can lay 1.5 eggs in 1.5 days then how many eggs does 3 hens lay in 3 days.

05
Round
Medium
Face to Face
Duration60 minutes
Interview date26 May 2021
Coding problem2

Interview with tech lead and manager - This round had questions mainly from the internal working of Data Structures

1. Data Structure Question

How unordered_map works internally?

2. LRU Cache Implementation

Moderate
25m average time
65% success
0/80
Asked in companies
OYOHikeWalmart

Design and implement a data structure for Least Recently Used (LRU) cache to support the following operations:

1. get(key) - Return the value of the key if the key exists in the cache, otherwise return -1.

2. put(key, value), Insert the value in the cache if the key is not already present or update the value of the given key if the key is already present. When the cache reaches its capacity, it should invalidate the least recently used item before inserting the new item.
You will be given ‘Q’ queries. Each query will belong to one of these two types:
Type 0: for get(key) operation.
Type 1: for put(key, value) operation.
Note :
1. The cache is initialized with a capacity (the maximum number of unique keys it can hold at a time).

2. Access to an item or key is defined as a get or a put operation on the key. The least recently used key is the one with the oldest access time.
Try solving now

Here's your problem of the day

Solving this problem will increase your chance to get selected in this company

Skill covered: Programming

What is recursion?

Choose another skill to practice
Similar interview experiences
SDE - 1
3 rounds | 6 problems
Interviewed by Tower Research Capital
2892 views
0 comments
0 upvotes
SDE - 2
4 rounds | 4 problems
Interviewed by Tower Research Capital
3072 views
0 comments
0 upvotes
SDE - 2
4 rounds | 4 problems
Interviewed by Tower Research Capital
3732 views
0 comments
0 upvotes
Application Engineer
3 rounds | 17 problems
Interviewed by Tower Research Capital
1220 views
0 comments
0 upvotes
Companies with similar interview experiences
company logo
SDE - 2
5 rounds | 12 problems
Interviewed by Walmart
29569 views
8 comments
0 upvotes
company logo
SDE - 2
3 rounds | 4 problems
Interviewed by HashedIn
9583 views
0 comments
0 upvotes
company logo
SDE - 2
3 rounds | 5 problems
Interviewed by Amazon
6677 views
1 comments
0 upvotes