10个重要的区块链面试问题 *
Toptal sourced essential questions that the best blockchain developers can answer. Driven from our community, we encourage experts to submit questions and offer feedback.
现在就雇佣一名顶级bb100开发者面试问题
Bitcoin blocks are not encrypted in any way: Every block is public. What prevents modifications and guarantees data integrity is a value called the block hash. Block content is processed using a special hash function—in the case of Bitcoin, it’s SHA256—and the resulting value is included in the blockchain.
Coins/tokens are used to implement changes between states. 当某人进行交易时, 这是状态的变化, 硬币从一个地址转移到另一个地址. 除此之外, 事务可以包含额外的数据, and a change of state is used to mutate data—the only way to do this in an immutable-by-definition blockchain. 从技术上讲, a blockchain doesn’t need coins for its essential operations, 但是没有他们, some other way needs to be introduced to manage states of the chain and to verify transactions.
当一个新节点启动时, 它对网络一无所知, 因为没有中央服务器. Usually developers provide a list of trusted nodes written directly into the code that can be used for initial peer discovery.
申请加入Toptal的发展网络
并享受可靠、稳定、远程 自由区块链开发者职位
Every full node on the network does block verification. When a new block is announced, every node that receives it does a list of checks. 两个最重要的检查是 工作证明 (if a block provides enough work to be included into chain) and of the validity of all transactions (each transaction must be valid).
scriptPubKey是一种所谓的“锁定脚本”.” It’s found in transaction output and is the encumbrance that must be fulfilled to spend the output.
P2SH is a special type of address where the complex locking script is replaced with its hash. When a transaction attempting to spend the output is presented later, 它必须包含与散列匹配的脚本, 除了解锁脚本.
使用脚本, write a redeem script that will allow a user to spend the output only when the user knows the magic number 1234567.
OP_EQUALVERIFY
scriptPubKey: 1234567 OP_EQUALVERIFY
scriptSig: 1234567
使用脚本, write a redeem script that will allow anyone to spend the output once it has aged for a minimum of 30 days.
scriptPubKey: "30d" OP_CHECKSEQUENCEVERIFY OP_VERIFY
scriptSig:空
A trapdoor function is a function that is easy to compute in one direction but difficult to compute in the opposite direction unless you have special information. Trapdoor functions are essential for public key encryption—that’s why they are commonly used in blockchain development to represent the ideas of addresses and private keys.
Mining is the process of reaching consensus in blockchain networks. 采矿有两个目的. 首先,它在生成的区块中创建新的硬币. Second, it includes transactions in a distributed ledger by providing 工作证明 to the network; that is, proof that the generated block is valid.
Blocks in the ledger are included in such a way as to build the longest chain, i.e.,累积难度最大的链条. Forking is a situation where there are two candidate blocks competing to form the longest blockchain and two miners discover a solution to the proof-of-work problem within a short period of time from each other. The network is then divided, because some nodes get blocks from miner #1 and some from miner #2.
分叉通常在一个区块中解决, because the probability that this situation happens again gets extremely lower with the next blocks that arise, so soon there is a new longest chain that will be considered as main.
(注意:这种类型的fork不同于 硬叉, which is where some developers decide to create a backward-incompatible change to the blockchain protocol, 从而产生两个永远不同的区块链.)
There is more to interviewing than tricky technical questions, 所以这些只是作为一个指南. Not every “A” candidate worth hiring will be able to answer them all, nor does answering them all guarantee an “A” candidate. 一天结束的时候, 招聘仍然是一门艺术,一门科学,需要大量的工作.
为什么Toptal
提出面试问题
Submitted questions and answers are subject to review and editing, 并可能会或可能不会选择张贴, 由Toptal全权决定, 有限责任公司.
寻找区块链开发者?
寻找 区块链开发人员? 看看Toptal的区块链开发人员.
洛根Saether
Logan is a developer with expertise in the blockchain space. 他围绕区块链建立了整个项目. As an entrepreneur, he has conceptualized and delivered many of his own products. Logan has written and managed smart contract interactions on the Ethereum blockchain, written applications using the Substrate blockchain framework, 建造基础设施, 受管理的复杂集成, 管理安全审计.
显示更多肯Miyachi
Ken is a software engineer specializing in distributed systems and Web3 technologies. 他推出了多个以太坊主网合约, assisted with over 20 blockchain patent applications, 创建了一个NFT, 并获得了mvp. 他的经验包括Web2后端服务, 数据分析, 从事数百万美元的项目. Ken enjoys system design and is adept at creating technical solutions around business use cases.
显示更多大卫·布劳恩
David is a senior software engineering generalist with blockchain and security experience. With two years of management training and strong communication skills, he excels at bridging business requirements with modern technology. 他在美国获得EECS学位.C. 伯克利分校证明了他的技术深度. David's current passion is building on his experience as a leader to maximize team effectiveness through industry best practices.
显示更多Toptal连接 排名前3% 世界各地的自由职业人才.
加入Toptal社区.