• Difficulty - Medium
    Total Plays - 22
    Allowed Time - 10 sec
    Best time - 1.455

    Why is bytes32 cheaper than string in storage?

    Tip: Click "Play" to reveal options and start playing.

    #A
    #B
    #C
    #D
    Explanation:
    bytes32 has a fixed 32-byte size and fits into a single storage slot. string is dynamically sized and requires additional storage pointers and length metadata.
  • Difficulty - Medium
    Total Plays - 23
    Allowed Time - 10 sec
    Best time - 3.228

    Which operation resets a dynamic array length to zero?

    Tip: Click "Play" to reveal options and start playing.

    #A
    #B
    #C
    #D
    Explanation:
    Using delete on a dynamic array sets its length to zero. Storage slots may remain allocated but become inaccessible through the array.
  • Difficulty - Medium
    Total Plays - 19
    Allowed Time - 10 sec
    Best time - 3.454

    What does delete do to a mapping entry?

    Tip: Click "Play" to reveal options and start playing.

    #A
    #B
    #C
    #D
    Explanation:
    Deleting a mapping key resets its value to the default type value. The key itself still exists conceptually since mappings do not track keys.
  • Difficulty - Medium
    Total Plays - 18
    Allowed Time - 10 sec
    Best time - 1.444

    Which data location persists across transactions?

    Tip: Click "Play" to reveal options and start playing.

    #A
    #B
    #C
    #D
    Explanation:
    Storage persists on-chain across transactions and blocks. Memory and calldata are temporary and cleared after execution completes.
  • Difficulty - Medium
    Total Plays - 18
    Allowed Time - 10 sec
    Best time - 4.491

    What happens if a public variable name conflicts with a function name?

    Tip: Click "Play" to reveal options and start playing.

    #A
    #B
    #C
    #D
    Explanation:
    Public variables automatically generate getter functions. If a function shares the same name, the compiler prioritizes the variable-generated getter, shadowing the function definition.
  • Difficulty - Medium
    Total Plays - 18
    Allowed Time - 10 sec
    Best time - 3.013 sec

    Which keyword prevents further inheritance of a contract?

    Tip: Click "Play" to reveal options and start playing.

    #A
    #B
    #C
    #D
    Explanation:
    Solidity does not support a final or sealed keyword for contracts. Any contract can be inherited unless architectural constraints are enforced manually.
  • Difficulty - Medium
    Total Plays - 15
    Allowed Time - 10 sec
    Best time - 3.845

    Which function type cannot access msg.sender?

    Tip: Click "Play" to reveal options and start playing.

    #A
    #B
    #C
    #D
    Explanation:
    pure functions cannot read blockchain context such as msg.sender or block.timestamp. They are restricted to computation based solely on input parameters and local variables
  • Difficulty - Medium
    Total Plays - 10
    Allowed Time - 10 sec
    Best time - 1.012 sec

    What breaks if virtual is omitted in multiple inheritance?

    Tip: Click "Play" to reveal options and start playing.

    #A
    #B
    #C
    #D
    Explanation:
    Without the virtual keyword, a function cannot be overridden in derived contracts. This breaks the override chain and prevents proper polymorphic behavior in multiple inheritance scenarios.
  • Difficulty - Medium
    Total Plays - 6
    Allowed Time - 10 sec
    Best time - 10

    Which Solidity construct enforces compile-time immutability?

    Tip: Click "Play" to reveal options and start playing.

    #A
    #B
    #C
    #D
    Explanation:
    constant variables are evaluated at compile time and embedded directly into contract bytecode. This guarantees immutability and avoids any runtime storage access or gas cost.
  • Difficulty - Medium
    Total Plays - 5
    Allowed Time - 10 sec
    Best time - 10

    What default value does an uninitialized storage pointer hold?

    Tip: Click "Play" to reveal options and start playing.

    #A
    #B
    #C
    #D
    Explanation:
    An uninitialized storage pointer defaults to storage slot zero. This can overwrite critical state variables such as ownership or balances, making it a high-severity audit issue.
  • Difficulty - Medium
    Total Plays - 5
    Allowed Time - 10 sec
    Best time - 10

    Which visibility allows internal calls but blocks inheritance override?

    Tip: Click "Play" to reveal options and start playing.

    #A
    #B
    #C
    #D
    Explanation:
    private functions and variables are accessible only within the defining contract. They cannot be called or overridden by child contracts, which blocks inheritance-based modification entirely.
  • Difficulty - Medium
    Total Plays - 3
    Allowed Time - 10 sec
    Best time - 10

    What happens if a modifier reverts after _ execution?

    Tip: Click "Play" to reveal options and start playing.

    #A
    #B
    #C
    #D
    Explanation:
    If a modifier reverts after the _ placeholder executes, the entire transaction is reverted. All state changes made inside the function and modifier are rolled back due to Ethereum’s atomic execution model.
  • Difficulty - Medium
    Total Plays - 5
    Allowed Time - 10 sec
    Best time - 3.892

    Which Solidity keyword prevents state variable shadowing?

    Tip: Click "Play" to reveal options and start playing.

    #A
    #B
    #C
    #D
    Explanation:
    The override keyword forces explicit acknowledgment when a derived contract replaces a parent variable or function. This prevents accidental state variable shadowing in inheritance hierarchies, which can otherwise lead to subtle storage corruption bugs.
  • Shubhada Pande

    Shubhada Pande

    @ShubhadaJP Dec 23, 2025

    Advanced EVM Concepts & Internals

    This sub-cluster captures the transition point from mid-level to senior engineering.Senior engineers are not expected to write opcodes, but they are expected to understand:how Solidity abstractions map to the EVMwhere...
  • Shubhada Pande

    Shubhada Pande

    @ShubhadaJP Dec 21, 2025

    Core Smart Contract Engineering Skills

    This sub-cluster focuses on the baseline engineering judgment expected from smart contract developers, especially at junior-to-mid levels.It goes beyond “what is X” questions and instead captures:how engineers explain common vulnerabilities...
  • Shubhada Pande

    Shubhada Pande

    @ShubhadaJP Dec 20, 2025

    Role-Specific Hiring Playbooks

    Different Web3 roles require different evaluation signals.This hub organizes hiring expectations and interview signals by role — helping teams avoid using one-size-fits-all criteria.Smart Contract & Protocol RolesSmart contract developer expectations👉...
  • Shubhada Pande

    Shubhada Pande

    @ShubhadaJP Dec 20, 2025

    Web3 Hiring Risks & Compensation

    🚩 Web3 Hiring Risks & CompensationHiring mistakes in Web3 are expensive — financially, legally, and reputationally.This hub collects AOB discussions that help founders and hiring teams navigate offer-stage risks, compensation...