Just completed the KPMG online assessment for a software engineer role on their digital transformation team. Sharing notes for anyone prepping.
The OA came through HackerRank, link sent by the recruiter about 3 days after the recruiter screen. 75-minute timer. Two coding problems.
Problem 1: String manipulation. Find the longest substring without repeating characters. Classic sliding window. If you've done leetcode medium you've seen this exact problem or something nearly identical. Took me about 18 minutes.
Problem 2: This one was more interesting. Given a list of API calls with timestamps and user IDs, find users who made more than N calls in any rolling 30-minute window. Basically a sliding window on timestamps but requires thinking about the data structure. I used a sorted deque. Medium-hard, but the constraint sizes weren't brutal so even a less optimal solution probably passed.
Language options: Java, Python, JavaScript, C#, C++. I used Python.
There were also 5 multiple choice questions. General CS knowledge: time complexity, basic sorting, some SQL (one JOIN question, one GROUP BY question). These felt like filters, probably scored pass/fail.
Total time I used: about 58 minutes. I passed and moved to the phone screen.
Difficulty verdict: not LeetCode hard. Probably LeetCode medium overall. If you've been grinding for FAANG loops you'll find this more comfortable than you expect. If this is your first coding interview experience, grind the sliding window pattern hard, it came up twice across my sessions.
One thing I wasn't expecting: they included a short 'work style' survey at the end of the OA. Like, 10 questions about how you prefer to work. I answered honestly. Not sure if it's filtered or just informational.