jerry.ai面试题

【算法】

题目一:

题目是给一串数字(0 - 9)每个数字之间可以加 + - 号或者不加,组成的表达式计算结果等于 给定的目标数,输出所有满足条件的表达式。
例如: [1 2 3 4 5 6 7 8 9]  目标 100
可能的组合:
1 + 23 - 4 + 56 + 7 + 8 + 9
-1 - 2 + 34 - 5 - 6 + 78 + 9

题目二:

力扣易思柳,LRU题,之前没刷过,想到了用Dictionary和linkedlist来处理. 可以通过linkedlistnode 的prev和next快速定位来删除node,做到O(1) put和get

题目三:

应该算是一道easy-medium,给定一个数组,只有一个初始数字1,对这个数组的每个数字k,做k*2+1和k*3+1,然后加入数组,要求这个数组是sorted并且没有重复元素,返回第N个
这个数组应该是[1,3,4,7,9,10,13,....]
算法
3(1*2+1), 4(1*3+1)
7(3*2+1), 10(3*3+1)
9(4*2+1), 13(4*3+1)
...
因为出现了3算出来的比4还大,所以单纯用queue不行,要用heap,然后用set去重
分析了时间空间复杂度。

【系统设计】

题目一:

为Youtube用户设计列出一小时之内top 10播放量的视频,就是top k问题,我还讲了count-min sketch‍

题目二:

Google search‍‍‍‌‍ ,Top K search results

题目三:

短链 short url

备注:怎么扩展,怎么确保数据不丢失

样例:

  1. 确定需求,我们要解决的问题是什么?
  2. 确定核心功能,设计API、实体类
  3. 画出核心模块的系统架构图(比如:基于规模,用高效的数据库来存储所有的推特和支持超大量的读要求,还需要一个分布式存储系统来保存图像和视频)
  4. 细节设计(比如:大量数据存储如何分区,如何处理热点数据,哪个层面需要缓存加速,那个模块需要负载均衡)
  5. 识别和解决瓶颈(比如:系统中哪个点容易失效,如何消除影响保障可用性?数据库备份足够吗,数据库宕机如何避免影响?某个服务不可用会不会导致服务雪崩?如何监控服务表现,性能异常及时告警?)
  • 缓存
  • 负载平衡
  • 数据库选择
  • 数据库架构
  • 复制
  • 分片
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值