PracHub
QuestionsPremiumCoachesLearningGuidesInterview Prep
|Home/Software Engineering Fundamentals/Workday

Design an Extensible Python File Parser

Last updated: Apr 22, 2026

Quick Overview

This question evaluates skills in designing extensible, modular file-parsing frameworks in Python, covering interface and API design, format detection and normalization, robust error handling, and concurrency considerations for CPU-bound workloads.

  • medium
  • Workday
  • Software Engineering Fundamentals
  • Software Engineer

Design an Extensible Python File Parser

Company: Workday

Role: Software Engineer

Category: Software Engineering Fundamentals

Difficulty: medium

Interview Round: Onsite

In Python, design a pluggable file parsing framework that can process multiple file formats such as CSV, JSON, and XML. Requirements: - Expose a common parser interface. - Detect the correct parser from file metadata or extension. - Return a normalized parsed representation regardless of input format. - Make it easy to add support for a new file type without changing existing parser implementations. - Handle malformed files and surface errors consistently. Follow-up: If parsing becomes CPU-bound and you need to process many large files in parallel, explain how you would parallelize the workload in Python across multiple CPU cores. Compare processes vs. threads, describe how you would distribute work, and explain how you would collect results and failures safely.

Quick Answer: This question evaluates skills in designing extensible, modular file-parsing frameworks in Python, covering interface and API design, format detection and normalization, robust error handling, and concurrency considerations for CPU-bound workloads.

Workday logo
Workday
Apr 1, 2026, 12:00 AM
Software Engineer
Onsite
Software Engineering Fundamentals
4
0
Loading...

In Python, design a pluggable file parsing framework that can process multiple file formats such as CSV, JSON, and XML.

Requirements:

  • Expose a common parser interface.
  • Detect the correct parser from file metadata or extension.
  • Return a normalized parsed representation regardless of input format.
  • Make it easy to add support for a new file type without changing existing parser implementations.
  • Handle malformed files and surface errors consistently.

Follow-up: If parsing becomes CPU-bound and you need to process many large files in parallel, explain how you would parallelize the workload in Python across multiple CPU cores. Compare processes vs. threads, describe how you would distribute work, and explain how you would collect results and failures safely.

Solution

Show

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...

Browse More Questions

More Software Engineering Fundamentals•More Workday•More Software Engineer•Workday Software Engineer•Workday Software Engineering Fundamentals•Software Engineer Software Engineering Fundamentals
PracHub

Master your tech interviews with 8,000+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities
  • Student Access

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.