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

    What determines the base slot of a mapping?

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

    #A
    #B
    #C
    #D
    Explanation:
    The base slot of a mapping is derived using keccak256(key . slot). This hashing ensures unique storage locations per key without collisions.
  • Difficulty - Medium
    Total Plays - 13
    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
  • Shubhada Pande

    Shubhada Pande

    @ShubhadaJP Dec 14, 2025

    Web3 Hiring Signals

    Your curated hub for understanding how Web3 teams actually evaluate talent — beyond resumes, GitHub stars, and surface-level interviews.This page organizes AOB discussions and articles that help founders, hiring managers,...
  • Difficulty - Medium
    Total Plays - 12
    Allowed Time - 10 sec
    Best time - 1.493

    Why are fallback functions dangerous?

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

    #A
    #B
    #C
    #D
    Explanation:
    Fallback functions run automatically when unknown calls or plain ETH are sent. If they contain external calls or heavy logic, attackers can trigger recursion or re-entrancy. They must be kept minimal and safe.
  • Difficulty - Medium
    Total Plays - 7
    Allowed Time - 10 sec
    Best time - 10

    What makes memory expansion expensive?

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

    #A
    #B
    #C
    #D
    Explanation:
    Memory follows a quadratic cost function, meaning costs rise rapidly as the memory footprint grows. Careless array allocations can suddenly inflate execution cost. This is a frequent root cause of gas blowups in audits.
  • Difficulty - Medium
    Total Plays - 8
    Allowed Time - 10 sec
    Best time - 2.358

    Why is PUSH0 useful in gas optimization?

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

    #A
    #B
    #C
    #D
    Explanation:
    PUSH0 provides a zero literal without consuming calldata or memory. This reduces bytecode size and simplifies stack management. It's extremely helpful in tight loops and assembly-heavy contracts.
  • Difficulty - Medium
    Total Plays - 7
    Allowed Time - 10 sec
    Best time - 2.492

    What does REVERT preserve that INVALID does not?

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

    #A
    #B
    #C
    #D
    Explanation:
    REVERT allows returning structured revert data back to the caller, which improves debugging and interface guarantees. INVALID terminates execution with no return payload. This distinction is crucial for protocols relying on bubble-up error messaging.
  • Difficulty - Medium
    Total Plays - 7
    Allowed Time - 10 sec
    Best time - 10

    Why are multi-step writes risky?

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

    #A
    #B
    #C
    #D
    Explanation:
    Multi-step operations can leave the contract in a partially updated state if execution halts. Attackers exploit these interim states to bypass checks.
  • Difficulty - Medium
    Total Plays - 6
    Allowed Time - 10 sec
    Best time - 3.912

    Which op is used for external code size?

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

    #A
    #B
    #C
    #D
    Explanation:
    EXTCODESIZE checks if the target has code deployed. It helps detect contracts vs EOAs in validation logic
  • Difficulty - Medium
    Total Plays - 5
    Allowed Time - 10 sec
    Best time - 5.375

    Why is SELFDESTRUCT dangerous in proxies?

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

    #A
    #B
    #C
    #D
    Explanation:
    If the implementation contract is self-destructed, proxies break permanently or redirect unexpectedly. This creates bricked contracts and undefined behavior
  • Difficulty - Medium
    Total Plays - 8
    Allowed Time - 10 sec
    Best time - 10

    What does RETURNDATASIZE prevent?

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

    #A
    #B
    #C
    #D
    Explanation:
    RETURNDATASIZE ensures the caller knows exactly how many bytes were returned. It prevents incorrect assumptions and truncation bugs during low-level calls.
  • Difficulty - Medium
    Total Plays - 7
    Allowed Time - 10 sec
    Best time - 3.010

    5. Why is delegatecall risky?

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

    #A
    #B
    #C
    #D
    Explanation:
    delegatecall executes callee code in the caller’s storage context, leading to storage collisions and privilege escalation. This is a key attack vector in proxy contracts.