Describe the basic architecture of a decentralised application (dApp).
What the interviewer wants to hear
- Smart contracts hold core logic and state on chain
- Frontend connects through a wallet
- RPC provider to read chain data and send transactions
- Indexer for querying historical events
- Off-chain storage such as IPFS for large files
Model answer
At the core are smart contracts deployed on a chain, holding the critical state and rules, like balances or NFT ownership. Users interact through a web or mobile frontend, usually React with libraries like wagmi and viem. The frontend connects to the user's wallet, such as MetaMask or a smart wallet, which signs transactions so the app never sees private keys. Reads and transaction submissions go through an RPC provider like a node service or the wallet itself. Since reading history directly from the chain is slow, an indexer such as The Graph or a custom service listens to contract events and stores them in a database for fast queries, like "all trades by this user". Large files, like NFT images, live off chain on IPFS or Arweave, with only their hash or link on chain. Some apps also have a normal backend for things like notifications.
Can you answer it under time pressure?
Take a timed easy round and get scored on every answer.
More easy Blockchain Developer questions
- Explain what a blockchain is to someone who is not technical.
- What is a smart contract, and what are its main limitations?
- What is the ERC-20 standard and what are its key functions and events?
- What is the difference between proof of work and proof of stake?
- How does a crypto wallet work, and what is the role of the private key and the seed phrase?
- How are transaction fees calculated on Ethereum today?
- Compare ERC-20, ERC-721 and ERC-1155. When would you use each?
- What are Layer 2 networks, and why are they important for Ethereum?
- What are events in Solidity, and how do you use them in a real project?