【第一期】2022秋招区块链开发工程师技术面面经 欧科云链

itmrtan · · 1048 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

> 欢迎加入[GOLANG ROADMAP](https://www.golangroadmap.com),一个年轻的Go开发者社区,目前是邀请注册制,邀请码:Go语言中文网。本篇面经中的面试题已收录到社区企业题库版块。 ### 欧科云链(OKEx) 区块链工程院 (面后感受:OKEx问的区块链的底层不多,大多是Golang开发的底层) #### 一面 - 进程、线程、Goroutine的比较 - GMP模型 - Golang Map底层 - 如何实现Map的有序查找(利用一个辅助slice) - sync包了解吗 - Mutex与RWMutex - 怎么实现Map的并发安全(sync.Map,底层实际上用了一个Map缓存) - Golang的channel底层 - defer函数的使用场景(延迟Close、recover panic) - 简介所知的区块链的共识算法(PoW,PoS,DPoS,PBFT,Raft) - PBFT与Raft的区别(拜占庭容错与崩溃容错) - 场景题:实现一个接口C在指定时间内最大次数并发调用接口A与接口B - MySQL的B+树 - 简单问了下Solidity、项目 - 反问部门业务 #### 二面 - 简单聊了下项目与毕设 - PBFT算法底层(核心三阶段,preprepare、prepare、commit) - Raft算法底层(领导者选举、日志复制) - Golang GC(三色标记法,插入屏障、删除屏障、混合写屏障) - Map可以用数组作为Key吗(数组可以,切片不可以) - Channel的阻塞和非阻塞(顺带问了select用法) - 介绍除了单例与工厂模式外的设计模式(消费者模式) - Redis为什么快(内存数据库,单线程IO多路复用) - 介绍Bloom filter特点 - 区块链里的MT与MPT - 以太坊智能合约如何执行,介绍EVM底层 - 算法:手撕快排 - 聊区块链行业 - 反问 > 本篇面经中涉及的面试题已收录进GOLANG ROADMAP企业题库(搜索关注wx-gzh:GOLANG ROADMAP),可查看面试题解析和参与讨论。

有疑问加站长微信联系(非本文作者))

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1048 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传