Hudson River Trading·Software Engineer·Technical Phone Screen
- Implement a Wordle-style word guessing game solver. The solver should maintain constraints from per-character feedback (correct position, wrong position, or absent), handle repeated letters correctly, and keep guessing until it finds the word or hits a maximum attempt limit.
- Design the data structures used to represent and update constraints after each round of feedback, and explain how you prune the candidate word list efficiently.
- Propose and justify a strategy for choosing the next guess. For example, a letter-frequency heuristic or an information-gain approximation.
- Implement the solve(dictionary, feedback_api, max_attempts) interface that returns the final guess and number of attempts used.
- Analyze the time and space complexity of your solution.
- Write unit tests for your solution and walk through a sample run demonstrating it works.
“The repeated-letter handling is where I stumbled.”