区块链智能合约开发工程师考试试卷及答案_第1页
区块链智能合约开发工程师考试试卷及答案_第2页
区块链智能合约开发工程师考试试卷及答案_第3页
区块链智能合约开发工程师考试试卷及答案_第4页
区块链智能合约开发工程师考试试卷及答案_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

区块链智能合约开发工程师考试试卷及答案填空题(每题1分,共10分)1.Solidity中指定合约继承的关键字是______。2.以太坊智能合约部署的地址类型是______地址。3.Solidity返回bytes32的常用哈希函数是______。4.ERC20必须实现的转移函数是______。5.含0x前缀的以太坊钱包地址长度是______位。6.支付合约执行费用的单位是______。7.Solidity声明事件的关键字是______。8.函数访问权限除public、private外,还有______和______。9.modifier的核心作用是______(代码复用/权限校验等)。10.合约构造函数名称与______相同。单项选择题(每题2分,共20分)1.以下不是Solidity基本数据类型的是?A.uint256B.stringC.arrayD.bool2.重入攻击通常触发于?A.转账ETHB.读状态变量C.数组操作D.事件触发3.ERC20查账户余额的函数是?A.balanceOfB.approveC.transferFromD.totalSupply4.以太坊Gas的最小单位是?A.WeiB.GweiC.EtherD.Gas5.智能合约常见漏洞不包括?A.重入B.整数溢出C.语法错误D.权限不当6.Solidity创建合约实例的关键字是?A.newB.createC.deployD.instance7.以太坊合并后的共识机制是?A.POWB.POSC.DPOSD.POA8.可访问合约private变量的函数权限是?A.publicB.privateC.internalD.external9.Solidity编译工具是?A.TruffleB.HardhatC.solcD.Remix10.Solidity0.8.0+整数溢出会?A.自动回滚B.抛出异常C.忽略D.无变化多项选择题(每题2分,共20分)1.智能合约常见漏洞有?A.重入攻击B.整数溢出/下溢C.权限控制不当D.逻辑错误2.ERC20必须实现的函数是?A.balanceOfB.transferC.approveD.transferFrom3.Soliditymodifier可实现?A.权限校验B.代码复用C.条件检查D.异常捕获4.合约部署步骤包括?A.写Solidity代码B.编译生成ABI/字节码C.部署到链上D.代码验证5.Solidity支持的整数类型是?A.uint8B.int256C.uint128D.float6.合约审计要点是?A.漏洞检测B.逻辑正确性C.权限控制D.Gas优化7.常见区块链开发框架是?A.TruffleB.HardhatC.FoundryD.Remix8.Solidity事件的特点是?A.存于区块链日志B.不消耗GasC.可被外部监听D.合约内部可调用9.影响Gas消耗的因素是?A.操作复杂度B.状态存储C.循环次数D.调用深度10.合约继承规则是?A.可继承多个合约B.继承合约需可见C.构造函数按序执行D.可重写父函数判断题(每题2分,共20分)1.Solidity是静态类型语言,变量需指定类型。()2.重入攻击仅发生在转账ETH时,转账代币不会触发。()3.ERC721是同质化代币标准,ERC20是非同质化。()4.合约执行Gas费由调用者(用户)支付。()5.Solidity函数默认访问权限是public。()6.Solidity0.8.0+整数溢出自动抛出异常。()7.合约可直接调用其他合约的private函数。()8.钱包地址和合约地址均为0x开头42位十六进制。()9.Truffle是Solidity开发框架,支持编译部署。()10.事件存储在区块链交易日志中,可被查询。()简答题(每题5分,共20分)1.简述Soliditymodifier的作用及使用场景。2.什么是重入攻击?如何防范?3.简述ERC20代币标准的核心函数。4.智能合约部署的基本流程是什么?讨论题(每题5分,共10分)1.讨论智能合约中整数溢出/下溢的危害及防范措施。2.分析如何选择以太坊、BSC、Solana开发智能合约。---答案部分一、填空题1.is2.合约3.keccak2564.transfer5.426.Gernal;external9.代码复用/前置条件检查(合理表述即可)10.合约名二、单项选择题1.C2.A3.A4.A5.C6.A7.B8.C9.C10.B三、多项选择题1.ABCD2.ABCD3.ABC4.ABCD5.ABC6.ABCD7.ABC8.AC9.ABCD10.ABCD四、判断题1.√2.×3.×4.√5.×6.√7.×8.√9.√10.√五、简答题1.modifier作用及场景:用于函数前置条件检查、代码复用,减少重复逻辑。场景:①权限校验(如`onlyOwner`限制仅所有者调用);②输入验证(如金额≠0);③状态检查(如合约未暂停)。例如,定义`onlyOwner`修饰符,在需权限的函数前添加,确保仅部署者可操作。2.重入攻击及防范:攻击者利用合约转账时调用外部合约的特性,反复触发转账逻辑窃取资产。防范:①用`ReentrancyGuard`;②转账前更新状态(如扣余额);③用`call.value(...)`转账(避免`transfer/send`Gas限制);④限制外部调用重入次数。3.ERC20核心函数:①`balanceOf`(查余额);②`transfer`(转账);③`approve`(授权);④`transferFrom`(授权转账);⑤`totalSupply`(总供应量);⑥`allowance`(查授权剩余)。确保代币操作标准化。4.部署流程:①写Solidity代码;②`solc`编译生成ABI和字节码;③选测试网/主网;④配置Gas参数;⑤通过Remix/Truffle部署(支付Gas);⑥区块链浏览器验证代码。六、讨论题1.整数溢出危害及防范:溢出指整数运算超范围(如`uint8=255+1=0`),危害:①代币增发(转账溢出多转);②功能失效(投票计数错误)。防范:①用0.8.0+版本(内置检查);②用`SafeMath`

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论