Tower Research LLC | SDE 1 (Backend Post Trade) | Interview Experience (Rejected)

tower research llc logo
tower research llc
SDE 1 (Backend Post Trade)Rejected
February 4, 20250 reads

Summary

I recently interviewed for the SDE 1 (Backend Post Trade) role at Tower Research LLC, undergoing an Online Assessment and two subsequent technical rounds, ultimately receiving a rejection.

Full Experience

My Interview Experience at Tower Research LLC for SDE 1 (Backend Post Trade)

My journey at Tower Research LLC began with an Online Assessment, followed by two technical interview rounds. Unfortunately, I was not selected to move forward after the second round.

Online Assessment (135 minutes)

The Online Assessment was conducted on the HackerRank platform and comprised six questions: two coding problems and four theoretical questions covering various Computer Science fundamentals.

Coding Questions

  • Java-specific OOP: This question focused on Object-Oriented Programming concepts, specifically inheritance. I had to implement inheritance in Java using a provided template to satisfy given test cases. It was quite straightforward for someone familiar with OOP.
  • DSA Question: A medium-level Data Structures and Algorithms question.

Theoretical Questions

The theoretical part covered a broad range of topics, including:

  • Python memory management
  • Python debugging (concepts of readline and readlines methods)
  • Banker's algorithm for deadlock detection
  • Python decorators
  • SQL injection prevention
  • Java context
  • final keyword in Java functions
  • synchronized method access in multithreading
  • Java class execution
  • Constructor overloading and polymorphism
  • TCP congestion control

Round 1 (1 hour)

After successfully clearing the Online Assessment, I was invited for Round 1. The HR team did not specify the total number of rounds or the interview structure beforehand. This round was primarily focused on Data Structures and Algorithms.

  1. The interviewer initially presented a graph question similar to the "Max Area of Island" problem on LeetCode. I discussed my approach to solving it.
  2. Following our discussion, the interviewer provided a modified version of the question, which I managed to solve. The round concluded after I successfully solved the modified problem.

Round 2 (45 minutes)

Round 2 was scheduled 3-4 days after Round 1. This round was a mix of Java-specific questions, data structure-related inquiries, and rapid-fire questions covering a wide array of topics, such as:

  • Connection pooling
  • Difference between == and equals in Java
  • Deep and shallow copy
  • HashMap and Map implementation details
  • Database connection process
  • String immutability in Java
  • Relationship between Java's equals() and hashCode() methods
  • String immutability in Python
  • Spring Boot and its related connection classes
  • Memory allocation for primitive types
  • Heap and stack memory differences
  • How strings are stored in memory
  • What precisely happens when we execute: int a = 10;

Unfortunately, I did not receive an offer and was not selected to proceed to further rounds after Round 2.

Interview Questions (16)

Q1
Java OOP Inheritance Implementation
Other

I was given a Java-specific coding question that tested Object-Oriented Programming concepts, particularly inheritance. The task was to implement inheritance using a provided template to satisfy a set of test cases.

Q2
Max Area of Island (Graph Problem)
Data Structures & AlgorithmsMedium

The interviewer asked a graph question similar to the 'Max Area of Island' problem found on LeetCode. This typically involves finding the largest connected component of 1s in a 2D binary grid.

Q3
Modified Graph Problem
Data Structures & Algorithms

After discussing my approach to the initial graph problem, the interviewer presented a modified version of the question, which I then proceeded to solve.

Q4
Connection Pooling
System Design

I was asked to explain connection pooling, including its benefits and how it generally works in application development.

Q5
Difference between == and equals in Java
Other

The interviewer inquired about the fundamental differences between the '==' operator and the '.equals()' method in Java, and when each should be appropriately used.

Q6
Deep and Shallow Copy
Other

I was asked to describe the concepts of deep copy and shallow copy, including their implications and use cases in programming.

Q7
HashMap and Map Implementation
Data Structures & Algorithms

Questions were posed regarding the internal implementation and usage of 'HashMap' and 'Map' interfaces in Java, likely covering their underlying data structures and performance characteristics.

Q8
Database Connection Process
System Design

I was asked to explain the typical steps and mechanisms involved in establishing a connection to a database from an application.

Q9
String Immutability in Java
Other

The interviewer asked about the immutability of String objects in Java, why they are immutable, and the consequences of this design choice.

Q10
Java equals() and hashCode() Relationship
Other

I was questioned about the critical relationship between the 'equals()' and 'hashCode()' methods in Java, and the contract that must be maintained when overriding them.

Q11
String Immutability in Python
Other

The discussion extended to string immutability in Python, potentially asking for comparisons or contrasts with Java's approach.

Q12
Spring Boot and Related Connection Classes
System Design

I received questions concerning Spring Boot and its associated classes used for managing connections, likely in the context of database access or inter-service communication.

Q13
Memory Allocation for Primitive Types
Other

I was asked about how memory is allocated for primitive data types in a programming language environment.

Q14
Heap and Stack Memory
Other

The interviewer inquired about the differences between heap and stack memory, their respective uses, and how they function in program execution.

Q15
String Storage in Memory
Other

A question was posed about the mechanisms and locations involved in storing string data within memory.

Q16
What happens when: int a = 10?
Other

I was asked to detail the sequence of events and memory operations that occur at a low level when a simple statement like 'int a = 10;' is executed.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!