Web3 interviews differ significantly from traditional software engineering interviews. Expect a mix of behavioral questions, technical deep-dives, and live coding challenges.
Solidity & Smart Contract Questions
What happens when you transfer ETH to a contract without a receive() function?
The transaction reverts. If a `receive()` exists, it executes. Always check the target contract interface before sending ETH.
Explain the difference between transfer, send, and call.value()().
`transfer()` forwards 2300 gas and reverts on failure. `send()` returns a bool instead of reverting. `call.value()()` forwards all available gas and is the modern preferred approach, but requires strict Checks-Effects-Interactions patterns.
What is a reentrancy attack?
An attacker contract recursively calls a vulnerable contract withdrawal before the balance is updated. Prevent with Checks-Effects-Interactions and reentrancy guards.
DeFi & Protocol Questions
How does an AMM determine price?
An AMM uses a constant product formula: x * y = k. Price is the ratio of reserves. Large trades shift the ratio, moving price away from external markets.
What is impermanent loss?
When providing liquidity to an AMM, if one asset appreciates relative to the other, you would have been better off holding. That difference is impermanent loss — it becomes permanent when you withdraw.
How does flash loan arbitrage work?
A flash loan lets you borrow an unlimited amount from a pool without collateral, as long as you return it within the same transaction. Attackers use this to manipulate oracle prices across multiple protocols in one tx.
Behavioral Questions
Why do you want to work in Web3?
Share a specific narrative — a protocol you use, a problem you want to solve. Companies want genuine conviction, not just "I believe in decentralization."
How do you stay current with Web3 developments?
Mention specific sources: ecosystem blogs, key researchers on Twitter, governance proposals, hackathons.