Bird
Raised Fist0
Redisquery~20 mins

ZADD for adding scored members in Redis - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
ZADD Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ query_result
intermediate
1:30remaining
What is the result of this ZADD command?
Given an empty sorted set named 'players', what will be the output after running this command?

ZADD players 10 "Alice" 20 "Bob" 15 "Charlie"

What does the command return?
Redis
ZADD players 10 "Alice" 20 "Bob" 15 "Charlie"
A1
B0
C3
DError: wrong number of arguments
Attempts:
2 left
💡 Hint
ZADD returns the number of new elements added to the sorted set.
📝 Syntax
intermediate
1:30remaining
Which ZADD command syntax is correct?
Which of the following ZADD commands is syntactically correct to add two members with scores to a sorted set named 'scores'?
AZADD scores 100 "John" 200 "Jane"
BZADD scores 100, "John", 200, "Jane"
CZADD scores 100 John 200 Jane
DZADD scores "John" 100 "Jane" 200
Attempts:
2 left
💡 Hint
The syntax is: ZADD key score1 member1 [score2 member2 ...]
❓ optimization
advanced
2:00remaining
Optimizing multiple ZADD operations
You want to add 1000 members with scores to a sorted set 'rankings'. Which approach is more efficient?
AUse a single ZADD command with all 1000 score-member pairs.
BRun 1000 separate ZADD commands, each adding one member.
CUse 10 ZADD commands, each adding 100 members.
DAdd members one by one using ZINCRBY with score increments.
Attempts:
2 left
💡 Hint
Minimize the number of commands sent to Redis for better performance.
🔧 Debug
advanced
1:30remaining
Why does this ZADD command fail?
You run this command:

ZADD leaderboard 50 "player1" 40

and get an error. What is the cause?
AScore must be an integer, 50 is invalid
BMissing member name after score 40
CQuotes around member names are not allowed
DLeaderboard key does not exist
Attempts:
2 left
💡 Hint
Each score must be followed by a member name.
🧠 Conceptual
expert
2:00remaining
What happens when adding a member with an existing name but different score?
Consider a sorted set 'tasks' with member 'task1' having score 5. What will be the result of:

ZADD tasks 10 "task1"

What does Redis do?
AReturns an error because 'task1' already exists
BAdds a new member 'task1' with score 10 and returns 1
CIgnores the command and returns 0
DUpdates 'task1' score to 10 and returns 0
Attempts:
2 left
💡 Hint
ZADD updates the score if the member exists.

Practice

(1/5)
1. What does the Redis command ZADD do?
easy
A. Adds members with scores to a sorted set
B. Deletes members from a sorted set
C. Retrieves all members from a sorted set
D. Creates a new key with a string value

Solution

  1. Step 1: Understand the purpose of ZADD

    The ZADD command is used to add members with associated scores to a sorted set in Redis.
  2. Step 2: Compare with other commands

    Deleting members is done by ZREM, retrieving members by ZRANGE, and creating string keys by SET, so these are not correct.
  3. Final Answer:

    Adds members with scores to a sorted set -> Option A
  4. Quick Check:

    ZADD adds scored members [OK]
Hint: ZADD always adds scored members to sorted sets [OK]
Common Mistakes:
  • Confusing ZADD with ZREM or ZRANGE
  • Thinking ZADD creates string keys
  • Assuming ZADD deletes members
2. Which of the following is the correct syntax to add a member 'player1' with score 100 to a sorted set 'game_scores' using ZADD?
easy
A. ZADD game_scores 100 player1
B. ZADD 100 game_scores player1
C. ZADD game_scores player1 100
D. ZADD player1 100 game_scores

Solution

  1. Step 1: Recall ZADD syntax

    The correct syntax is: ZADD key score member. So the key comes first, then the score, then the member.
  2. Step 2: Match the syntax to options

    ZADD game_scores 100 player1 matches this order: ZADD game_scores 100 player1. Others have wrong order.
  3. Final Answer:

    ZADD game_scores 100 player1 -> Option A
  4. Quick Check:

    ZADD key score member order [OK]
Hint: Remember: ZADD key score member [OK]
Common Mistakes:
  • Swapping score and member positions
  • Putting member before key
  • Using wrong argument order
3. What will be the result of the following commands?
ZADD leaderboard 50 Alice 70 Bob 60 Charlie
ZRANGE leaderboard 0 -1 WITHSCORES
medium
A. ["Bob", "70", "Charlie", "60", "Alice", "50"]
B. ["Alice", "50", "Charlie", "60", "Bob", "70"]
C. ["Alice", "50", "Bob", "70", "Charlie", "60"]
D. ["Charlie", "60", "Alice", "50", "Bob", "70"]

Solution

  1. Step 1: Understand ZADD and ZRANGE behavior

    ZADD adds members with scores. ZRANGE with 0 -1 returns all members sorted by score ascending, WITHSCORES returns scores alongside.
  2. Step 2: Sort members by score ascending

    Scores: Alice=50, Charlie=60, Bob=70. Sorted ascending: Alice, Charlie, Bob.
  3. Final Answer:

    ["Alice", "50", "Charlie", "60", "Bob", "70"] -> Option B
  4. Quick Check:

    ZRANGE sorts ascending by score [OK]
Hint: ZRANGE returns members sorted by score ascending [OK]
Common Mistakes:
  • Assuming ZRANGE sorts by insertion order
  • Mixing up ascending and descending order
  • Ignoring WITHSCORES option
4. Identify the error in this Redis command: ZADD myset player1 100
medium
A. ZADD cannot add members with numeric scores
B. The key name 'myset' is invalid
C. The score and member are reversed; score must come before member
D. The command is correct and will work as expected

Solution

  1. Step 1: Check ZADD argument order

    ZADD syntax requires the key first, then the score, then the member. Here, 'player1' is before '100', which is reversed.
  2. Step 2: Validate other options

    Key name 'myset' is valid, numeric scores are allowed, so options B and C are incorrect. The command is not correct, so D is wrong.
  3. Final Answer:

    The score and member are reversed; score must come before member -> Option C
  4. Quick Check:

    ZADD requires score before member [OK]
Hint: Score always comes before member in ZADD [OK]
Common Mistakes:
  • Swapping score and member positions
  • Thinking key name is invalid
  • Believing numeric scores are disallowed
5. You want to add multiple players with their scores to a sorted set 'ranking' in one command. Which command correctly adds 'Anna' with 85, 'Ben' with 90, and 'Cara' with 80?
hard
A. ZADD ranking Anna 85 Ben 90 Cara 80
B. ZADD ranking Cara 80 85 Anna 90 Ben
C. ZADD ranking 85 Anna Cara 80 90 Ben
D. ZADD ranking 85 Anna 90 Ben 80 Cara

Solution

  1. Step 1: Recall ZADD syntax for multiple members

    ZADD syntax allows multiple score-member pairs: ZADD key score1 member1 score2 member2 ...
  2. Step 2: Match pairs correctly

    ZADD ranking 85 Anna 90 Ben 80 Cara lists pairs as 85 Anna, 90 Ben, 80 Cara, matching the players and scores in the order given.
  3. Final Answer:

    ZADD ranking 85 Anna 90 Ben 80 Cara -> Option D
  4. Quick Check:

    ZADD multiple pairs as score member [OK]
Hint: List pairs as score then member repeatedly [OK]
Common Mistakes:
  • Swapping member and score order
  • Mixing up pairs order
  • Using inconsistent score-member pairs
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard