0% found this document useful (0 votes)
7 views20 pages

ML Engineer Interview Guide

The document is a comprehensive interview preparation guide for Associate ML Engineers, covering essential topics such as Python, mathematics, machine learning algorithms, and deep learning. It includes chapters on practical tools like NumPy, Pandas, and Scikit-learn, as well as fundamental concepts like bias-variance tradeoff and evaluation metrics. The guide is designed for CSE students to become interview-ready by mastering these critical areas.

Uploaded by

hms751235
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views20 pages

ML Engineer Interview Guide

The document is a comprehensive interview preparation guide for Associate ML Engineers, covering essential topics such as Python, mathematics, machine learning algorithms, and deep learning. It includes chapters on practical tools like NumPy, Pandas, and Scikit-learn, as well as fundamental concepts like bias-variance tradeoff and evaluation metrics. The guide is designed for CSE students to become interview-ready by mastering these critical areas.

Uploaded by

hms751235
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Associate ML Engineer — Complete Interview Guide For CSE Students

■ Associate ML Engineer
Complete Interview Preparation Guide
From Zero to Interview-Ready — Dark Theme for Long Study Sessions

■ Ch 1 Python + NumPy + Pandas + Scikit-learn

■ Ch 2 Mathematics — Linear Algebra, Calculus, Statistics

■ Ch 3 ML Algorithms — Supervised & Unsupervised

■ Ch 4 ML Fundamentals — Bias-Variance, Metrics, Cross-Validation

■ Ch 5 Deep Learning — CNNs, RNNs, Transformers, LLMs

■■ Ch 6 Engineering — FastAPI, Docker, Cloud, Git

■ Ch 7 Data Structures & Algorithms (LeetCode Prep)

■ Ch 8 Interview Strategy, Cheat Sheet & Checklist

Designed for long study sessions · Dark Navy theme · Easy on the eyes

Page 1
Associate ML Engineer — Complete Interview Guide For CSE Students

Chapter 1

Python + Libraries
Python is the language of ML. Think of it as the hammer — NumPy, Pandas, and Sklearn are the
specialised tools attached to it. Master these four and you can solve 90% of ML problems.

1.1 Python Basics You Must Know Cold


■ Lists, Dicts, Sets, Tuples — your daily data containers

■ List comprehensions — write loops in one clean line

■ Functions — def, return, *args, **kwargs

■ Classes and OOP — understand __init__, self, inheritance

■ Exception handling — try, except, finally

List Comprehension — The Developer's Best Friend


Instead of a 4-line for loop, Python lets you do it in one line:

# Old slow way


squares = []
for x in range(10):
[Link](x**2)
# Python way — same result, one line
squares = [x**2 for x in range(10)]
# With condition — only even squares
even_sq = [x**2 for x in range(10) if x % 2 == 0]
# Result: [0, 4, 16, 36, 64]

1.2 NumPy — Numbers at Machine Speed


NumPy gives Python the ability to handle huge arrays of numbers 50x faster than regular Python lists.
Every image, every dataset, every neural network weight is a NumPy array.

★ Matrix multiplication is the single most important operation in all of deep learning. Every
neural network forward pass does: output = input @ weights + bias

import numpy as np
# Creating arrays
a = [Link]([1, 2, 3, 4, 5]) # 1D array
b = [Link]([[1,2,3],[4,5,6]]) # 2D matrix
z = [Link]((3, 4)) # all zeros
r = [Link](100) # 100 random normal values
ar = [Link](0, 10, 2) # [0, 2, 4, 6, 8]
# Matrix operations
A = [Link]([[1,2],[3,4]])
B = [Link]([[5,6],[7,8]])
A + B # element-wise addition

Page 2
Associate ML Engineer — Complete Interview Guide For CSE Students

A * B # element-wise multiply
[Link](A, B) # TRUE matrix multiplication <-- KEY
A @ B # same — modern syntax
A.T # transpose: flip rows and columns
[Link](A) # inverse
vals, vecs = [Link](A) # eigenvalues + eigenvectors
# Stats
[Link](a) # average
[Link](a) # standard deviation
[Link] # dimensions (rows, cols)
[Link](5,1) # change shape without changing data

1.3 Pandas — Your Data's Best Friend


Pandas is how you load, explore, clean, and prepare data before training any model. Think of it as
programmable Excel — but 1000x more powerful.

import pandas as pd
# Load data
df = pd.read_csv('[Link]') # load CSV
[Link]() # first 5 rows
[Link] # (rows, columns)
[Link]() # types and null counts
[Link]() # min, max, mean, std per column
# Select
df['age'] # one column
df[['age', 'salary']] # multiple columns
[Link][df['age'] > 25] # rows where age > 25
# Clean
[Link]().sum() # count missing values
[Link]([Link]()) # fill NaN with column mean
df.drop_duplicates() # remove duplicate rows
# Transform
df['senior'] = df['age'].apply(lambda x: x > 60)
[Link]('city')['salary'].mean() # avg salary per city
[Link](df2, on='id', how='left') # SQL-style join

1.4 Scikit-learn — The ML Swiss Army Knife


Every sklearn model follows the same pattern: create → fit → predict. Learning this once means you can
use any of sklearn's 40+ algorithms.

from sklearn.model_selection import train_test_split


from [Link] import StandardScaler
from [Link] import RandomForestClassifier
from [Link] import classification_report
# Step 1: Split data
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42

Page 3
Associate ML Engineer — Complete Interview Guide For CSE Students

)
# Step 2: Scale features
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train) # fit AND transform
X_test = [Link](X_test) # ONLY transform — never fit!
# Step 3: Train
model = RandomForestClassifier(n_estimators=100, random_state=42)
[Link](X_train, y_train)
# Step 4: Evaluate
y_pred = [Link](X_test)
print(classification_report(y_test, y_pred))

■ NEVER call fit_transform() on test data — it would use test statistics to scale, causing data
leakage. Your model would effectively cheat.

Page 4
Associate ML Engineer — Complete Interview Guide For CSE Students

Chapter 2

Mathematics Foundation
You do NOT need to be a maths genius. You need to understand three ideas: Linear Algebra (working
with grids of numbers), Calculus (how models improve), and Statistics (reasoning under uncertainty).

2.1 Linear Algebra — Thinking in Grids


Concept What It Is ML Use

Scalar One number (e.g. 5) Learning rate, threshold

Vector A list of numbers [1,2,3] One row of your dataset

Matrix A grid (rows x cols) Your entire dataset X

Transpose Flip rows and columns Backpropagation

Dot Product Multiply then sum Similarity; attention scores

Eigenvalues Scaling factors of a matrix PCA finds these

Dot Product — The Most Used Operation


Dot product measures how similar two vectors are in direction. Same direction = large positive.
Opposite = negative. Perpendicular = zero.

import numpy as np
a = [Link]([1, 2, 3])
b = [Link]([4, 5, 6])
dot = [Link](a, b) # = 1*4 + 2*5 + 3*6 = 32
# Cosine similarity: how similar are two things? (-1 to +1)
cos_sim = dot / ([Link](a) * [Link](b))
# Used in: search engines, recommendation systems, LLM attention

2.2 Gradient Descent — How Models Learn


The gradient tells you which direction makes a function increase fastest. To minimise error (loss), go in the
opposite direction — that is gradient descent.

Page 5
Associate ML Engineer — Complete Interview Guide For CSE Students

Gradient Descent Analogy

Imagine you are blindfolded on a hilly landscape, trying to reach the lowest valley.

At each step: feel which direction goes downhill steepest, take a small step that way.

Repeat until you cannot go lower. That lowest point = minimum loss = best model
weights.

Step size = Learning Rate. Too big: overshoot. Too small: too slow.

# Gradient descent update rule (the most important equation in ML)


# new_weight = old_weight - learning_rate * gradient
learning_rate = 0.01
weight = weight - learning_rate * gradient_of_loss
# Why MINUS? Gradient points UP. We go DOWN to reduce loss.

Type Samples Used Speed Stability

Batch GD All data Slow Very stable

Stochastic GD (SGD) 1 sample Very fast Noisy

Mini-batch GD (most 32-256 samples Fast Good balance


common)

2.3 Statistics — Reasoning Under Uncertainty


■ Normal distribution — Bell curve. Mean (µ) and std deviation (σ). Most natural phenomena.

■ Bernoulli — Coin flip. 0 or 1. Used in binary classification outputs.

■ p-value — Probability of seeing this result if null hypothesis is true. p < 0.05 = significant.

■ Central Limit Theorem — Sample means are normally distributed regardless of original distribution.

Page 6
Associate ML Engineer — Complete Interview Guide For CSE Students

Chapter 3

Core ML Algorithms
Supervised Learning: You provide labelled examples — model learns to predict labels. Unsupervised:
No labels — model finds patterns by itself.

3.1 Linear Regression


Predicts a continuous number by drawing the best straight line through data. Loss = Mean Squared
Error. Improved by gradient descent.

from sklearn.linear_model import LinearRegression


import numpy as np
# House size (sq ft) → price
X = [Link]([[500],[800],[1200],[1500]])
y = [Link]([150000, 200000, 280000, 350000])
model = LinearRegression()
[Link](X, y)
print([Link]([[1000]])) # predict 1000 sq ft price
print('Slope:', model.coef_) # price per sq ft

3.2 Logistic Regression


Despite the name, this is for classification. It predicts the probability that something belongs to a class
using the sigmoid function (squashes any number to 0-1).

■ Output: probability 0-1, then class if > 0.5

■ Loss: Binary Cross-Entropy — punishes confident wrong predictions

from sklearn.linear_model import LogisticRegression


model = LogisticRegression(max_iter=1000)
[Link](X_train, y_train)
probs = model.predict_proba(X_test) # e.g. [[0.3, 0.7]]
preds = [Link](X_test) # [1, 0, 1, ...]

3.3 SVM — Support Vector Machine


Finds the widest possible margin between two classes. The data points closest to the boundary are
called support vectors — they define where the boundary sits.

■ Kernel trick: Maps data to higher dimensions where it becomes linearly separable

■ Common kernels: linear (straight line), rbf (curved — most common)

■ Great for: text classification, small-medium datasets, high dimensions

3.4 Random Forest

Page 7
Associate ML Engineer — Complete Interview Guide For CSE Students

Train 100 decision trees, each on a different random subset of data and features. For classification:
majority vote wins. More accurate and less prone to overfitting than one tree.

from [Link] import RandomForestClassifier


model = RandomForestClassifier(n_estimators=100, max_depth=10, random_state=42)
[Link](X_train, y_train)
# Which features matter most?
importances = model.feature_importances_ # higher = more important

3.5 K-Means Clustering


Groups data into K clusters without any labels. Algorithm: pick K centroids → assign points → recalculate
centroids → repeat until converged.

Choosing K — The Elbow Method

Plot inertia (total distance from points to their centroid) for K = 1 to 10.

The curve bends at the optimal K — like an elbow in the plot.

After the elbow, adding more clusters gives diminishing returns.

from [Link] import KMeans


inertias = [KMeans(n_clusters=k, random_state=42).fit(X).inertia_ for k in range(1,11)]
model = KMeans(n_clusters=3, random_state=42)
labels = model.fit_predict(X) # cluster index for each point

3.6 PCA — Reduce Dimensions, Keep Information


Compresses many features into fewer by finding directions of maximum variance. Keeps 95% of
information with far fewer features.

from [Link] import PCA


pca = PCA(n_components=2) # keep top 2 directions
X_reduced = pca.fit_transform(X) # shape: (n_samples, 2)
print(pca.explained_variance_ratio_) # e.g. [0.72, 0.15] = 87% kept

Page 8
Associate ML Engineer — Complete Interview Guide For CSE Students

Chapter 4

ML Fundamentals
These are the concepts interviewers ask most — because they test whether you truly understand ML or
just memorised code. Learn these cold.

4.1 Bias-Variance Tradeoff

The Dart Board Analogy

HIGH BIAS (Underfitting): All darts land far from centre. Model too simple — missed the
pattern.

HIGH VARIANCE (Overfitting): Darts spread all over. Model memorised training noise.

JUST RIGHT: Darts clustered near centre. Model learned the real pattern.

Condition Bias Variance Train Acc Test Acc Fix

Underfitting High Low Low Low More complex model, more


features

Overfitting Low High High Low More data, dropout, L1/L2


regularisation

Just Right Low Low High High This is the goal!

■ L1 Regularisation (Lasso): Penalty = sum of |weights|. Pushes unimportant weights to exactly zero —
automatic feature selection.

■ L2 Regularisation (Ridge): Penalty = sum of weights². Shrinks all weights toward zero. More stable.

■ Dropout: Randomly deactivates neurons during training. Forces the network not to rely on any single
path.

4.2 Evaluation Metrics


Accuracy is NOT always right. 99% accuracy on cancer detection is useless if your model just predicts 'no
cancer' every time (99% of people don't have cancer).

Confusion Matrix

Predicted Positive Predicted Negative

Actual Positive: True Positive (TP) False Negative (FN) missed

Actual Negative: False Positive (FP) True Negative (TN)

false alarm

Page 9
Associate ML Engineer — Complete Interview Guide For CSE Students

Metric Formula Use When

Precision TP / (TP+FP) False alarms are costly (spam filter)

Recall TP / (TP+FN) Missing positives is costly (cancer detection)

F1-Score 2*(P*R)/(P+R) Imbalanced dataset — balances both

Accuracy (TP+TN)/Total Only when classes are balanced

ROC-AUC Area under curve Overall model ranking ability; 0.5=random,


1.0=perfect

from [Link] import classification_report, f1_score


from [Link] import roc_auc_score, confusion_matrix
print(classification_report(y_test, y_pred)) # all metrics at once
print('F1:', f1_score(y_test, y_pred))
print('AUC:', roc_auc_score(y_test, y_prob[:,1]))

4.3 Cross-Validation
A single train/test split can be lucky. K-Fold runs K experiments on different splits and averages the results
— much more reliable estimate of true performance.

from sklearn.model_selection import cross_val_score


scores = cross_val_score(model, X, y, cv=5, scoring='f1')
print(f'Mean F1: {[Link]():.3f} +/- {[Link]():.3f}')
# Small std = model is consistent = trustworthy result

Page 10
Associate ML Engineer — Complete Interview Guide For CSE Students

Chapter 5

Deep Learning
Deep Learning is ML with many layers. Each layer learns increasingly abstract features. Layer 1 sees
pixels. Layer 5 sees faces. The magic is that the model learns these abstractions automatically.

5.1 Neural Networks — Building Blocks


A single neuron: multiply inputs by weights, add bias, apply activation function. Stack thousands in layers
and you get a neural network.

import torch
import [Link] as nn
class SimpleNet([Link]):
def __init__(self):
super().__init__()
[Link] = [Link](
[Link](784, 128), # 784 input → 128 hidden
[Link](), # activation: max(0, x)
[Link](0.2), # randomly zero 20% of neurons
[Link](128, 64),
[Link](),
[Link](64, 10) # 10 class output
)
def forward(self, x):
return [Link](x)
# Activation functions:
# ReLU: max(0,x) — most common in hidden layers
# Sigmoid: 1/(1+e^-x) — binary classification output (0-1)
# Softmax: normalise to probabilities — multi-class output

5.2 CNNs — How Computers See

How CNN Layers Think

Layer 1 (Conv): Detects basic patterns — edges, colours, corners

Layer 2 (Conv): Combines edges into shapes — circles, lines

Layer 3 (Conv): Combines shapes into parts — eyes, wheels, letters

Fully Connected: Combines parts into final class — cat, car, digit

■ Convolutional layer: A small filter (3x3) slides across the image. Each filter detects one type of pattern.

■ Pooling layer: Shrinks spatial size. MaxPool2D(2,2) takes max of each 2x2 block.

■ Flatten: Converts 2D feature map to 1D vector for the final classification layers.

Page 11
Associate ML Engineer — Complete Interview Guide For CSE Students

5.3 RNNs and LSTMs — Understanding Sequences


RNNs process data with order and sequence — text, audio, time series. Unlike regular networks, they
have memory of previous inputs. Problem: information from early in a long sequence fades (vanishing
gradient). Solution: LSTM — uses forget/input/output gates to control memory.

5.4 Transformers — The Revolution


Transformers completely replaced RNNs for language. Key innovation: Self-Attention — every word
looks at every other word simultaneously and decides how much to focus on each.

Self-Attention in Plain English

Sentence: 'The bank by the river was steep.'

When processing 'bank': attention looks at ALL other words at once.

It gives high weight to 'river' — that disambiguates bank = riverbank.

It gives low weight to 'The', 'was' — not useful for meaning.

This weighted focusing is attention. No sequential processing needed.

Architecture Best For Examples

Encoder only (BERT) Understanding text, classification BERT, RoBERTa,


LayoutLMv3

Decoder only (GPT) Generating text GPT-4, LLaMA, Mistral

Encoder-Decoder (T5) Translation, summarisation T5, BART

LLM Fine-tuning Options

Full fine-tuning: Update ALL weights on your data. Very expensive. Rarely needed.

LoRA: Freeze original weights, add small trainable matrices. 10x cheaper. Most popular.

Prompt Engineering: No training. Just craft better prompts. Surprisingly effective.

RAG: Give model access to external documents. No training required.

Page 12
Associate ML Engineer — Complete Interview Guide For CSE Students

Chapter 6

Engineering & Deployment


Knowing ML is only half the job. A good ML Engineer also knows how to version code, serve models,
containerise apps, and deploy to cloud.

6.1 Git — Version Control


Git is the save-game system for your code. Every change is tracked. You can go back to any version at
any time, and collaborate with others without overwriting each other's work.

git init # start new repo


git clone <url> # copy existing repo
git status # what changed?
git add . # stage all changes
git commit -m 'Add feature' # save snapshot
git push origin main # send to GitHub
git pull # get latest from GitHub
git branch feature-name # create new branch
git checkout feature-name # switch to branch
git checkout -b feature-name # create + switch
git merge feature-name # merge into current
git log --oneline # compact history

6.2 FastAPI — Serving ML Models


FastAPI wraps your ML model in a web server so other apps can send data and get predictions back via
HTTP requests.

from fastapi import FastAPI


from pydantic import BaseModel
import pickle, numpy as np
app = FastAPI()
with open('[Link]', 'rb') as f:
model = [Link](f)
class InputData(BaseModel):
amount: float
gstin: str
@[Link]('/predict')
async def predict(data: InputData):
features = [Link]([[[Link]]])
pred = [Link](features)
return {'prediction': int(pred[0])}
# Run: uvicorn main:app --reload

Feature FastAPI Flask

Speed Very fast (async) Slower (sync by default)

Page 13
Associate ML Engineer — Complete Interview Guide For CSE Students

Type Validation Automatic (Pydantic) Manual

Auto API Docs Yes (/docs — Swagger) No (manual)

Best For ML APIs, production Simple web apps, prototypes

6.3 Docker — Run Anywhere


Docker packages your app + all dependencies into a container. It runs identically on any machine. Solves
'it works on my machine' forever.

# Dockerfile
FROM python:3.10-slim
WORKDIR /app
COPY [Link] .
RUN pip install -r [Link]
COPY . .
EXPOSE 8000
CMD ['uvicorn', 'main:app', '--host', '[Link]', '--port', '8000']
# Build and run
docker build -t my-ml-app .
docker run -p 8000:8000 my-ml-app
docker ps # list running containers

6.4 Cloud — Know the Vocabulary


AWS GCP What It Does

SageMaker Vertex AI Train and deploy ML models — managed

S3 Cloud Storage Store files, datasets, model artefacts

EC2 Compute Engine Virtual machines — run anything

Lambda Cloud Functions Serverless — no server management

Page 14
Associate ML Engineer — Complete Interview Guide For CSE Students

Chapter 7

Data Structures & Algorithms


Technical rounds for ML Engineer roles include a coding section. You will solve algorithm problems — not
implement models. Here are the patterns that cover 80% of easy/medium problems.

7.1 Big-O Complexity


Big-O Name Example n=1000

O(1) Constant Array index 1 step

O(log n) Logarithmic Binary search 10 steps

O(n) Linear Loop array 1,000 steps

O(n log n) Log-linear Merge sort 10,000 steps

O(n²) Quadratic Nested loops 1,000,000 steps

7.2 Essential Data Structures


# List — O(1) access, O(n) search
stack = []
[Link](1) # push
[Link]() # pop from end
# Dict (HashMap) — O(1) average for all operations
freq = {}
freq['apple'] = [Link]('apple', 0) + 1
# Set — O(1) lookup
seen = set()
[Link](5)
print(5 in seen) # True — O(1)!
# Deque — O(1) at both ends
from collections import deque
q = deque()
[Link](1) # add right
[Link](0) # add left
[Link]() # remove left (queue behaviour)
# Heap — O(log n) push/pop, always gives minimum
import heapq
heap = []
[Link](heap, 5)
[Link](heap, 1)
smallest = [Link](heap) # returns 1

7.3 Must-Know Problem Patterns

Page 15
Associate ML Engineer — Complete Interview Guide For CSE Students

Pattern 1 — Two Sum (HashMap)


def twoSum(nums, target):
seen = {} # value → index
for i, n in enumerate(nums):
complement = target - n
if complement in seen:
return [seen[complement], i]
seen[n] = i
return []
# Time O(n), Space O(n). Key: HashMap lookup is O(1).

Pattern 2 — Sliding Window


def maxSumSubarray(arr, k):
window = sum(arr[:k])
best = window
for i in range(k, len(arr)):
window += arr[i] - arr[i-k] # slide: add right, remove left
best = max(best, window)
return best
# Time O(n), Space O(1). Never re-compute the whole window.

Pattern 3 — Binary Search


def binarySearch(arr, target):
lo, hi = 0, len(arr) - 1
while lo <= hi:
mid = (lo + hi) // 2
if arr[mid] == target: return mid
elif arr[mid] < target: lo = mid + 1
else: hi = mid - 1
return -1
# Time O(log n). Halves the search space every step.

Pattern 4 — Frequency Counter


from collections import Counter
def isAnagram(s, t):
return Counter(s) == Counter(t)
# 'listen' and 'silent' have same character frequencies
def mostCommon(nums):
return Counter(nums).most_common(1)[0][0]

Topic Must-Solve Problems

Arrays & Hashing Two Sum, Contains Duplicate, Valid Anagram, Group Anagrams

Sliding Window Best Time to Buy Stock, Longest Substring Without Repeat

Binary Search Binary Search, Find Min in Rotated Array

Page 16
Associate ML Engineer — Complete Interview Guide For CSE Students

Linked Lists Reverse Linked List, Merge Two Sorted Lists, Detect Cycle

Stacks Valid Parentheses, Min Stack, Daily Temperatures

Trees Invert Binary Tree, Max Depth, Level Order Traversal

■ Solve 3 easy LeetCode problems per day for 4 weeks. Time yourself — aim for 20 minutes per
easy problem. Focus on Arrays, HashMaps, and Strings first.

Page 17
Associate ML Engineer — Complete Interview Guide For CSE Students

Chapter 8

Interview Strategy + Cheat Sheet

8.1 How to Answer Technical Questions

The STAR-T Framework

S — Situation: Briefly describe the problem context.

T — Task: What specifically did you need to solve?

A — Action: What algorithm/technique did you choose and WHY?

R — Result: What was the outcome? (F1 score, latency improvement, etc.)

T — Trade-off: What were the limitations? What would you do differently?

8.2 Questions You Will Be Asked


Question Key Points to Cover

Explain Bias-Variance Tradeoff Dart board analogy. Underfitting vs overfitting. How to fix
each.

Why does your model overfit? Train acc >> Test acc. Fix: more data, regularisation, simpler
model.

Explain gradient descent Loss landscape, gradient direction, learning rate, mini-batch
types.

Precision vs Recall? Precision: costly false alarms. Recall: costly misses. F1:
balance.

What is a transformer? Self-attention. Parallel processing. No sequential


dependence.

How does Random Forest work? Ensemble of trees, bagging, feature randomness, majority
vote.

What is PCA? Reduces dimensions. Finds principal components. Keeps


95% variance.

Explain CNN intuitively Filters detect local patterns. Pooling reduces size.
Hierarchical features.

What is regularisation? Penalty on weights to prevent overfitting. L1 zeroes, L2


shrinks.

Page 18
Associate ML Engineer — Complete Interview Guide For CSE Students

Handle imbalanced data? Oversample minority, class_weight param, F1 not accuracy.

8.3 Your Project — Ready Answers


If They Ask... Answer from Your GST Project

Describe an ML project End-to-end GST invoice: Tesseract + LayoutLMv3 + FastAPI +


MongoDB + Streamlit.

Transformer experience? Fine-tuned LayoutLMv3-base, BIO labeling, 7 fields, 15 labels.


F1=0.85. GPU on Colab.

Handling class imbalance? WeightedTrainer with class_weight=3.0 for non-O BIO labels
(minority tokens).

Deployment experience? FastAPI on [Link], MongoDB Atlas, Cloudinary CDN, JWT


auth, production pipeline.

Evaluation metrics? seqeval F1 per field. GSTIN 0.92, Total Amount 0.91. Rule-based
hit rates to 94.2%.

Preprocessing experience? CLAHE, Gaussian blur, adaptive thresholding, deskewing. Pillow in


Streamlit upload.

8.4 2-Week Prep Schedule


Day Focus Goal

1-2 Revise your GST project end to end Answer all section 8.3 questions without notes

3-4 Bias-Variance, Metrics, Confusion Draw confusion matrix, calculate F1 by hand


Matrix

5-6 Linear→Logistic→SVM→Random Code each from scratch in sklearn


Forest

7 K-Means + PCA Implement Elbow method, explain variance ratio

8-9 CNNs, RNNs, Transformer attention Explain each with a plain-English analogy

10 FastAPI + Docker + Git Write a complete API + Dockerfile from memory

11-12 LeetCode: Arrays, HashMaps, Sliding 3 easy problems per day, timed 20 min each
Window

13 Mock interview — speak out loud Simulate pressure. Time yourself. Ask a friend.

14 Light revision, rest, confidence You are ready.

Page 19
Associate ML Engineer — Complete Interview Guide For CSE Students

8.5 Final Checklist


■ Can you explain your GST project in 2 minutes without notes?

■ Can you write the gradient descent update rule from memory?

■ Can you define Precision, Recall, F1 and say when to use each?

■ Can you explain what LayoutLMv3 does and why you chose it?

■ Can you solve Two Sum on a whiteboard in under 10 minutes?

■ Do you have at least one certification on LinkedIn?

■ Is your GitHub pinned with your project and a clean README?

■ Can you explain overfitting vs underfitting with a real example?

■ Do you know the difference between L1 and L2 regularisation?

■ Can you explain what a Transformer attention score means?

One Last Thing — You Are More Ready Than You Think

Your GST Intelligence System project is genuinely strong.

End-to-end AI system + deployed API + transformer fine-tuning +

cloud storage + per-user isolation + production dashboard.

That is exactly what Associate ML Engineer roles want to see.

The only thing between you and the job is being able to explain

every part of it confidently. You built it. You own it. Go get it.

Good luck. You have got this. ■

Page 20

You might also like