Grammarly
NLP-adjacent loops pairing algorithms with design questions about latency-sensitive suggestions across every editor they plug into.
Typical loop
- 1Recruiter screen
- 2Technical phone screen
- 3Onsite: two coding rounds
- 4Design round on latency-sensitive NLP serving
- 5Behavioral round
Questions
Callback's practice questions and the LeetCode questions Grammarly has been asking, filtered together.
Asked on LeetCode
30 questions · all time
- Merge IntervalsmediumArraySortingQuicksortfrequency 100.0
- Remove All Adjacent Duplicates In StringeasyStringStackfrequency 91.8
- Insert Delete GetRandom O(1)mediumArrayHash TableMathDesign+1frequency 89.1
- Search in Rotated Sorted ArraymediumArrayBinary Searchfrequency 89.1
- Vowel SpellcheckermediumArrayHash TableStringfrequency 89.1
- Remove All Adjacent Duplicates in String IImediumStringStackfrequency 87.7
- Climbing StairseasyMathDynamic ProgrammingMemoizationfrequency 84.4
- Non-overlapping IntervalsmediumArrayDynamic ProgrammingGreedySortingfrequency 80.5
- Repeated DNA SequencesmediumHash TableStringBit ManipulationSliding Window+4frequency 80.5
- Two Best Non-Overlapping EventsmediumArrayBinary SearchDynamic ProgrammingSorting+1frequency 80.5
- Sqrt(x)easyMathBinary SearchNewton's Methodfrequency 78.3
- Generate ParenthesesmediumStringDynamic ProgrammingBacktrackingBracket Sequencesfrequency 75.8
- Search Insert PositioneasyArrayBinary Searchfrequency 75.8
- Perfect NumbereasyMathfrequency 72.9
- Sum of Left LeaveseasyTreeDepth-First SearchBreadth-First SearchBinary Treefrequency 72.9
- Logger Rate LimitereasyHash TableDesignData Streamfrequency 69.6
- Recover a Tree From Preorder TraversalhardStringTreeDepth-First SearchBinary Treefrequency 69.6
- Word SearchmediumArrayStringBacktrackingDepth-First Search+1frequency 65.8
- Evaluate Reverse Polish NotationmediumArrayMathStackfrequency 61.0
- Minimum Substring Partition of Equal Character FrequencymediumHash TableStringDynamic ProgrammingCountingfrequency 61.0
- Check If a String Contains All Binary Codes of Size KmediumHash TableStringBit ManipulationRolling Hash+2frequency 54.9
- Implement Trie (Prefix Tree)mediumHash TableStringDesignTriefrequency 54.9
- Decode the Slanted CiphertextmediumStringSimulationfrequency 46.4
- Maximum Palindromes After OperationsmediumArrayHash TableStringGreedy+2frequency 46.4
- Number of IslandsmediumArrayDepth-First SearchBreadth-First SearchUnion-Find+1frequency 46.4
- Special Binary StringhardStringDivide and ConquerSortingfrequency 46.4
- Trapping Rain WaterhardArrayTwo PointersDynamic ProgrammingStack+1frequency 46.4
- Unique PathsmediumMathDynamic ProgrammingCombinatoricsfrequency 46.4
- Word BreakmediumArrayHash TableStringDynamic Programming+3frequency 46.4
- Word Break IIhardArrayHash TableStringDynamic Programming+3frequency 46.4