Wednesday, July 1

𝐂𝐨𝐫𝐞 𝐀𝐥𝐠𝐨𝐫𝐢𝐭𝐡𝐦𝐬 𝐘𝐨𝐮 𝐌𝐮𝐬𝐭 𝐔𝐧𝐝𝐞𝐫𝐬𝐭𝐚𝐧𝐝 of ML:

 𝟔 𝐂𝐨𝐫𝐞 𝐀𝐥𝐠𝐨𝐫𝐢𝐭𝐡𝐦𝐬 𝐘𝐨𝐮 𝐌𝐮𝐬𝐭 𝐔𝐧𝐝𝐞𝐫𝐬𝐭𝐚𝐧𝐝 of ML:


📈 Linear Regression —
Your starting point. Simple, interpretable, and powerful for trend forecasting. Remember: always choose the simplest model (Occam's Razor applies!).

🌳 Decision Trees—
The most explainable ML model. Can handle both classification and regression. Always prune to avoid overfitting.

📍 k-Nearest Neighbor —
Lazy learning at its finest. Perfect for large datasets, but beware the *curse of dimensionality*.

⚔️ Support Vector Machine —
One of the best off-the-shelf algorithms. The kernel trick makes it surprisingly powerful for non-linear problems.

🧠 Neural Networks —
Biologically inspired and incredibly flexible. Mastering backpropagation is non-negotiable.

🔵 Clustering (k-Means) —
Unsupervised learning that groups data by similarity. No labels needed!

The Golden Rule across ALL algorithms?
➡️ Preprocessing is everything. Handle missing values, remove outliers, normalize your data.

Playwright automation using TypeScript

  I implemented PDF content validation in Playwright automation using TypeScript, with the support of AI coding assistants.


How it works:
1. Download the PDF file using Playwright's download event
2. Save the file to a local downloads folder
3. Verify that the file was downloaded successfully
4. Read the PDF file and extract its text content using the pdf-parse library
5. Validate that the expected text exists in the PDF using assertions

// Wait for download event before clicking const downloadPromise = documentObjectPage.page.waitForEvent('download'); // Click on download button await documentObjectPage.downloadButton.click(); // Download Promise const download await downloadPromise; // save file to known path const savePath = path.join(downloadsDir, download.suggestedFilename()); await download.saveAs (savePath); // Store path for use in other methods downloadedFilePath = savePath; // Extract text from the downloaded PDF expect(fs.existssync (downloadedFilePath)).toBeTruthy(); const dataBuffer = fs.readFileSync (downloadedFilePath); const parser = new PDFParse({ data: dataBuffer }); const pdfData = await parser.getText(); console.log('Extracted PDF text:', pdfData.text); // verify text content expect(pdfData.text).toContain (Dummy PDF'); await parser.destroy();

Building a Playwright API Automation Framework from Scratch

 Day 1 - Building a Playwright API Automation Framework from Scratch


I've been meaning to build a proper API test automation framework for a while now, and I finally started today. Sharing my progress here as I go - partly to document it, partly to keep myself accountable.

🤔 Why Playwright for API testing? Most people know Playwright for UI automation, but it has a solid built-in API request client as well. No need for separate tools like Rest Assured or Supertest - one framework handles both UI and API. That's what drew me to it.

🛠️ Tech stack I chose:
→ Playwright Test - test runner + HTTP client
→ TypeScript - type safety and better code structure
→ Allure - for rich HTML reporting
→ dotenv - for environment variable management

📂 Folder structure I'm following:
Playwright_API_Framework/
├── src/
│ ├── clients/
│ │ └── baseApiClient.ts ← Base HTTP client
│ └── services/
│ ├── userService.ts ← User API operations
│ └── authService.ts ← Login / Register operations
├── tests/ ← Test files (coming next)
├── test-data/ ← Payloads and schemas (coming next)
├── fixtures/ ← Playwright fixtures (coming next)
├── playwright.config.ts ← Framework config
├── tsconfig.json ← TypeScript config
└── .env ← Environment variables

✅ What I implemented today:
1️⃣ tsconfig.json — configured TypeScript with strict mode, path aliases like @services/* and @clients/* to avoid messy relative imports
2️⃣ playwright.config.ts — set up parallel execution with 4 workers, Allure reporter, multi-environment projects (dev/staging/prod) with environment-specific base URLs loaded from .env
3️⃣ baseApiClient.ts — created a base class that wraps Playwright's request context and exposes clean get(), post(), put(), patch(), delete() methods
4️⃣ userService.ts and authService.ts — these extend BaseApiClient and expose endpoint-specific methods like getUsers(), createUser(), login() etc. This is what I would call the API Object Model - same concept as Page Object Model but for APIs.

Thursday, June 18

Interviews

 interviews that you should absolutely master 

Basic + Practical Understanding
 Tell me about yourself (Project-focused answer matters!)
 What types of waits have you used? Where & why?
 Difference between find Element() vs find Elements()
 How do you click a button in Selenium? (Real approach, not just syntax)
Real-Time Scenario Questions
 How do you fetch a value using Selenium and reuse it later?
 How do you extract data from a dynamic web table?
 How do you handle multiple windows & validate navigation?
 How to extract a 6-digit OTP/text from a paragraph?
Coding + Logic Round
 Convert String → Integer in Java
 Types of variables used in your framework
 Custom methods/functions you’ve created in your project
Advanced Thinking (Most Important 
 How will you start automation from scratch? (Framework + tools decision)
 How do you connect your framework with a database & fetch data?
 What TCS Actually Looks For:
Strong basics (not mugged-up answers)
 Practical implementation knowledge
Real-time problem-solving approach

Microsoft Power BI Data Analyst Certification Training
 𝗖𝗼𝘂𝗿𝘀𝗲 𝗖𝘂𝗿𝗿𝗶𝗰𝘂𝗹𝘂𝗺 
 Data Cleaning & Transformation (Power Query)
 Data Modeling
 Data Visualization
 DAX Functions & Advanced DAX Calculations
 Power BI Service
 Power BI Administration, Governance & Security
 End-to-End Power BI Projects (Real-World Use Cases)
 PL-300 Exam Pattern & Mock Practice Questions
 Power BI Interview Preparation
 Scenario-Based Power BI Interview Questions
 PL-300 Certification Tips & Exam Readiness Sessions

Topics Covered:

 SELECT, INSERT, UPDATE, DELETE
 WHERE, AND, OR, NOT
 ORDER BY & LIMIT
 Aggregate Functions (COUNT, SUM, AVG, MIN, MAX)
 GROUP BY & HAVING
 JOINS (INNER, LEFT, RIGHT, FULL)
 Subqueries
 Keys & Constraints
 Indexes & Views
 Transactions
 Window Functions
 CTEs & CASE Statements

𝐀𝐏𝐈 𝐓𝐞𝐬𝐭𝐢𝐧𝐠 𝐈𝐧𝐭𝐞𝐫𝐯𝐢𝐞𝐰 𝐐𝐮𝐞𝐬𝐭𝐢𝐨𝐧𝐬 𝐐&𝐀

1. What is an API?
(A way for software systems to talk to each other.)
2. What are the advantages of API testing?
(Find bugs faster, test without a user interface, release software quicker.)
3. Explain the different types of API testing.
(Functional (does it work?), Performance (is it fast?), Security (is it safe?), and more.)
4. What are the common protocols used in API testing?
(HTTP, REST, SOAP)
5. What are the main differences between API and Web Service?
(All web services are APIs, but not all APIs are web services. Web services use specific web protocols.)
6. What is the difference between API testing and Unit testing?
(API testing checks a group of components, Unit testing checks individual parts.)
7. What are the core components of an HTTP request?
(URL, method (like GET or POST), headers, and body.)
8. What are some common HTTP methods and what are they used for?
(GET (retrieve data), POST (send data), PUT (update data), DELETE (remove data).)

Python Roadmap

  Python Mastery Roadmap Python is one of the most important skills for data engineering. But most beginners learn it in a random way. They ...