Bird
Raised Fist0
Redisquery~20 mins

SRANDMEMBER for random elements in Redis - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
SRANDMEMBER Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ query_result
intermediate
2:00remaining
What does SRANDMEMBER return when count is positive?
Given a Redis set myset containing {"a", "b", "c", "d"}, what is the expected output of SRANDMEMBER myset 2?
Redis
SADD myset a b c d
SRANDMEMBER myset 2
AAn error because count must be negative or zero
BAn array of 2 random elements from the set, possibly with duplicates, e.g., ["a", "a"]
CA single random element as a string, e.g., "c"
DAn array of 2 unique random elements from the set, e.g., ["b", "d"]
Attempts:
2 left
💡 Hint
When count is positive, SRANDMEMBER returns unique elements without repetition.
❓ query_result
intermediate
2:00remaining
What happens when SRANDMEMBER count is negative?
Given a Redis set colors with elements {"red", "green", "blue"}, what is the output of SRANDMEMBER colors -4?
Redis
SADD colors red green blue
SRANDMEMBER colors -4
AAn array of 4 random elements from the set, possibly with duplicates, e.g., ["red", "red", "blue", "green"]
BAn array of 3 unique elements because the set only has 3 members
CA single random element as a string
DAn error because count cannot be negative
Attempts:
2 left
💡 Hint
Negative count allows duplicates in the returned elements.
📝 Syntax
advanced
2:00remaining
Which SRANDMEMBER command syntax is invalid?
Identify the invalid SRANDMEMBER command syntax from the options below.
ASRANDMEMBER myset -2
BSRANDMEMBER myset 3
CSRANDMEMBER myset 0
DSRANDMEMBER myset
Attempts:
2 left
💡 Hint
Count of zero is not a valid argument for SRANDMEMBER.
❓ optimization
advanced
2:00remaining
How to efficiently get 5 random unique elements from a large set?
You have a Redis set with 1 million elements. Which command is the most efficient to get 5 unique random elements?
AUse SPOP mylargeSet 5 and then add them back
BSRANDMEMBER mylargeSet 5
CUse SMEMBERS mylargeSet and pick 5 random elements in client code
DSRANDMEMBER mylargeSet -5
Attempts:
2 left
💡 Hint
SRANDMEMBER with positive count returns unique elements efficiently.
🧠 Conceptual
expert
3:00remaining
Why does SRANDMEMBER with negative count allow duplicates?
Explain the reason behind SRANDMEMBER returning duplicates when the count argument is negative.
ABecause negative count tells Redis to sample with replacement, allowing repeated elements.
BBecause Redis ignores the sign and always returns unique elements.
CBecause negative count causes Redis to return an error and no elements.
DBecause Redis converts negative count to zero and returns an empty array.
Attempts:
2 left
💡 Hint
Think about sampling with or without replacement.

Practice

(1/5)
1. What does the Redis command SRANDMEMBER do when used on a set?
easy
A. Returns one or more random elements from the set without removing them
B. Removes and returns one or more random elements from the set
C. Returns all elements in the set in random order
D. Counts the number of elements in the set

Solution

  1. Step 1: Understand SRANDMEMBER command purpose

    The command is designed to pick random elements from a Redis set without deleting them.
  2. Step 2: Compare with other commands

    Unlike SPOP, which removes elements, SRANDMEMBER only returns random elements but keeps the set intact.
  3. Final Answer:

    Returns one or more random elements from the set without removing them -> Option A
  4. Quick Check:

    SRANDMEMBER = random pick without removal [OK]
Hint: SRANDMEMBER picks random elements but does not remove them [OK]
Common Mistakes:
  • Confusing SRANDMEMBER with SPOP which removes elements
  • Thinking it returns all elements randomly
  • Assuming it counts elements
2. Which of the following is the correct syntax to get 3 random elements from a Redis set named myset using SRANDMEMBER?
easy
A. SRANDMEMBER myset -3
B. SRANDMEMBER 3 myset
C. SRANDMEMBER myset COUNT 3
D. SRANDMEMBER myset 3

Solution

  1. Step 1: Recall SRANDMEMBER syntax

    The correct syntax is SRANDMEMBER key [count], where count is optional and comes after the key.
  2. Step 2: Identify correct option

    SRANDMEMBER myset 3 matches this syntax: SRANDMEMBER myset 3 to get 3 random elements.
  3. Final Answer:

    SRANDMEMBER myset 3 -> Option D
  4. Quick Check:

    SRANDMEMBER key count = correct syntax [OK]
Hint: Count parameter comes after the key in SRANDMEMBER [OK]
Common Mistakes:
  • Placing count before the key
  • Using COUNT keyword which is invalid
  • Using negative count without understanding effect
3. Given a Redis set colors containing {"red", "green", "blue"}, what could be the result of SRANDMEMBER colors 2?
medium
A. ["red", "green"]
B. ["red", "red"]
C. ["yellow", "blue"]
D. ["green"]

Solution

  1. Step 1: Understand SRANDMEMBER with positive count

    When count is positive, SRANDMEMBER returns that many unique random elements from the set.
  2. Step 2: Analyze possible outputs

    Since the set has "red", "green", "blue", the result must be two unique elements from these. ["red", "green"] shows two valid unique elements. ["red", "red"] repeats "red" which is not possible with positive count. ["yellow", "blue"] includes "yellow" which is not in the set. ["green"] returns only one element, but count requested is 2.
  3. Final Answer:

    ["red", "green"] -> Option A
  4. Quick Check:

    Positive count = unique random elements [OK]
Hint: Positive count returns unique elements, no repeats [OK]
Common Mistakes:
  • Expecting repeated elements with positive count
  • Including elements not in the set
  • Returning fewer elements than requested
4. You run SRANDMEMBER myset -2 on a set with elements {"a", "b", "c"}, but get an error. What is the likely cause?
medium
A. Negative count is not allowed in SRANDMEMBER
B. The set myset does not exist
C. The Redis version does not support negative count
D. Negative count returns repeated elements, no error

Solution

  1. Step 1: Understand negative count behavior

    Negative count in SRANDMEMBER returns elements allowing repeats (sampling with replacement), but this feature requires Redis 3.2 or newer.
  2. Step 2: Identify cause of error

    If an error occurs, it is likely because the Redis version is older and does not support negative count.
  3. Final Answer:

    The Redis version does not support negative count -> Option C
  4. Quick Check:

    Negative count needs Redis 3.2+ [OK]
Hint: Negative count needs Redis 3.2+; older versions error [OK]
Common Mistakes:
  • Assuming negative count always errors
  • Ignoring Redis version compatibility
  • Thinking negative count is invalid syntax
5. You want to randomly select 5 elements from a Redis set players which contains only 3 unique names, allowing repeats. Which command correctly achieves this?
hard
A. SRANDMEMBER players 5
B. SRANDMEMBER players -5
C. SPOP players 5
D. SRANDMEMBER players COUNT 5

Solution

  1. Step 1: Understand requirement for repeats

    To get 5 elements allowing repeats from a set of 3, we need sampling with replacement.
  2. Step 2: Identify correct SRANDMEMBER usage

    Using a negative count like -5 allows repeated elements in the result.
  3. Step 3: Eliminate other options

    SRANDMEMBER players 5 returns only unique elements, so max 3. SPOP players 5 removes elements, not desired. SRANDMEMBER players COUNT 5 uses invalid syntax.
  4. Final Answer:

    SRANDMEMBER players -5 -> Option B
  5. Quick Check:

    Negative count = repeated random elements [OK]
Hint: Use negative count for repeats in SRANDMEMBER [OK]
Common Mistakes:
  • Using positive count expecting repeats
  • Using SPOP which removes elements
  • Using invalid syntax with COUNT keyword
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