一面 30min
无八股文
1.聊简历上的项目(以太坊区块链框架的电商交易平台),创新点在哪,为什么想着做这个。最早接触区块链什么时候
2.solidity上如何在数组删除一个数(我说不太清楚,我设计的时候给结构体设置一个变量isUsed,根据isUsed判断这个数有没有用)
3.你是如何用以太坊实现资金托管的(function用payable修饰,然后可以对合约账户balance实现操作transfer),
除了transfer还有吗?(send)
还有呢(其他的不太了解,当初只关注哪个能用)
4.讲讲项目中的ipfs(讲了三大基本原则)
为什么想到用ipfs(基于内容,gas贵)
5.聊聊简历上的其他项目
6.有没有了解NFT(非同质化代币,唯一,对比了一下babydoge)
7.有没有参与过公链上的其他项目(无)
uniswap有没有了解(一级市场)
uniswap底层原理知道吗(不知道)
8.有没有了解以太坊版本变化(无,只知道最近有个伦敦升级,具体内容不清楚)
9.如何对一个数组去重(用unordered_map检查有无出现,无出现就装进res)
还有其他实现吗(用set直接装,自动去重)
10.讲一下快排是怎么一回事,时间复杂度,空间复杂度
11.讲讲个人性格,参与团建什么的(一般都会去参加,之前当过学生部门的部长)
负责什么工作(统筹协调)
然后就是问一些部门相关事情
12.反问部门负责什么业务,面试官讲了一大堆,调研,前后端产品开发都有,我不知道主体业务是啥。
二面 1h
1.简单自我介绍,讲一下毕设项目
2.私钥,公钥,地址,助记词的关系(生成)
3.比特币和以太坊的区别
4.POW和POS机制
5.POS和PBFT的关系(POS是投票机制,PBFT才是共识,PBFT是容错协议)
6.数字签名与验签,公私钥的作用
7.solidity的function的可见性(public,private,internal,external)
8.合约发布的数据结构
9.有没有参与过以太坊项目,defi,uniswap之类的
10.solidity函数修饰器
11.SHA2的过程
12.以太坊账户的nounce含义
算法题口述:
1.逆排链表
2.二叉排序树
3.二叉排序平衡树
4.红黑树
5.最小生成树(两个算法)
6.Dijkstra算法
思维题:
100桶酒,其中一桶有毒,一只实验老鼠喝了酒之后一小时有结果,问一小时之内最少几只老鼠可以试出毒酒。(二进制编号混搭)
HR面 15min
1.自我介绍
2.介绍毕设
3.了解Solidity语言多长时间(1个月,不建议这么答,反正HR面不懂技术,扯个一两年经验比较好)
4.遇到的困难
5.为什么毕设要挑一个完全不熟悉的方向(兴趣)
6.之前有拿过其他offer吗
7.期望薪资
8.你对行业发展怎么看,或者说你对区块链行业的兴趣(我要是没兴趣我毕设就不会挑一个陌生的方向)
offer call后加面公链TL 20min
聊人生,更多的是TL谈理解,说明政策风险,外包机制,建议应届先到大厂待个一两年,厂里80%都在大厂待过,如果确实想来也欢迎。
1.问我主要考虑什么(关注行业发展,提提自己对区块链兴趣)
2.如果薪资到位愿意来是吗?(是)
3.聊天,谈对区块链的理解(把握住如果AI是解放生产力,区块链就是改变生产关系,然后举个支付宝和智能合约托管例子估计差不多了),听他讲公链与联盟链(认同就完事了)
4.问我C++拷贝构造函数与go语言
5.想参与上层应用开发,还是底层区块链开发(和磁盘I/O关联比较多),我说都ok,自己只是自学过上层应用开发,不懂底层有没有影响(无影响)
6.介绍他们是分布式办公,见面机会不多,归属感不强,bq小众,无大厂光环,介意的话还是先到大厂待个一两年观望。
已offer。