All of these questions can be answered in three sentences or less.
3.1 How does fixed point arithmetic represent numbers?
3.2 What is an ERC20 approval frontrunning attack?
3.3 What opcode accomplishes address(this).balance?
3.4 How many arguments can a solidity event have?
3.5 What is an anonymous Solidity event?
3.6 Under what circumstances can a function receive a mapping as an argument?
3.7 What is an inflation attack in ERC4626?
3.8 How many storage slots does this use? uint64[] x = [1,2,3,4,5]? Does it differ from memory?
3.9 Prior to the Shanghai upgrade, under what circumstances is returndatasize() more efficient than PUSH 0?
3.10 Why does the compiler insert the INVALID op code into Solidity contracts?
3.11 What is the difference between how a custom error and a require with error string is encoded at the EVM level?
3.12 1hat is the kink parameter in the Compound DeFi formula? 1ow can the name of a function affect its gas cost, if at all?
3.13 What is a common vulnerability with ecrecover?
3.14 What is the difference between an optimistic rollup and a zk-rollup?
3.15 How does EIP1967 pick the storage slots, how many are there, and what do they represent?
3.16 How much is one Sazbo of ether?
3.17 What can delegatecall be used for besides use in a proxy?
3.18 Under what circumstances would a smart contract that works on Etheruem not work on Polygon or Optimism? (Assume no dependencies on external contracts)
3.19 How can a smart contract change its bytecode without changing its address?
3.20 What is the danger of putting msg.value inside of a loop?
3.21 escribe the calldata of a function that takes a dynamic length array of uint128 when uint128[1,2,3,4] is passed as an argument.
3.23 If a proxy calls an implementation, and the implementation self-destructs in the function that gets called, what happens?
3.24What is the relationship between variable scope and stack depth?
3.25What is an access list transaction?
3.26 How can you halt an execution with the mload opcode?
3.27 What is a beacon in the context of proxies?
3.28 Why is it necessary to take a snapshot of balances before conducting a governance vote?
3.29 How can a transaction be executed without a user paying for gas?
3.30 In solidity, without assembly, how do you get the function selector of the calldata?
3.31 How is an Ethereum address derived?
3.32 What is the metaproxy standard?
3.33 If a try catch makes a call to a contract that does not revert, but a revert happens inside the try block, what happens?
3.34 If a user calls a proxy makes a delegatecall to A, and A makes a regular call to B, from Aβs perspective, who is msg.sender? from Bβs perspective, who is msg.sender? From the proxyβs perspective, who is msg.sender?
3.35 Under what circumstances do vanity addresses (leading zero addresses) save gas?
3.36 Why do a significant number of contract bytecodes begin with 6080604052?
3.37 What does that bytecode sequence do?
3.38 How does Uniswap V3 determine the boundaries of liquidity intervals?
3.39 What is the risk-free rate?
3.40 When a contract calls another call via call, delegatecall, or staticcall, how is information passed between them?
3.41 What is the difference between bytes and bytes1[]?
3.42 What is the most amount of leverage that can be achieved in a borrow-swap-supply-collateral loop if the LTV is 75%? What about other LTV limits?
3.43 How does Curve StableSwap achieve concentrated liquidity?
3.44 What quirks does the Tether stablecoin contract have?
3.45 What is the smallest uint that will store 1 million? 1 billion? 1 trillion? 1 quadrillion?
3.46 What danger to uninitialized UUPS logic contracts pose?
3.47 What is the difference (if any) between what a contract returns if a divide-by-zero happens in Soliidty or if a divide-by-zero happens in Yul?
3.48 Why canβt .push() be used to append to an array in memory?