Interview Questions for web3/NFT developers
If you ever try to hire web3/NFT dev, especially freelancers from platforms like Fiverr, there are so many scams and sellers who actually don’t know anything and no intention to deliver. They typically want you to send them money before project starts, and preferably on-chain, off-platform. As soon as you accept platform contract, or paid anything on-chain, they’d disappear, or before they done any actual work, they’d already mark your platform contract “Delivered”.
I put together a list to quickly filter the obvious scammers.
Who are you!?
- How old are you? You have a day job? General background. Talk to me please? If the seller cannot converse in a language you understand, then forget it.
- Seller’s telgram name, name in email and name listed on platform like Fiverr: Is it consistent?
- Get him/her talk to you over say Google Meets with camera on. If his picture on Fiverr isn’t that person, that’s another alarm bell.
Web3.py
- Experience? How have you used web3.py in the past? For what sort of applications? What do they do?
- Name a few web3 functions you use to send money, do a swap…etc.
- What’s Swap vs Mint vs Burn? What methods in ERC20 do you call to do them? Name a few methods
- swapTokensForExactTokens : What’s “path”? Can you specify max slippage?
- How do you fetch transactions? For example Swaps against SINGLE/USDC Liquidity Pool (vvs.finance) on CRONOS chain https://ethereum.stackexchange.com/questions/127146/web3-liquidity-pool-on-cronos-chain-how-to-you-fetch-all-transactions-swap
- How do you parse and decode transactions? https://ethereum.stackexchange.com/questions/127298/web3-py-get-transaction-status-amounts-in-out-sender-receiver-address-transac
- Take this as example https://app.singlefinance.io/lend, which part of this application talks to a REST/websocket API in the back? And which talks to the chain using web3? TVL and APY from Chain?
- Remix?
Name a few “Environments”? Javascript VM vs Injected Provider vs Web3 Provider? https://remix-ide.readthedocs.io/en/latest/run.html
NFT
- What services do you provide? What are the steps in an NFT project
- ERC20 vs ERC721?
- ERC721 — name a few methods defined there
- Remix? VSCode?
- Does Solidity support float? What’s “Decimal”? (Web3 question)
- Array of String? Array of Array? Solidity support it? What about web3?
- What’s Openzepplin?
- What’s Merkle Tree?
- Openzepplin Ownable?
- Primary vs Secondary market? How do we move from Primary market to Secondary market?
- NFT Flipping?
- Minting automation (How many wallets? Can wallet be created auto?)
- Which chain experience? EVM compatible chains? Ronin? Solana?
- Solana js SDK vs REST? https://docs.opensea.io/
References
OpenZepplin
- Documentation https://docs.openzeppelin.com/contracts/4.x/
- ERC721 https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC721/ERC721.sol
Ownable
- https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/access/Ownable.sol
- https://docs.openzeppelin.com/contracts/3.x/access-control#ownership-and-ownable
MerkleProof
- https://github.com/protofire/zeppelin-solidity/blob/master/contracts/MerkleProof.sol
- https://docs.openzeppelin.com/contracts/3.x/api/cryptography
- https://medium.com/@ItsCuzzo/using-merkle-trees-for-nft-whitelists-523b58ada3f9
- https://www.youtube.com/watch?v=67vkL8XkoJ0
- https://github.com/davidrazmadzeExtra/Merkle_Tree_Whitelist_NFT