Bird
Raised Fist0
MLOpsdevops~20 mins

Feast feature store basics in MLOps - Practice Problems & Coding Challenges

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Challenge - 5 Problems
🎖️
Feast Feature Store Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
1:30remaining
What is the primary purpose of Feast in MLOps?

Feast is a feature store used in machine learning projects. What is its main role?

ATo store and serve machine learning features consistently for training and serving.
BTo train machine learning models automatically without human input.
CTo monitor model performance in production environments.
DTo visualize data trends and generate reports for stakeholders.
Attempts:
2 left
💡 Hint

Think about what a feature store does in the ML workflow.

💻 Command Output
intermediate
1:30remaining
What is the output of this Feast CLI command?

Given the command feast feature-view list executed in a project with two feature views named user_features and transaction_features, what will be the output?

MLOps
feast feature-view list
Auser_features
BNo features found
CError: Command not recognized
D
user_features
transaction_features
Attempts:
2 left
💡 Hint

This command lists all registered feature views in the current Feast project.

Configuration
advanced
2:30remaining
Identify the correct Feast feature view YAML snippet

Which YAML snippet correctly defines a Feast feature view named user_activity with an entity user_id and two features clicks (int64) and page_views (int64)?

A
teuqrap.ytivitca_resu/atad/ :htap  
elif :epyt  
:ecruos_hctab
46tni :epytd    
sweiv_egap :eman -  
46tni :epytd    
skcilc :eman -  
:serutaef
di_resu -  
:seititne
ytivitca_resu :eman
B
name: user_activity
entities:
  - user_id
features:
  - name: clicks
    dtype: int64
  - name: page_views
    dtype: int64
batch_source:
  type: file
  path: /data/user_activity.parquet
C
feature_view:
  name: user_activity
  entities: user_id
  features:
    clicks: int64
    page_views: int64
  source: /data/user_activity.csv
D
feature_view:
  name: user_activity
  entity: user_id
  features:
    - clicks: int64
    - page_views: int64
  batch_source:
    type: file
    path: /data/user_activity.parquet
Attempts:
2 left
💡 Hint

Look for correct Feast YAML structure with name, entities, features, and batch_source.

🔀 Workflow
advanced
2:00remaining
What is the correct sequence to register and materialize features in Feast?

Arrange the steps in the correct order to register a new feature view and materialize its data in Feast.

A1,3,2,4
B2,1,3,4
C1,2,3,4
D3,2,1,4
Attempts:
2 left
💡 Hint

Think about defining first, then registering, then loading data, then using features.

Troubleshoot
expert
2:30remaining
Why does 'feast materialize' fail with a timestamp error?

You run feast materialize 2023-01-01T00:00:00 2023-01-02T00:00:00 but get an error saying Invalid timestamp format. What is the most likely cause?

AThe timestamps are missing timezone information and Feast expects UTC with 'Z' suffix.
BThe Feast CLI does not support materialize commands with timestamps.
CThe feature view is not registered, so materialize cannot run.
DThe timestamps are in the future and Feast rejects future dates.
Attempts:
2 left
💡 Hint

Check the timestamp format Feast expects for materialize commands.

Practice

(1/5)
1. What is the main purpose of Feast in machine learning workflows?
easy
A. To store and serve ML features consistently for training and serving
B. To train machine learning models automatically
C. To visualize data trends over time
D. To deploy ML models to production servers

Solution

  1. Step 1: Understand Feast's role

    Feast is designed to store and serve features, not to train or deploy models.
  2. Step 2: Identify the correct purpose

    It ensures features used in training and serving are consistent and reusable.
  3. Final Answer:

    To store and serve ML features consistently for training and serving -> Option A
  4. Quick Check:

    Feast = feature store for consistent features [OK]
Hint: Remember Feast is about features, not models or visualization [OK]
Common Mistakes:
  • Confusing Feast with model training tools
  • Thinking Feast deploys models
  • Assuming Feast is for data visualization
2. Which Feast command is used to fetch features for a given entity ID?
easy
A. feast apply
B. feast online-get
C. feast deploy
D. feast materialize

Solution

  1. Step 1: Review Feast commands

    feast apply sets up feature definitions, materialize loads data, deploy is not a Feast command.
  2. Step 2: Identify fetch command

    feast online-get is used to fetch features for specific entity IDs.
  3. Final Answer:

    feast online-get -> Option B
  4. Quick Check:

    Fetch features = online-get [OK]
Hint: Fetch features? Use online-get command [OK]
Common Mistakes:
  • Using feast apply to fetch features
  • Confusing materialize with fetching
  • Assuming deploy is a Feast command
3. Given this Python snippet using Feast client:
features = client.get_online_features(
    feature_refs=["driver:conv_rate", "driver:acc_rate"],
    entity_rows=[{"driver_id": 1001}]
).to_dict()
print(features)
What will be the output type of features?
medium
A. A dictionary with feature names as keys and lists of values
B. A list of feature names only
C. A string representation of features
D. An integer count of features fetched

Solution

  1. Step 1: Understand get_online_features output

    The method returns an object that can be converted to a dictionary with to_dict().
  2. Step 2: Analyze the dictionary structure

    The dictionary keys are feature names, and values are lists of feature values for each entity row.
  3. Final Answer:

    A dictionary with feature names as keys and lists of values -> Option A
  4. Quick Check:

    to_dict() output = dict of feature lists [OK]
Hint: to_dict() returns dict with feature keys and value lists [OK]
Common Mistakes:
  • Expecting a list instead of dict
  • Thinking output is a string
  • Assuming output is a count number
4. You run feast online-get but get an error: Entity ID not found. What is the most likely cause?
medium
A. The Feast CLI is not installed
B. The feature references are misspelled
C. The feature store is offline
D. The entity ID used does not exist in the feature store

Solution

  1. Step 1: Understand the error message

    'Entity ID not found' means the requested entity ID is missing in the store.
  2. Step 2: Check other options

    CLI not installed or store offline would cause different errors; misspelled features cause feature errors, not entity ID errors.
  3. Final Answer:

    The entity ID used does not exist in the feature store -> Option D
  4. Quick Check:

    Entity ID error = missing entity ID [OK]
Hint: Entity ID error means ID missing in store, not CLI or spelling [OK]
Common Mistakes:
  • Assuming CLI is missing
  • Blaming feature names for entity ID errors
  • Thinking store is offline without checking
5. You want to keep training and serving data consistent using Feast. Which two steps should you perform? Select the best pair.
hard
A. Fetch features randomly during serving, then define features later
B. Train model first, then define features in Feast after training
C. Define features in Feast, then fetch features by entity IDs during serving
D. Store raw data only, and transform features outside Feast

Solution

  1. Step 1: Understand Feast's role in consistency

    Feast ensures features are defined once and reused for training and serving.
  2. Step 2: Identify correct workflow

    Defining features first and fetching by entity IDs during serving keeps data consistent.
  3. Final Answer:

    Define features in Feast, then fetch features by entity IDs during serving -> Option C
  4. Quick Check:

    Define then fetch = consistent features [OK]
Hint: Define features first, fetch by entity IDs for consistency [OK]
Common Mistakes:
  • Training before defining features
  • Fetching features randomly
  • Ignoring Feast for feature transformations