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

Data Engineering Interview Preparation #1: Python, Pandas, SQL and DuckDB

Summary : Start your Data Engineering interview preparation with a practical Kaggle notebook covering Python, Pandas, SQL, DuckDB, data validation and Python/SQL result verification. If you are preparing for a Data Engineering interview, knowing Python and SQL syntax is only the beginning. You also need to understand how data moves through a workflow, how transformations are validated, and how to explain your technical decisions clearly. That is the purpose of Data Engineering Interview Preparation #1 , the first practical asset in my progressive Data Engineering interview-preparation series. This notebook is designed to give learners a low-friction starting point. It uses the Kaggle notebook environment and a small Sales Transactions dataset to connect Python, Pandas and SQL through practical examples. What You Will Learn In this first notebook , you will practice: Python variables and basic data types Lists, indexing, slicing and mutation Dictionaries and nested dicti...

How I Built an Autonomous Agentic AI Software Engineering Platform That Generates Code, Tests, Documentation, and Reviews Automatically

Image
Summary : Traditional AI coding assistants help developers write code faster, but they rarely automate the complete Software Development Life Cycle (SDLC). This post explains how I designed and implemented an autonomous Agentic AI Software Engineering Platform that converts plain-text feature requests into enterprise-grade Java applications, frontend code, automated tests, documentation, and compliance reports using a deterministic multi-agent architecture powered by Agentic frameworks, Python and LLMs. Introduction: Moving Beyond AI Code Completion AI-assisted programming has evolved rapidly over the past few years. Tools like GitHub Copilot and conversational AI assistants have significantly improved developer productivity by generating snippets, explaining code, and suggesting fixes. However, software engineering is much more than writing code. A complete feature requires architecture design, backend development, frontend implementation, automated testing, documentation, val...

Generative AI Chatbot to learn about Generative AI by Inder P Singh

Symbolic Generative AI Knowledge Bot Symbolic Generative AI Knowledge Bot This is a symbolic AI chatbot designed to provide knowledge about Generative AI concepts, such as LLMs, GANs, Transformers, Datasets, and Applications. This chatbot uses symbolic reasoning to infer answers from a defined knowledge base. Get GitHub code here . Learn how it works on YouTube here . Features Dynamic reasoning based on entities and relationships from the knowledge base. Fallback responses for unmatched queries. Easily extensible knowledge base (in JSON format). Type a query about GenerativeAI (e.g., "Tell me about LLMs"). No capitalization needed! Supported terms: GenerativeAI, Datasets, LLMs, Diffusion Models, GANs, Transformers, Applications, Ethics Send Clear Tip: ask using natural language, e.g., "Tell me about GANs" or "What are the limitations of GenerativeAI?" Small d...

Software Testing Knowledge Copilot: How I Built a Secure Multi-Agent AI Assistant for Teams Without Cloud APIs

Image
Summary : Software Testing Knowledge Copilot is a secure, deterministic, multi-agent AI system that helps QA Engineers instantly discover trusted software testing knowledge from an internal repository. Unlike general-purpose AI assistants, it operates entirely on a local dataset, eliminating cloud API costs, protecting intellectual property, and delivering reliable, traceable technical guidance. View the Local Multi-Agent System video below. Then, read on. There are two ways that you can get this Knowledge Copilot: Kaggle notebook (recommended option): You can copy / edit or download my Software Testing Knowledge Copilot on Kaggle here . On Kaggle, you can read the detailed Knowledge Copilot Project Writeup here . GitHub: You can clone this Knowledge Copilot from (that uses a public Software Testing dataset ) on GitHub here . Introduction: Why Teams Need Their Own AI Knowledge Copilot Every project team builds an enormous knowledge base over time. For example, a soft...

Agentic AI Session2: Agentic AI Architecture using LangGraph Multi-Agent Systems

Image
Summary : In Session 2 of our Agentic AI curriculum, we move beyond simple reasoning loops and explore how LangGraph enables structured, stateful, and production-ready multi-agent systems. Want to learn by running a Multi-Agent system? Run the Agentic AI Session 2 notebook in Google Colab. In Session 1 , we learned how to make an AI think using the ReAct loop. That was a major milestone. But thinking alone is not enough. When you step into the world of Multi-Agent Systems, structure becomes important. Without architecture, agents quickly turn into tangled scripts that collapse under production pressure. In Session 2, we move from simple Python loops to a structured architectural system using LangGraph. 1. Why LangGraph? Moving Beyond the Loop In the first session , a basic Python for loop was enough to drive reasoning. It worked well for small experiments. But complexity can grow fast. The moment multiple agents must collaborate, retry, or self-correct, simp...