Programming Fundamentals and Code Quality Questions
Encompasses core programming skills, data structures, basic algorithms, language fundamentals, and code quality practices. Expect proficiency with arrays, strings, lists, hash maps or dictionaries, sets, common collection operations, basic sorting and searching algorithms, and tradeoffs between data structures. Understand control flow, functions and modular design, classes and object oriented programming concepts including encapsulation, inheritance, and polymorphism, exception handling, file input and output, and common language idioms for mainstream interview languages such as Python, Java, and C plus plus. Emphasizes writing clean, readable, maintainable code: meaningful naming, modular functions, small interfaces, handling edge cases and errors, logging and documentation, simple testing and debugging strategies, and awareness of time and space complexity for common operations. Candidates should be able to implement correct solutions, follow language specific idioms where appropriate, and demonstrate attention to code quality and readability.
EasyTechnical
31 practiced
You have a large monolithic function that reads a CSV, filters rows, transforms columns, and writes results to a database. Describe how you would refactor it into smaller modules with clear interfaces to improve testability, error handling, and reuse. Identify which parts should be pure functions and which should contain side effects.
MediumTechnical
43 practiced
Implement a Java producer-consumer system using BlockingQueue where producers read lines from multiple files and consumers process and write to a sink. Design a clean shutdown mechanism so producers and consumers exit gracefully after all input is processed, and describe how to handle interruptions and propagate errors.
HardTechnical
27 practiced
As a senior data engineer propose a coding standards and code review process tailored for a data engineering team that balances speed and quality. Include rules for naming, error handling, logging, required tests, PR size limits, CI checks (linters, unit tests), and onboarding steps. Provide measurable policies and how to enforce them practically.
EasyTechnical
26 practiced
Describe best practices for exception handling in long-running data pipelines: when to retry versus fail-fast, how to log and alert, how to make exception messages actionable, and strategies to avoid silently swallowing exceptions. Use parsing errors, transient network errors, and schema mismatches as examples.
MediumTechnical
34 practiced
You must sort a list of record dictionaries first by 'user_id' ascending and then by 'timestamp' descending while preserving stability when timestamps tie. Implement this efficiently in Python and explain how Python's stable sort property helps and why a two-pass sort may be safe.
Unlock Full Question Bank
Get access to hundreds of Programming Fundamentals and Code Quality interview questions and detailed answers.