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开发者
Toptal标志is an exclusive network of the top freelance software developers, 设计师, 金融专家, 产品经理, 和世界上的项目经理. Top companies hire Toptal freelancers for their most important projects.

面试问题

1.

How are transactions and blocks encrypted in the Bitcoin implementation?

查看答案

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.

2.

解释为什么区块链需要令牌来操作.

查看答案

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.

3.

How does peer discovery work in a peer-to-peer (P2P) network?

查看答案

当一个新节点启动时, 它对网络一无所知, 因为没有中央服务器. Usually developers provide a list of trusted nodes written directly into the code that can be used for initial peer discovery.

申请加入Toptal的发展网络

并享受可靠、稳定、远程 自由区块链开发者职位

申请成为自由职业者
4.

验证器如何检查一个块是否有效?

查看答案

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).

5.

什么是scriptPubKey? 解释如何使用P2SH地址.

查看答案

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, 它必须包含与散列匹配的脚本, 除了解锁脚本.

6.

使用脚本, 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
7.

使用脚本, 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:空
8.

What is a trapdoor function, and why is it needed in blockchain development?

查看答案

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.

9.

什么是采矿??

查看答案

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.

10.

链叉是什么?

查看答案

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

厌倦了面试候选人? 不知道该问什么才能让你得到一份好工作?

让Toptal为你找到最合适的人.

现在就雇佣一名顶级bb100开发者

我们的区块链开发者专属网络

寻找一份区块链开发人员的工作?

让Toptal为你找到合适的工作.

申请成为区块链开发人员

工作机会从我们的网络

提出面试问题

Submitted questions and answers are subject to review and editing, 并可能会或可能不会选择张贴, 由Toptal全权决定, 有限责任公司.

*所有字段均为必填项

寻找区块链开发者?

寻找 区块链开发人员? 看看Toptal的区块链开发人员.

洛根Saether

自由区块链开发人员
德国Toptal成员2020年5月13日

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

自由区块链开发人员
美国Toptal成员2022年4月12日

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.

显示更多

大卫·布劳恩

自由区块链开发人员
美国Toptal成员2014年3月10日

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社区.

了解更多