Bird
Raised Fist0
HLDsystem_design~20 mins

Requirements gathering (functional and non-functional) in HLD - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Requirements Mastery Badge
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
Identify the correct functional requirement

Which of the following is a functional requirement for an online bookstore system?

AThe system shall allow users to search for books by title, author, or ISBN.
BThe system shall be available 99.9% of the time.
CThe system shall respond to user requests within 2 seconds.
DThe system shall encrypt user passwords using AES-256.
Attempts:
2 left
💡 Hint

Functional requirements describe what the system should do.

🧠 Conceptual
intermediate
2:00remaining
Identify the non-functional requirement

Which of the following is a non-functional requirement for a mobile banking app?

AThe app shall allow users to transfer money to other accounts.
BThe app shall support fingerprint authentication for login.
CThe app shall process transactions within 3 seconds.
DThe app shall provide monthly account statements.
Attempts:
2 left
💡 Hint

Non-functional requirements describe how the system performs or behaves.

❓ tradeoff
advanced
3:00remaining
Tradeoff between functional and non-functional requirements

A video streaming service wants to add a new feature to allow offline downloads (functional requirement). However, this feature may increase storage costs and affect app performance (non-functional concerns). What is the best approach to handle this tradeoff?

ARemove the feature to keep non-functional requirements intact.
BAnalyze impact, optimize feature design, and balance both requirements.
CDelay the feature indefinitely until non-functional issues disappear.
DIgnore non-functional concerns and implement the feature fully.
Attempts:
2 left
💡 Hint

Good system design balances functional and non-functional needs.

❓ Architecture
advanced
3:00remaining
Classify requirements for a ride-sharing app

Given these requirements for a ride-sharing app, classify each as functional (F) or non-functional (NF):
1. The app shall allow users to book rides.
2. The app shall encrypt user data.
3. The app shall handle 10,000 concurrent users.
4. The app shall provide driver ratings.

A1-F, 2-NF, 3-NF, 4-F
B1-F, 2-F, 3-NF, 4-NF
C1-NF, 2-F, 3-F, 4-NF
D1-NF, 2-NF, 3-F, 4-F
Attempts:
2 left
💡 Hint

Functional requirements describe features; non-functional describe qualities.

❓ estimation
expert
4:00remaining
Estimate capacity based on non-functional requirements

A new messaging app expects 1 million daily active users. The non-functional requirement states the system must handle peak loads with 10 messages per user per day, with 99.99% uptime. What is the minimum message processing capacity per second the system should support during peak hours (assuming peak hour is 10% of the day)?

AApproximately 1,000,000 messages per second
BApproximately 1,157,400 messages per second
CApproximately 11,574 messages per second
DApproximately 1,157 messages per second
Attempts:
2 left
💡 Hint

Calculate total messages per day, then divide by peak hour seconds.

Practice

(1/5)
1. Which of the following best describes a functional requirement in system design?
easy
A. A usability guideline for user interface design
B. A quality that defines how fast the system should respond
C. A security measure to protect user data
D. A feature that defines what the system should do

Solution

  1. Step 1: Understand functional requirements

    Functional requirements specify the actions or features the system must perform, such as user login or data processing.
  2. Step 2: Differentiate from non-functional requirements

    Non-functional requirements describe qualities like speed, security, or usability, not specific features.
  3. Final Answer:

    A feature that defines what the system should do -> Option D
  4. Quick Check:

    Functional = What system does [OK]
Hint: Functional = what system does; Non-functional = how well [OK]
Common Mistakes:
  • Confusing functional with non-functional requirements
  • Thinking security is a functional requirement
  • Mixing usability with system features
2. Which of the following is a correct example of a non-functional requirement?
easy
A. The system shall respond to user requests within 2 seconds
B. The system shall provide a search feature
C. The system shall store user profiles
D. The system shall allow users to reset their password

Solution

  1. Step 1: Identify non-functional requirements

    Non-functional requirements describe system qualities like performance, reliability, or security.
  2. Step 2: Match options to definitions

    The system shall respond to user requests within 2 seconds specifies response time, a performance metric, which is non-functional. Others describe features (functional).
  3. Final Answer:

    The system shall respond to user requests within 2 seconds -> Option A
  4. Quick Check:

    Non-functional = system qualities [OK]
Hint: Look for qualities like speed or security for non-functional [OK]
Common Mistakes:
  • Choosing features as non-functional requirements
  • Ignoring time or performance constraints
  • Confusing functional and non-functional examples
3. Given these requirements:
  • The system must allow users to upload files.
  • Uploads must complete within 5 seconds.
  • The system must support 1000 concurrent uploads.

Which of these is a functional requirement?
medium
A. Uploads must complete within 5 seconds
B. The system must support 1000 concurrent uploads
C. The system must allow users to upload files
D. The system must ensure uploaded files are available 99.9% of the time

Solution

  1. Step 1: Identify functional requirements

    Functional requirements describe what the system does, such as allowing file uploads.
  2. Step 2: Analyze each option

    A is performance (non-functional). B is capacity/scalability (non-functional). D is availability (non-functional).
  3. Final Answer:

    The system must allow users to upload files -> Option C
  4. Quick Check:

    Functional = system features [OK]
Hint: Features = functional; qualities like speed = non-functional [OK]
Common Mistakes:
  • Selecting performance, capacity, or availability as functional
  • Confusing capacity constraints as functional
  • Ignoring direct feature statements
4. A system requirement states: "The system shall handle 1000 requests per second." Which type of requirement is this and what is wrong if it is listed as functional?
medium
A. Functional; it describes a feature, so it's correct
B. Non-functional; it describes performance, so listing as functional is incorrect
C. Functional; it describes user behavior, so it's correct
D. Non-functional; it describes security, so listing as functional is incorrect

Solution

  1. Step 1: Identify requirement type

    Handling 1000 requests per second is about performance, a non-functional quality.
  2. Step 2: Explain why listing as functional is wrong

    Functional requirements describe features, not performance metrics. Mislabeling causes confusion in design and testing.
  3. Final Answer:

    Non-functional; it describes performance, so listing as functional is incorrect -> Option B
  4. Quick Check:

    Performance = non-functional [OK]
Hint: Performance metrics are non-functional, not features [OK]
Common Mistakes:
  • Calling performance a functional requirement
  • Confusing user behavior with system qualities
  • Ignoring the impact of mislabeling requirements
5. You are gathering requirements for a new messaging app. Which combination below correctly pairs functional and non-functional requirements?
hard
A. Users can send messages; messages must be delivered within 1 second
B. Messages must be encrypted; users can create profiles
C. The app must support dark mode; users can block contacts
D. The app must be available 24/7; Messages must be delivered with 99.99% reliability

Solution

  1. Step 1: Identify functional requirements in options

    Functional requirements describe features like sending messages or creating profiles.
  2. Step 2: Identify non-functional requirements in options

    Non-functional requirements describe qualities like speed, availability, or security.
  3. Step 3: Analyze each option pair

    Users can send messages; messages must be delivered within 1 second pairs sending messages (functional) with delivery speed (non-functional). Others mix two functional or two non-functional requirements incorrectly.
  4. Final Answer:

    Users can send messages; messages must be delivered within 1 second -> Option A
  5. Quick Check:

    Functional + Non-functional = Users can send messages; messages must be delivered within 1 second [OK]
Hint: Functional = features; Non-functional = qualities like speed or availability [OK]
Common Mistakes:
  • Mixing two functional or two non-functional requirements
  • Confusing UI features with system qualities
  • Ignoring delivery time as non-functional
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