Posts

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...

Data Engineering Interview Preparation #2: DuckDB SQL, Data Quality and Parquet

Summary : Practice SQL for data engineering with DuckDB and a small network-traffic dataset. This hands-on example covers table creation, filtering, joins, aggregations, window functions, Pandas and SQL result checks, data-quality rules, and a Parquet round trip. SQL is a core tool for data engineers. It helps us explore source data, transform records, build analytical datasets, and check whether pipeline outputs are correct. You do not need to set up a separate database server to practice these patterns. With DuckDB, you can run analytical SQL directly from Python in a Kaggle notebook. In this exercise, we use a small CSV containing network events. Each row includes a timestamp, source IP, destination IP, port, protocol, bytes sent, and event duration. The goal is not just to write queries, but to follow a simple engineering workflow: ingest the data, inspect it, transform it, validate it, and save a verified output. Run the hands-on notebook: Data Engineering Interview Prepara...