Bird
Raised Fist0
HLDsystem_design~10 mins

Requirements gathering (functional and non-functional) in HLD - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to identify the type of requirement that describes what the system should do.

HLD
requirement_type = "[1]"  # This type defines system behaviors and features
Drag options to blanks, or click blank then click option'
Atechnical
Bfunctional
Cnon-functional
Dbusiness
Attempts:
3 left
💡 Hint
Common Mistakes
Confusing functional with non-functional requirements.
2fill in blank
medium

Complete the code to identify the type of requirement that defines system qualities like performance and security.

HLD
requirement_type = "[1]"  # This type defines system qualities and constraints
Drag options to blanks, or click blank then click option'
Afunctional
Binterface
Cuser
Dnon-functional
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing up functional and non-functional requirements.
3fill in blank
hard

Fix the error in the code to correctly classify a requirement about system uptime.

HLD
requirement_type = "[1]"  # System uptime is a measure of availability
Drag options to blanks, or click blank then click option'
Anon-functional
Bfunctional
Cbusiness
Dregulatory
Attempts:
3 left
💡 Hint
Common Mistakes
Classifying uptime as a functional requirement.
4fill in blank
hard

Fill both blanks to complete the dictionary that maps requirement types to examples.

HLD
examples = {"[1]": "User login", "[2]": "Response time under 2 seconds"}
Drag options to blanks, or click blank then click option'
Afunctional
Bnon-functional
Cperformance
Dsecurity
Attempts:
3 left
💡 Hint
Common Mistakes
Swapping functional and non-functional keys.
5fill in blank
hard

Fill all three blanks to complete the list comprehension that filters functional requirements containing 'data'.

HLD
filtered = [req for req in requirements if req["type"] == "[1]" and "[2]" in req["[3]"]]
Drag options to blanks, or click blank then click option'
Afunctional
Bdata
Cdescription
Dnon-functional
Attempts:
3 left
💡 Hint
Common Mistakes
Using non-functional instead of functional.
Checking wrong field for 'data'.

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