point72 | Software Engineer | Interview Experience
Interview Date: Not specified
Result: Not specified
Difficulty: Not specified
Interview Process
The interview consisted of two main design questions that required the candidate to think critically and write code on the spot.
Technical Questions
-
SmartString Class Template
- Design a
SmartStringclass template that:- Accepts a
size_ttemplate argument calledSTORAGE_SIZEwith a default value of 16. - Supports
SmartString(). - Supports
SmartString(const char* s, size_t len). - Implements
c_str()to return a null-terminatedconst char*. - Implements
length()to return the length of the string in constant time. - Implements
max_size()to returnSTORAGE_SIZE - 1. - Ensures that
const char* sdoes not contain\0.
- Accepts a
- Follow-up: Modify
SmartStringto allow storing more characters thanSTORAGE_SIZE.
- Design a
-
Expandable Array Class Template
- Design a fast, expandable
Array<T>class template with the following requirements:- Stable addresses: once allocated, an element’s address never changes until the array is destroyed.
- Non-contiguous growth: elements can be stored in separate blocks; supports dynamic expansion.
- Type requirement:
Tmust be “0-initializable”. - On-demand creation: accessing a missing element allocates and zero-initializes it automatically.
- Direct access: fast random access by index.
- Implement
T& at(size_t index);which will auto-create the element if not already done. - Part 2: Ensure that concurrent
at()calls for the same index return a reference to the same memory location.
- Design a fast, expandable
Tips & Insights
Both questions required a strong understanding of data structures and the ability to think creatively. Candidates should be prepared to write code and explain their thought process clearly.