Coinbase 面试经验分享 | Coinbase 面试辅导 面试技巧 面试代面  

更多资源与服务

想要了解更多编程面试技巧,或者需要专业的面试辅导OA代做简历润色等服务?我们提供全方位的求职面试支持,帮助您在大厂面试真题系统设计面试算法面试中脱颖而出,轻松拿到心仪的 offer!无论您是留学生、刚踏入职场的新人,还是需要代码优化建议的开发者,我们的团队由ACM奖牌得主、大厂资深 TLM 及经验丰富的行业老兵组成,确保为您提供最专业的指导。

扫描下方二维码,添加我们的微信,获取更多服务:

微信二维码

关键词:

  • 面试代面
  • 代码代写
  • OA代做
  • 面试技巧
  • 面试经验分享
  • 职业规划
  • 编程练习

让我们帮助您在技术面试中脱颖而出,实现职业上的飞跃!

面试轮次:

  • 2 轮 Coding
  • 1 轮 BQ (Behavioral Questions)
  • 1 轮 System Design

面试官非常Responsive,即使面试挂了也会具体说明哪个环节出了问题。这次我挂在了 System Design 环节。


Coding 轮:Crypto Trading Order 系统

关键词:订单管理、交易系统、数据结构

基础题目:

实现一个交易订单系统,具备以下功能:

  • 下单:place order
  • 显示实时订单:display live order
  • 暂停订单:pause order
  • 恢复订单:resume order
  • 取消订单:cancel order

示例:

make_order(id=1, currency="BTC", amount=1)

解法:

  • 创建一个数据结构 order_info 用于存储订单内容:
class order_info:
    self.currency
    self.amount
    self.timestamp
    self.buy = True or False
    self.state = ["live", "pause", "completed", "cancel"]
  • 使用 OrderedDict() 存储实时订单,确保订单顺序。
  • 创建两个结构:
    • 存储未完成的订单
    • 存储暂停的订单,以便快速管理。

扩展题 1:支持多用户订单管理

  • order_info 中添加 self.userID
  • 每个用户的订单存储在一个 set() 中,以便快速查找和删除。

扩展题 2:将订单分片处理

  • 根据 userID % 3 将订单分配到 3 个 Stream 中。
  • 每次修改订单时,通过 userID % 3 找到对应的 Stream。

Coding 轮:Pagination 实现

关键词:分页系统、数据过滤、Cursor 优化

基础题目:

提供以下数据:

time, id, user, currency, amount
[1, 3, 1, 1, 5],
[2, 4, 1, 2, 2],
[3, 5, 2, 2, -10],
[4, 6, 2, 1, 2]
  • 功能要求: 根据时间、用户和货币类型进行过滤。

扩展题 1:分页显示过滤后的数据

示例:

set_page_size(size=2)
set_time(start_time=1, end_time=3)
next_page() -> [
    [1, 3, 1, 1, 5],
    [2, 4, 1, 2, 2]
]
next_page() -> [
    [3, 5, 2, 2, -10]
]
next_page() -> []

扩展题 2:处理大规模数据集的分页

  • 使用 Cursor 进行分页比基于 Index Offset 更有效。
  • 参考:[Live Comments 高级设计](https://www.hellointerview.com/l ... ys/fb-live-comments) 中的分页实现。
Previous
Previous

Amazon Data Engineer Intern 面试经验分享 | 面试辅导 求职申请 面试代面试

Next
Next

HubSpot 面试经验分享:算法与系统设计全面解析 | HubSpot 面试辅导 面试技巧 面试代面