Skip to content

Instantly share code, notes, and snippets.

@HusseinLezzaik
Created August 4, 2023 21:08
Show Gist options
  • Save HusseinLezzaik/1160164a01f3307c78fdbc371fd323ca to your computer and use it in GitHub Desktop.
Save HusseinLezzaik/1160164a01f3307c78fdbc371fd323ca to your computer and use it in GitHub Desktop.

What happens in a ML Interview?

  • 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?

How to Stand out for ML roles?

  • 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)

How to prepare for the interview?

  • 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

Structure

Goal: Be a good fit for the team – research everything about it

  1. Behavioral
  2. Math, Stats, ML, CS
  3. Coding Algorithm/Data Structures Interview
  4. ML/Software System Design, Open-ended Problems
  5. 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?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment