南宁三中?
点赞 2

相关推荐

1. 基本情况方向:数据工程,时间:40分钟结束、16:00开始,无手撕,多场景2. 自我介绍3. 一些能够回忆起来的(或许有不正确的地方):(1)提问R:你这个项目是课程作业还是什么?R:那你说说Hive和ClickHouseR:你谈到了OLAP,那和OLTP有啥区别?R:没了?ClickHouse适合那种场景?R:可以用作实时数仓吗?R:课程中有数据库相关的吗?只有数据结构与算法?R:MySQL系统学习过吗?R:数据怎么导入到ClickHouse的?R:直接到ClickHouse?R:数仓分层?四层讲讲。R:那为什么要分层呢?DWS已经差不多了为什么还需要ADS呢?R:场景题:在你的表上新...
牛客861513826号:A场景题:数量统计不说了;退货平均时间:先沟通清楚,月平均退货时间算不算上不退货的用户,不算的话,就只计算退货用户;一个用户的退货时间减去到货时间拿到这件商品的退货时间,然后计算每个退货用户的退货时间,AVG开窗partition by月份,计算出每个月的平均退货时间。如果要算上不退货的用户,也就是让这个用户的退货时间是0,然后对所有用户计算AVG同上。 B场景题:结合下面他提示你再想想数据倾斜,其实这道题是想靠你数据倾斜怎么解决;本来是一个商品购买信息表,记录商品信息和购买者信息,如果给购买者信息加上性别,要求算出每个商品不同性别的购买人数。百分之八十女性用户,所以如果单纯对表进行分组聚合,会产生数据倾斜问题,由分组聚合产生。五种办法可以解决,两种hive参数,三种SQL,往SQL方向聊,以防他追问参数底层,参数这种东西最难聊了,别给自己挖坑
点赞 评论 收藏
分享
头像
05-09 16:23
已编辑
华南师范大学 Java
一面后1小时通知二面——————————#面试问题记录#整整一个小时的拷打,场景题+项目拷打 几乎无八股文🧠 个人背景与项目经历1.你自我介绍一下?2.你做的两个项目中,哪个是实习?哪个是练手项目?3.实习项目主要做了什么?用到了哪些技术和框架?4.练手项目是独立做的吗?用了哪些模块和功能?    5.你对这个练手项目熟悉吗?可以详细介绍一下它的功能模块?💻 技术能力 - 后端开发1.你项目的XX流程是怎么实现的?Redis + Lua 在其中起到什么作用?2.你项目的Redis 缓存预热结构是怎样的?怎么判断用户状态?3.你用 MQ 的目的是什么?为什么不是直接操作数据库?4.MQ 消费失败的情况下你是怎么处理的?有重试机制吗?5.死信队列和超时取消使用的是同一个吗队列?怎么区分消息类型?6.redis成功执行写入了但 MQ 落库消费失败怎么办?Redis 写成功就代表成功吗?7.JWT 是怎么生成和校验的?用了什么加密算法?8.用户主动登出是怎么实现的?🧵 多线程与分布式9.Redis 的原子性是怎么保证的?10.项目中你有没有考虑幂等性?怎么防止重复请求的幂等性?11.XX场景中是否能做到最终一致性?如何通知用户成功?☁ MQ & 延迟任务12.延迟队列的作用是什么?项目中用来处理哪类业务?13.死信队列是如何配置的?超时和消费者消费失败如何分别处理?14.如果 MQ 消息失败进入死信队列,你是如何排查和处理的?15.MQ 消息失败重试到上限后该怎么办?16.使用 RabbitMQ 是为了提高性能还是为了消息可靠性?17.项目中有没有处理 MQ 消息重复消费问题?🧩 MySQL & 数据库能力18.MySQL 的 B+树结构你了解吗?聚簇索引和非聚簇索引有什么区别?19.建立索引有什么原则?如何判断字段是否适合建索引?20.用“性别”字段建索引合适吗?为啥说选择性低不适合?21.全表扫描和使用区分度低的索引扫描哪种情况下更快?22.大分页 offset 性能差怎么优化?23.在实习中是怎么优化SQL的? 🎯场景题:高并发请求失败后处理方式💡 题目背景描述:你接入了一个第三方服务,该服务每天发送约 300 万次请求给你们系统。其中,每个请求都包含一个全局唯一的 requestId(一个 40 字节的 UUID 字符串)。如果因为网络中断、超时等原因导致第三方没有收到响应,它会重新发起完全相同的请求(带相同的 requestId),业务上有几个关键限制:    1、每个 requestId 表示一次业务处理,例如支付通知、回调、交易同步等。    2、你方必须保证对于每个 requestId,只能处理一次(典型的幂等性要求)。    3、不能重复请求第三方服务(第三方服务不具备幂等性)    4、由于网络波动或响应失败,同一个 requestId 有可能会在不同时间再次被发送过来,甚至有以下复杂时间分布:        4.1、绝大部分重复请求会在20 分钟内重发;        4.2、一小部分会在1 天内重发;        4.3、极个别(例如接口挂起重试)会在一年后突然重发。🤯 关键技术难点:    如何快速识别“是否已处理过某 requestId”?    如何既不误判(重复处理)又不滥用资源(存一年)?    如何兼顾吞吐量、IO压力、成本?
点赞 评论 收藏
分享
牛客网
牛客企业服务