Files
lab5/exam/theory.json
2026-03-19 16:37:01 +01:00

183 lines
5.3 KiB
JSON

[
{
"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"
}
}
]