[ { "id": 1, "question": "Which is true about distributed systems compared to monolithic systems?", "options": { "A": "They are more resilient but more complex", "B": "They always have a single point of failure", "C": "They cannot scale horizontally", "D": "They require downtime for maintenance" } }, { "id": 2, "question": "RPC aims to:", "options": { "A": "Replace HTTP", "B": "Make remote calls look like local function calls", "C": "Store messages in queues", "D": "Encrypt all communication" } }, { "id": 3, "question": "In Pub/Sub, if three services subscribe to a topic and one message is published:", "options": { "A": "All three receive a copy", "B": "Only one service receives it", "C": "Two services receive it", "D": "No one receives it until restart" } }, { "id": 4, "question": "In Proof of Work, miners:", "options": { "A": "Stake coins", "B": "Create smart contracts", "C": "Vote on transactions", "D": "Solve complex mathematical puzzles" } }, { "id": 5, "question": "A hot cryptocurrency wallet differs from a cold wallet because it:", "options": { "A": "Stores more coins", "B": "Is hardware-based", "C": "Is connected to the internet", "D": "Cannot send funds" } }, { "id": 6, "question": "Exponential backoff means:", "options": { "A": "Retry at constant intervals", "B": "Stop retrying after one failure", "C": "Increase waiting time between retries", "D": "Retry immediately" } }, { "id": 7, "question": "Which of the following is required to retrieve (read) the Ether balance of an Ethereum address?", "options": { "A": "A private key to sign the read request", "B": "Just the address", "C": "Both the private key and the address", "D": "None of the above" } }, { "id": 8, "question": "What is used to pass data from a parent component to a child component in React?", "options": { "A": "State", "B": "Hooks", "C": "Events", "D": "Props" } }, { "id": 9, "question": "What is the main purpose of the Virtual DOM in React?", "options": { "A": "To store application data permanently", "B": "To create a database for UI elements", "C": "To use TypeScript in browsers", "D": "To efficiently update the browser DOM by comparing changes" } }, { "id": 10, "question": "What is sharding in distributed databases?", "options": { "A": "Data encryption", "B": "Splitting data across machines", "C": "Data duplication", "D": "Backup process" } }, { "id": 11, "question": "In active-passive deployment, who handles write requests?", "options": { "A": "All nodes", "B": "Passive nodes", "C": "Active node", "D": "Paxos algorithm" } }, { "id": 12, "question": "What does Two-Phase Commit ensure?", "options": { "A": "All-or-nothing transaction consistency", "B": "Data compression", "C": "Faster queries", "D": "Vertical scaling" } }, { "id": 13, "question": "What is the key difference between fungible and non-fungible tokens?", "details": "Note: To answer the following questions, you might need to read the Lesson on Ethereum tokens (see Lesson tab).", "options": { "A": "Fungible tokens are faster to transfer", "B": "Non-fungible tokens are always more valuable", "C": "Non-fungible tokens only exist on Ethereum", "D": "Fungible tokens are interchangeable, non-fungible tokens are unique" } }, { "id": 14, "question": "Where do ERC-20 tokens actually exist?", "options": { "A": "Inside smart contracts", "B": "In user wallets directly", "C": "In memory during a transaction", "D": "In mining pools" } }, { "id": 15, "question": "How is fractional token ownership (e.g., 0.5 tokens) achieved in ERC-20?", "options": { "A": "By using floating-point numbers in Solidity", "B": "By storing larger integers and using decimals for display", "C": "By splitting tokens into separate contracts", "D": "By increasing gas fees" } }, { "id": 16, "question": "Why are events like Transfer important in ERC-20?", "options": { "A": "They reduce gas costs", "B": "They store token balances", "C": "They allow external applications to track state changes", "D": "They replace smart contracts" } }, { "id": 17, "question": "What is the benefit of using a library like OpenZeppelin?", "options": { "A": "It guarantees profits from tokens", "B": "It replaces the need for validators", "C": "It provides secure, reusable implementations of common standards", "D": "It removes the need for testing" } }, { "id": 18, "question": "How do developers typically use OpenZeppelin contracts?", "options": { "A": "By copying code manually into their contracts", "B": "By importing them and using inheritance", "C": "By deploying them as standalone blockchains", "D": "By converting them into tokens" } } ]