滴滴智能风控研发工程师(国际化)一面
围绕项目,无八股算法
部署服务的方式
pod 最大多少个:
高峰期7k QPS: 呃到☂️十个 Pod
每个pod占用的资源:
API 查询和任务消费/回调合并在一个 Pod 内,这类 Pod 既有高并发读流量,又有异步写和状态更新,也就是2C4G request,4C8G limit。
分表的分页表怎么做
有没有更好的方案 从产品思维:根据用户会员等级,限制用户查询的数量。
加入缓存遇到了哪些问题:
数据的不一致性问题,具体来说,当回调主动更改缓存任务状态时,有可能更改失败,因为mysql和redis的更新不在一个事务内,这个时候ttl就发挥了作用,视频生成的平均时长是2到3分钟,ttl设置为3分钟,当任务过期就被清楚,从数据库取出最新的数据,保证了redis和缓存的一致性
消费者怎么回调:
消费者回调通过rpc的方式回调我们的服务,传入状态和视频结果等信息,我们的服务去更新数据库和缓存
服务之间调用的输入输出 用了 rpc 的什么协议调用的:
百度内部常见的 RPC 框架是 brpc。它底层一般跑在 TCP 之上,消息序列化常用 protobuf;协议层不是只有一种,百度内部常见有 baidu_std 等私有协议,brpc 同时也兼容 HTTP、gRPC、Thrift 等多种协议。
在这个项目中的一些不足和经验
1. 后续流量增长还需要将轮询缓存的方式改成主动推送
2. 对于慢sql的监控不完善,应该及时报警
3. 在方案选型时考虑成本风险和收益
反问:技术挑战如何,答:高并发以及维护可用性
部署服务的方式
pod 最大多少个:
高峰期7k QPS: 呃到☂️十个 Pod
每个pod占用的资源:
API 查询和任务消费/回调合并在一个 Pod 内,这类 Pod 既有高并发读流量,又有异步写和状态更新,也就是2C4G request,4C8G limit。
分表的分页表怎么做
有没有更好的方案 从产品思维:根据用户会员等级,限制用户查询的数量。
加入缓存遇到了哪些问题:
数据的不一致性问题,具体来说,当回调主动更改缓存任务状态时,有可能更改失败,因为mysql和redis的更新不在一个事务内,这个时候ttl就发挥了作用,视频生成的平均时长是2到3分钟,ttl设置为3分钟,当任务过期就被清楚,从数据库取出最新的数据,保证了redis和缓存的一致性
消费者怎么回调:
消费者回调通过rpc的方式回调我们的服务,传入状态和视频结果等信息,我们的服务去更新数据库和缓存
服务之间调用的输入输出 用了 rpc 的什么协议调用的:
百度内部常见的 RPC 框架是 brpc。它底层一般跑在 TCP 之上,消息序列化常用 protobuf;协议层不是只有一种,百度内部常见有 baidu_std 等私有协议,brpc 同时也兼容 HTTP、gRPC、Thrift 等多种协议。
在这个项目中的一些不足和经验
1. 后续流量增长还需要将轮询缓存的方式改成主动推送
2. 对于慢sql的监控不完善,应该及时报警
3. 在方案选型时考虑成本风险和收益
反问:技术挑战如何,答:高并发以及维护可用性
全部评论
相关推荐
iiooz:别想太多了,面试官如果看不上,就不会约面了,腾讯很少所谓的kpi,有面就说明能力肯定不错,只是每个面试官筛选方式不同,二面甚至只跟你聊生活的都有,鹅还是很开放的在筛选人这一块 点赞 评论 收藏
分享
冰炸橙汁_不做oj版:redis除了五种基本数据类型,其他的几种还是要掌握一下的,挺常用
点赞 评论 收藏
分享
查看11道真题和解析