Given a list of dependency versions (for example: [103.003.02, 103.003.03, 203.003.02]), write a program to evaluate feature compatibility/support across these versions.
Asked in the Technical Screening stage. 75-minute coding round conducted on an online editor platform with runnable test cases.
Implement evaluate_compatibility(versions, requirements).
versions is a list of version strings.requirements is a list of feature rules, each with feature, min_version, and optional max_version.Version strings may contain leading zeros and 2 to 4 dot-separated numeric parts. Compare versions numerically, padding missing parts with zeros.
def evaluate_compatibility(versions, requirements):