Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Top CPU Spikes from Logs

MediumPython00:00
Practice interviewer
In session
5 left
00:00

Your question is Top CPU Spikes from Logs. Start with the requirements on the right.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.

Problem

Given a list of Linux process samples, where each sample is a tuple (timestamp, pid, process_name, cpu_percent), write a function that returns the top k sudden CPU spikes. A spike occurs when a process's CPU usage increases by at least threshold between two consecutive samples for the same pid. Return the spikes sorted by largest increase first, breaking ties by earlier timestamp.

Constraints

  • 1 <= len(samples) <= 10^5
  • 0 <= cpu_percent <= 100
  • 1 <= k <= len(samples)
  • 0 <= threshold <= 100
  • Samples for the same pid may be out of order and must be compared by timestamp

Function Signature

def top_cpu_spikes(samples, threshold, k):
Your solutionPython 3
You need to log in / sign up to run or submit.
Run your code to see test output