InterviewStack.io LogoInterviewStack.io

Log Analysis and Diagnostic Data Gathering Questions

Extracting signal from existing logs and diagnostic output to find a root cause: parsing and querying log data, correlating traces and metrics during an investigation, and gathering the right diagnostic information (including asking clarifying questions) before drawing conclusions. Covers text-processing and query techniques for locating evidence in logs (structured log parsing, ElasticSearch/SQL-style log queries, log aggregation and retention trade-offs) and reconstructing a timeline from the data on hand. This is the analysis-of-existing-data skill used during troubleshooting and investigation across infrastructure and operations roles: distinct from monitoring and observability, which is about instrumenting a system so telemetry exists in the first place (see the observability topics for that), and distinct from SIEM-based security detection and formal digital-forensics practice (chain of custody, artifact/disk/memory analysis), which have their own dedicated coverage elsewhere in the catalog.

EasyTechnical
37 practiced

Given a sample Apache access log line formatted without quotes:

127.0.0.1 - frank [10/Oct/2024:13:55:36 -0700] GET /index.html HTTP/1.1 200 2326

Write a single PCRE regular expression to extract the following named groups: client_ip, user, timestamp, method, path, protocol, status, bytes. Show how you'd run grep -P or awk to capture these fields and mention timestamp parsing caveats (timezones, format).

MediumTechnical
33 practiced

Write a Python 3 script that reads a newline-delimited log file where each line is a JSON object with keys: "timestamp" (ISO 8601), "service", "level", "message". The script should output per-minute error counts (level == "ERROR") for a given service over the last 60 minutes, printing lines like: 2025-03-12 14:05 3. The log may be out-of-order and can be large (~10GB): prioritize streaming and bounded memory.

HardTechnical
34 practiced

Implement (or outline) a Python program that tails a log file and raises an alert when the error rate exceeds a threshold (for example, more than 5 ERROR lines in a 60-second sliding window). Requirements:

  • Must handle log rotation gracefully
  • Must run indefinitely and persist minimal state across restarts
  • Prefer efficient memory use (sliding window)

Describe the algorithm and show key code snippets for tailing, rotation detection, and sliding-window counting.

HardTechnical
33 practiced

After a critical outage you discover that some logs were lost due to a rotation misconfiguration. Describe the forensic investigation steps you would take: evidence preservation, reconstructing timelines, correlating remaining traces and metrics, and long-term fixes to logging and retention to prevent recurrence.

MediumTechnical
30 practiced

Coding task in Python: build a memory-efficient utility that reads multiple large newline-delimited JSON log files and extracts, in chronological order, all events that have a given request_id between two timestamps. The function signature should be extract_events(file_paths, request_id, start_ts, end_ts) and must stream files without loading them entirely into memory. Describe edge cases you would handle in production.

Unlock Full Question Bank

Get access to all 27 Log Analysis and Diagnostic Data Gathering interview questions and detailed answers.

Sign in to Continue

Join thousands of developers preparing for their dream job.