Compute and Rank by Jaccard Similarity
Company: Yelp
Role: Data Scientist
Category: Coding & Algorithms
Difficulty: medium
Interview Round: Onsite
Quick Answer: The prompt evaluates set-based similarity metrics (Jaccard), robust tokenization and normalization for text data including Unicode and punctuation edge cases, streaming/iterator processing for very long inputs, and algorithmic efficiency for top-k retrieval and stable ranking.
Constraints
- Duplicates are ignored within each text
Examples
Input: (['Great pizza, great crust!', 'bad service', 'great service'], 'great pizza')
Expected Output: ['Great pizza, great crust!', 'great service', 'bad service']
Explanation: Ranks by token-set overlap with stable index tie-breaks.
Input: (['', '!!!'], '')
Expected Output: ['', '!!!']
Explanation: Empty unions score 0.
Hints
- Sort by (-similarity, original_index).