Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Extract Error Patterns from Logs

EasyPython00:00
I
Practice interviewer
Your interviewer
In session
I
Interviewer

Welcome to the Python screen.

The question is on your right: Extract Error Patterns from Logs. Read through the requirements first.

Run and submit your code as often as you need. You also have five interviewer messages this session - want to talk through your approach, or are you ready to start coding?

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

Problem

You are given log lines from an Apple service and a list of error patterns to track. Write a Python function that scans the logs and returns how many times each pattern appears, along with the matching log lines for each pattern.

A log line matches a pattern if the pattern appears as a case-sensitive substring anywhere in that line. A single line may match multiple patterns. Ignore empty log lines.

Formal Specification

  • Input:
    • logs: a list of strings, where each string is one log line
    • patterns: a list of unique strings representing error patterns to search for
  • Output:
    • A dictionary where each key is a pattern and each value is another dictionary with:
      • count: number of matching log lines
      • lines: list of matching log lines in original order

Constraints

  • 1 <= len(logs) <= 10^4
  • 1 <= len(patterns) <= 100
  • 0 <= len(logs[i]) <= 500
  • 1 <= len(patterns[i]) <= 50
  • patterns contains unique strings
  • Matching is case-sensitive substring matching

Function Signature

def extract_error_patterns(logs, patterns):
Your solutionPython 3
You need to log in / sign up to run or submit.
Run your code to see test output