- Background and culture fit
- Whiteboard Coding (similar to SWE interviews)
- Pair Coding (similar to SWE-interviews)
- Pair debugging (often ML-specific code)
- Math puzzles (e.g. involving Linear Algebra)
- Take-home ML project
- Applied ML (e.g. explain how you'd solve this problem with ML)
- Previous ML projects (e.g. probing on what you tried, why things did/didn't work)
- ML Theory (e.g. bias-variance tradeoff, overfitting, underfitting, understanding of specific algorithms)
- Deploy a pre-trained ML model
- API integrations
- Here’s a description of a component from our stack. Could you re-implement a toy version of it for me in one hour?
- Build SWE skills (e.g. work at a well-known software company)
- Exhibit interest in ML (e.g. conference attendance, online courses taken)
- Show you have broad knowledge of ML (e.g. write blog posts synthesizing a research area)
- Demonstrate ability to get ML projects done (e.g. create side projects, re-implement papers)
- Prove you can think creatively in ML (e.g. win Kaggle Competitions, publish papers)
- Prepare for a general SWE interview (e.g. Cracking the Coding Interview)
- Prepare to talk in detail about your past ML projects (remember details, prepare to talk about tradeoffs and decisions you made)
- Review how basic ML algorithms work (linear/logistic regression, nearest neighbor, decision trees, k-means, MLPs, ConvNets, reccurent nets, etc)
- Review ML theory
- Think about the problems the company you're interviewing with may face and what ML techniques may apply to them
Goal: Be a good fit for the team – research everything about it
- Behavioral
- Math, Stats, ML, CS
- Coding Algorithm/Data Structures Interview
- ML/Software System Design, Open-ended Problems
- Culture
(1) Recruiter
- Screen Questions
- Coding
- ML Fundamnetals
- Why do you want this job & why are you a good fit?
(2) Computer Science 2.1 Data Structures
- Vectors, Arrays, Lists, Strings
- Trees, Binary Trees, Balanced Trees
- Tries & Graphs
- Heaps
- Hash Table
- Linked Lists
- Queue and Stack
- Divide and Conquer
2.2 Algorithms
- Sorting
- Searching
- Breadth-First Search
- Depth-First Search
- Binary Search
- Merge Sort
- Quick Sort
- Greedy
- Game Theory
- NP Complete
- Constructive Algorithms
2.3 Concepts
- Bit Manipulation
- Memory (Stack vs. Heap)
- Recursion
- Dynamic Programming
- Big O Time & Space
2.4 Programming Fundamentals
- Variables
- Functions
- Conditional Statements
- Lists
- Loops
- Dictionaries
- Objects
- Interfaces
2.5 Software Engineering Practices
- Automation/Unit/Integration/Security/Compatibility Tests
- Test-Driven Development
- Pillars of OOP/FP
- Multi-threading
- SOLID Principles
- Overriding and Overloading
- Static & Dynamic Binding
- Software Design & Patterns
- Continuous Integration/Continuous Development
- High Quality, Reusable, Clean, Scalable Code
- A/B and Multi-Variate Testing
2.6 Database:
- Tools: SQL, MySQL, NoSQL
- Joins
- Indexing
- Queries
- Subqueries
- ACID Properties
(3) Artificial Intelligence 3.1 Statistics
- Central Limit Theorom
- Mean, Variance, Stat fundamentals
- Simpsons Paradox
- Dispersion, Correlation, Normal Distribution, Hypothesis Testing
- KL Divergence
- Covariance/Domain/Concept/Prior Probability/Spurious Correlation shift
3.2 Neural Networks
- NNs, CNNs, RNNs, GNNs, GANs
- LSTMs
3.3 Machine Learning
- Supervised/Unsupervised Learning
- Overfitting/Underfitting
- Boosting
- Regularization
- Normalization
- Loss Functions
- Optimizers
- Gradient Descent
- Debugging ML models
- Fine Tuning
- Classification & Regression
- Clustering
- Dimensionality Reduction
- Model Compression Techniques
3.4 Algorithms
- Support Vector Machine
- XGBoost
- Random Forest
- Linear & Logistic Regression
- PCA
- K-means
- K-Nearest Neighbours
- Decision Trees
- Neural Networks
3.5 Computer Vision
- CNNs, Visual Transformers
- Filter, steps
- Models: VGG, AlexNet, Inception, LeNet-5, AlexNet, GoogLeNet, ResNet, SENet, Xception, ResNeXt, DenseNet, MobileNet, CSPNet, and EfficientNet.
- Object Detection: YOLO
- Segmentation: FCN, Mask R-CNN, Fast R-CNN
- Object Tracking: DeepSort
3.6 Natural Language Processing
- Word Embeddings
- Recurrent Networks
- Attention Networks
- Transformers
- Bidirectional Models
- Beam Search
- Language Models
- Machine Translation
- N-gram Models
3.7 Recommender Systems
- Content and Basic Collaborative Filtering based Recommender Systems
3.8 ML Research
- In-depth on few papers like ImageNet, GANs
(4) Systems Design 4.1 ML Systems and Infra
- Lambda
- Data Versioning, Storage, Compute, Analytics
- Using data from DataBricks, Snowflake
- Parallel Processing
- Edge/Tiny/Cloud ML
- Batch/Online Prediction
- Online/Continual Learning
- Containerization using Docker/Kubernetes
- Data Labelling Methods
- Elastic Scale
- Feature Stores, ETL
- Model Monitoring Accuracy, Automated Re-training Workflows
- Metadata Storage & Management
- Active Learning
- JSON, Embeddings
4.2 Concepts
- Data/Concept Shift/Lag Detection
- Adverserial Validation
- Databases/Warehouses/Lakes
- Reproducible ML
4.3 Software Systems Design
- Load Balancing
- Redundancy
- Backend/Database
4.4 MLOps Cycle
- Model Serving
- Reproducibility of Results
- Data Labelling
- Distributed Training
- Model Re-training
- Online and Continual Learning
- Feature Stores
- ML Monitoring and Deployment
(5) Case Study
- Recomender Systems
- Machine Tranlsation
- Search
- Forecasting
(6) Behavioural
- Why do you want to work here? What do you want to contribute?
- Why should we hire you?