SIG (Susquehanna) Interview Questions
30 real interview questions for Software Engineer roles at SIG (Susquehanna).
Showing 1–30 of 30 questions
Compress a string such that repeated characters are replaced by the character followed by the number of repetitions. For example, given 'AAABBCC', output 'A3B2C2'.
Write a method that returns a stock ticker value based on a company name found within a string of text, which may also contain random words in addition to the company name. Optimize the method for performance, assuming there could be millions of companies to search through.
Is 1599 a prime number?
Given an array of integers and an integer k, find the k-th largest element in the array.
Explain how hash tables work.
Since the average time complexity of a hashtable is O(1), why do we still use binary search trees? Can you describe some occasions where we use a binary search tree instead of a hashtable?
What is garbage collection, and how is it performed in Java?
Why do we use hashtables, and what is their time complexity?
What is a Binary Search Tree, and what is its time complexity for search, insert, and delete operations?
Implement a Stack data structure with methods such as push(), pop(), and top(), in a programming language of your choice (preferably C#). The stack should accept only 12-bit integer numbers as input, and all exceptions should be handled properly.
How does a dictionary work?
Reverse a given string.
Given two strings, return the characters that are common to both strings.
A group of friends are tracking the miles per gallon (MPG) for each of their cars. Each time they fill up their gas tank, they record the following in a CSV file: person name, car name, miles driven since last fill-up (float), gallons filled at this fill-up (integer), and the fill-up date. Write a program that lets a group member determine the MPG for each of their cars during a specific time range. The principal function for querying MPG is: GetRangeMPG(PersonName, StartDate, EndDate), which returns a list of objects containing (CarName, MPG), where MPG is calculated as (total miles driven during the time period) / (total gallons filled during that time period). The query's date range should be treated inclusively.
Check if a string is a permutation of a palindrome without using any additional data structures.
Given an array of integers, write a program in the language of your choice to do the following: (1) reverse the array; (2) find all perfect numbers in the array.
How would you implement a garbage collector for a programming language?
Develop an algorithm to reverse a string.
How do you reverse a linked list?
Given an unsorted array of integers, find the k-th largest element in the array.
1. How would you process data by reading from a file in C++? 2. What is a vector in C++ and what is the difference between a vector and an array? Discuss memory management differences. 3. How would you debug a multithreaded implementation in C++? 4. How would you implement std::shared_ptr from scratch in C++?
What is garbage collection? How is it done in Java?
Why do we use a hashtable, and what is its time complexity?
Implement a stack data structure in a programming language of your choice (e.g., C#), including all standard methods such as push(), pop(), and top(). The stack should accept only 12-bit integer numbers as input, and all exceptions should be handled properly. Complete this task within one hour.
Given a matrix, if an element is 0, set its entire row and column to 0. Modify the matrix in place.
Reverse a string.
Given two strings, return the characters that are common to both.
Given a CSV file where each row contains: person name, car name, miles driven since last fill-up (float), gallons filled at this fill-up (integer), and the fill-up date, write a program to calculate the miles per gallon (MPG) for each car a person has driven during a specific date range (inclusive). Implement a function GetRangeMPG(PersonName, StartDate, EndDate) that returns a list of objects containing (CarName, MPG), where MPG is calculated as total miles driven divided by total gallons filled within the date range.
Check if a given string is a permutation of a palindrome without using any additional data structures.
What is Object-Oriented Programming? Develop an algorithm to reverse a string.
Want the full solutions?
Get detailed walkthroughs for all 120+ SIG (Susquehanna) questions with Quant Blueprint.
Get Started