docs
evals
scenario-1
scenario-10
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
{
"context": "This evaluation assesses how effectively the engineer uses lodash's chaining API and related utility methods to solve a data transformation problem. The focus is on proper use of chain creation, intermediate transformation methods, and value extraction.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Chain initialization",
"description": "Uses _.chain() or _(data) to create a wrapper object that enables method chaining",
"max_score": 20
},
{
"name": "Filter invalid logs",
"description": "Uses .filter() or .reject() within the chain to remove logs with status 'invalid'",
"max_score": 10
},
{
"name": "Group by userId",
"description": "Uses .groupBy() to organize logs by the userId field",
"max_score": 15
},
{
"name": "Transform grouped data",
"description": "Uses .map() or .mapValues() to transform each user's logs into statistics (activityCount and totalPoints)",
"max_score": 20
},
{
"name": "Calculate totals",
"description": "Uses .sumBy() or manual calculation with .reduce() to compute totalPoints for each user",
"max_score": 10
},
{
"name": "Sort by points",
"description": "Uses .orderBy() or .sortBy() to sort users by totalPoints in descending order",
"max_score": 10
},
{
"name": "Limit results",
"description": "Uses .take() or .slice() to return only the top 5 users",
"max_score": 10
},
{
"name": "Value extraction",
"description": "Uses .value() at the end of the chain to extract the final result from the wrapper",
"max_score": 5
}
]
}