Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Merging Data and Moving Average

MediumPython00:00
Practice interviewer
In session
5 left
00:00

Your question is Merging Data and Moving Average. Start with the requirements on the right.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.

Problem

A Booz Allen Hamilton AI Studio pipeline receives two unsorted datasets containing measurements for the same feature. Write a function that merges records with matching timestamps by averaging their feature values, then calculates a trailing moving average over the merged measurements.

Formal Specification

Implement merge_and_moving_average(dataset_a, dataset_b, feature, window).

  • dataset_a and dataset_b are lists of dictionaries. Each dictionary contains an integer timestamp and the requested numeric feature.
  • Timestamps are unique within each dataset, but may occur in both datasets.
  • For a timestamp present in both datasets, first average the two feature values.
  • Return a list of dictionaries sorted by ascending timestamp. Each result must contain the timestamp and moving_average.
  • The moving average for position i uses the current merged value and up to window - 1 immediately preceding merged values. Near the beginning, use all available values.

Constraints

  • 1 <= len(dataset_a) + len(dataset_b) <= 200,000
  • 1 <= window <= len(dataset_a) + len(dataset_b)
  • Timestamps are integers in [-10^9, 10^9]
  • Feature values are finite integers or floating-point numbers
  • Every record contains the requested feature

Function Signature

def merge_and_moving_average(dataset_a, dataset_b, feature, window):
Your solutionPython 3
You need to log in / sign up to run or submit.
Run your code to see test output