Posts

Data Engineering Interview Preparation #3: Building a Financial Data Pipeline with Python, DuckDB and Parquet

Summary : Learn about building a repeatable financial data engineering pipeline using Python, Pandas, NumPy and DuckDB. This post covers deterministic data generation, CSV ingestion, SQL transformations, canonical schema design, data-quality checks, Parquet export, and CSV-versus-Parquet validation. Financial data engineering involves much more than loading records from a CSV file into a database. A reliable pipeline must handle source data consistently, maintain predictable schemas, validate records, and produce outputs that can be used confidently by downstream applications and analytical workflows. In this hands-on exercise, I created a small but practical financial data pipeline using Python, Pandas, NumPy and DuckDB. We start with supplied CSV files, inspect and clean the source data, transform raw trade records into a canonical structure, apply data-quality checks, and export validated data to Parquet. Run the hands-on notebook: DE Interview Prep #3: Financial Data Enginee...

Data Engineering Interview Questions and Answers: Part 1 | Python, Pandas, SQL and DuckDB

Summary : Prepare for data engineering interviews with practical questions and answers covering Python, Pandas, DuckDB SQL, data validation, aggregations, window functions, and reproducible data pipelines. This Part 1 guide includes two hands-on coding challenges: finding the top three users by monthly spending and verifying that Pandas and SQL return equivalent results. Introduction Preparing for a data engineering interview involves more than writing code that produces the correct output. You should also be able to explain your approach, validate assumptions, identify edge cases, and demonstrate that your results are reliable. This post will test essential data engineering concepts through practical questions and coding exercises. You will explore reusable Python functions, data-quality checks, Pandas transformations, DuckDB SQL queries, aggregations, and window functions. You will also solve two hands-on problems. The first identifies the top three users by total spending fo...

Promptfoo: To Test and Evaluate LLM Responses, AI Agents, and RAG Applications

Summary : Learn that you can use Promptfoo to test and evaluate Large Language Models (LLMs) responses, AI agents, and Retrieval-Augmented Generation (RAG) applications. This guide explains traditional software testing versus AI evaluation, Promptfoo's core components, assertion types, installation, configuration, and how to run your first evaluation. Introduction: Why AI Applications Need a Different Testing Approach Traditional software testing has well-established techniques for validating application behavior. You provide an input, execute the application, and compare the actual output with the expected result. This approach works well for deterministic systems, such as REST APIs, database operations, and conventional business logic. AI-powered applications introduce a different set of challenges. An LLM may express the same answer in several ways, an AI agent may select an unexpected tool, and a Retrieval-Augmented Generation (RAG) application may produce a convincing an...