共计 690 个字符,预计需要花费 2 分钟才能阅读完成。
欧科云链(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),可查看面试题解析和参加探讨。
正文完