Skip to content
Tech Interview Prep home
Technical interview guide

Smart Contract Development (Solidity & EVM)

Writing and deploying self-executing contract code on the Ethereum Virtual Machine — state, gas, and the constraints of on-chain execution.

Read
48 min
Practice MCQs
25
Interview QA
25
Edition
v3
Editorial status
Reviewed

Scope: Solidity latest documentation (0.8.36/0.8.37 development line reviewed 2026-09-04); Ethereum EVM documentation updated 2026-07-26; target-chain fork rules must be verified at deployment; ERC-1967, EIP-170, and EIP-1153.

Interview QA

Treat each question like a live interview question: answer out loud first (structure, assumptions, tradeoffs), then open the model answer to spot gaps and rehearse a tighter follow-up.

Curated: · Written: · Reviewed:

QA-1

Design a contract feature that depends on an external real-world value.

QA-2

Choose data locations for a function processing a user-supplied array.

QA-3

Build a reproducible contract deployment pipeline.

QA-4

Integrate safely with a contract through its ABI.

QA-5

Redesign a contract that distributes rewards by looping over every member.

QA-6

Optimize storage without damaging maintainability.

QA-7

Review the storage safety of a proxy upgrade.

QA-8

Handle a secret-dependent workflow on a public chain.

QA-9

Secure a withdrawal flow against cross-function reentrancy.

QA-10

Wrap an external token interaction safely.

QA-11

Design contract administration for high-value operations.

QA-12

Review arithmetic in an asset-accounting contract.

QA-13

How do Solidity custom errors differ from require string reverts across bytecode footprint, deployment and runtime gas, and ABI encoding?

QA-14

How does the ERC-20 approve race condition enable double-spending, and how does EIP-2612 permit mitigate this through EIP-712 typed data signatures?

QA-15

Threat-model a delegatecall-based plugin architecture.

QA-16

Deploy and initialize an upgradeable contract safely.

QA-17

How do you protect smart contracts against frontrunning, sandwich attacks, and MEV extraction at the contract logic level?

QA-18

Create verifiable build provenance for a contract release.

QA-19

Use counterfactual addresses without creating an address-authentication flaw.

QA-20

Evaluate transient storage for a reentrancy lock.

QA-21

Use formal verification for an asset invariant.

QA-22

Design invariants for a multi-user financial contract.

QA-23

Test a protocol integration against a chain fork.

QA-24

Create a failure-aware deployment runbook.

QA-25

Operate an off-chain service around a smart contract.