Optiver–styleSoftware EngineerSoftware EngineerQuestion #53
Given a list of tuples (AB, BC, AD, BE, CF), construct a binary tree and determine if it is a valid binary tree. You must check for the following five types of errors: (1) input is in the correct format; (2) no duplicate nodes; (3) the root has only two children; (4) every node is present in the tree; and (5) there are no cycles in the binary tree.
Build Your Approach
State the assumptions, try a simple case, then work toward a general solution. Check the result and explain how it changes if an assumption changes.
Try the free diagnostic with worked solutions →Get Free Interview Prep Resources
More Optiver–Style Software Engineer Questions
How much memory is required to store a linked list with 1,000 elements?Design and implement a queue data structure.Design a class diagram for a mock trading system.Given an array of stock prices for n days, return the maximum profit achievable using at most k transactions. Complete the function int stock(int* prices, int k, int n).Complete a function that takes in a seqId (int) and a character (from 'a' to 'z' or '-'), where seqIds may arrive out of order. When the collected characters, sorted by seqId, form a complete message in the format '-FullMessage-', the function should print the message immediately using the provided OnComplete(msg) function.
Practice the Reasoning Behind the Answer
Bring your target roles and interview timeline to a free quant consult. Discuss your preparation priorities and how Quant Blueprint’s lessons, practice and mock interviews can help.
Book a Free Quant ConsultYour goals · your preparation · your next steps