Skip to content
Learn
interview-questionsintermediate8 min

Solidity interview: 20 questions

Storage, calls, and the things that actually break

  1. What is a storage collision in an upgradeable proxy?
  2. When does delegatecall write to the caller?
  3. How do you pull-pay versus push-pay, and why does it matter?
  4. What does unchecked forfeit?
  5. Reentrancy: guards vs CEI vs read-only reentrancy.
  6. tx.origin versus msg.sender.
  7. Oracle manipulation in a two-block window.
  8. What is a dusty leftover approval?
  9. How do you fuzz a rounding error in a vault?
  10. When is send / transfer the wrong tool?
  11. Upgrade delays as a feature.
  12. Signature replay across chains.
  13. Storage packing and griefing.
  14. What does a good invariant test look like?
  15. How do you reason about MEV on a liquidation?
  16. Permit vs approve/permit2.
  17. Default visibility mistakes.
  18. What belongs in a constructor versus an initializer?
  19. How do you write a finding that a protocol engineer will fix?
  20. What will you refuse to ship?

Bring a repo, not a list of courses.