快手业务一面(感觉要凉)

被拷打晕了,问的我头晕眼花,整体40min左右

先扯项目(xfg的大营销,时间不够只做了一阶段):

问项目做着玩的还是别人&*的?
没听清楚后面,我以为问我项目是不是扒的别人的,我就说设计有参考,但是是自己写过来的。结果后面问我有没有实际用户。我就说没有,上线了但是只做了一下压测,让朋友试了试,没有实际推广。(面试官回了一句哦做着玩的。)

介绍一下项目流程,整个抽奖的等等。
第一遍说完又让我重新说整体先,让我别先急着说这么细(但是我感觉说的已经够简略了。。),来来回回反正过了两遍才解释清楚最后极简版说了个接口调用-奖品装配-抽奖-库存扣减。

问用脚本并发抽奖怎么处理?
一开始还是没理解想让我说什么。。我还寻思抽他的呗,又不是顶不住(之前没了解过幂等,跪了),我就说可以正常扣减积分多次抽奖,如果压力过大就在redis加个3s过期的锁拦截一下,控制一下抽奖间隔。然后跟我理半天记不得说的啥了,但是最后统一问题就是同时多个请求打过来会不会造成多次抽奖只扣一次积分。一开始急了先说加个synchronized锁,虽然一开始就知道肯定不可行,但是当时也不知道说啥了,就先说了再说。然后说我性能问题解决不了。然后我想到用redis扣,就说走redis扣积分,再同步到数据库,用单线程模型来保证每次请求都能命中扣减积分,积分不够扣就直接返回。(没说话,感觉还是想让我只能成功处理一个请求,但当时不熟幂等,自然也没辙了,下一个问题)

可能是刚刚说了锁,转头问了八股,问了java有哪些乐观锁说了atomic,问底层实现,说了cas,再追问cas的实现,说了自旋,有aba加版本号或时间戳。

接着问volatile,问原理,没怎么看说不会,只记得作用。然后让我说了作用,转头又继续问了怎么保证的变量可见性(我刚刚不是说不会吗),然后还是说不会。继续问内存屏障了解吗,我说听说过但不是很清楚(只记得是保证不重排的东西?),结果还是被追问内存屏障原理,还是不会。。

转头继续拷打项目怎么保证扣取积分和扣取奖品库存的一致性。
前面被问懵了这里一开始也没听明白,沟通了一下意思是假如扣了积分然后抽奖途中程序挂了怎么办。不清楚,本来想糊弄过去,说发了扣库存信息之后会用redission延时队列的持久化特性来保证扣取信息不丢失。但被继续追问在发奖品之前,抽奖途中就挂了怎么办。不知道了,他说事务不了解吗(实在是忘了。。立马说在接口处加@Transactional,但感觉为时已晚。。)

算法,最长递增子数组,做过,忘了思路了。让我先说说思路,我说用dp,但具体实现忘了,让我先想想。想了两分钟想到方法,说了一半感觉捋不清楚,就说干脆直接写。然后几分钟写完,平台调试不了,他那边跑了有错。帮我检查代码发现又没啥问题。最后就不纠结,算a了也是。

反问:本来不想问了,人已经晕了。还是象征性问了下部门业务。没敢问表现,,自己挺清楚。。问完说再见赶紧下播跑路了。

目前最可怕的一次面试经历。。怎么练场景题呀,项目没用过的东西根本不清楚#牛客AI配图神器#
全部评论
你要是做着生产,就直接创业了,还踏马的面快手?
3 回复 分享
发布于 03-10 18:46 安徽
***面试官,他工作前就自己有项目了
1 回复 分享
发布于 03-15 01:38 陕西
我觉得你当时应该说 哦 原来你们组的项目都是你一个人做的呀 什么 不是你一个人做的 闹着玩呢
点赞 回复 分享
发布于 04-09 08:57 天津
这是测开还是后端啊这么难
点赞 回复 分享
发布于 04-04 10:48 香港
接好运
点赞 回复 分享
发布于 04-03 22:55 湖南
是不是xfg
点赞 回复 分享
发布于 03-24 18:50 四川
一样,快手贼压力,还叹气,不过第二天就奇怪的约二面了
点赞 回复 分享
发布于 03-15 10:39 重庆
哥们啥部门啊?
点赞 回复 分享
发布于 03-11 20:19 江苏

相关推荐

09-03 18:37
南开大学 Java
📍面试公司:阿里🕐面试时间:9月3号💻面试岗位:后端开发❓面试问题:一.八股:1. HashMap的底层实现原理是什么?2. Java中的垃圾回收机制有哪些常见算法?3. Spring的IoC容器是如何管理Bean生命周期的?4. 线程池的核心参数和工作流程是怎样的?5. 数据库索引为什么能提升查询性能?B+树的结构是什么?6. TCP三次握手和四次挥手的具体过程?7. 什么是分布式系统中的CAP定理?如何权衡?8. Redis的持久化方式RDB和AOF有什么区别?9. 消息队列如Kafka如何保证消息不丢失?10. 设计模式中工厂模式和抽象工厂模式的区别?11. Java中的synchronized和Lock锁有什么异同?12. Spring Boot的自动配置原理是什么?13. 微服务架构中服务发现和负载均衡如何实现?14. MySQL的事务隔离级别有哪些?各自解决什么问题?15. JVM内存模型中的堆和栈有什么区别?二.项目:- 仿拼多多拼团项目:1. 如何设计拼团功能的数据表结构来支持高并发?2. 在拼团过程中,如何处理超时未成团的订单退款?- AI agent项目:1. AI agent的后端架构是如何集成自然语言处理模型的?2. 如何优化AI响应的延迟和吞吐量?三.手撕:1. 力扣中等题:LRU缓存机制(LeetCode 146),要求实现一个LRU缓存类,支持get和put操作。2. 力扣中等题:三数之和(LeetCode 15),找出数组中所有不重复的三元组,使得和为0。
查看21道真题和解析
点赞 评论 收藏
分享
09-03 21:48
南开大学 Java
📍面试公司:饿了么🕐面试时间:9月3号💻面试岗位:后端开发❓面试问题:一. 八股:1. Java中HashMap的底层实现原理是什么?2. ConcurrentHashMap如何保证线程安全?3. JVM内存模型和垃圾回收机制常见算法有哪些?4. Spring框架中IOC和AOP的核心概念及实现方式?5. Spring Boot自动配置是如何工作的?6. MySQL索引优化和B+树的结构特点?7. Redis缓存穿透、击穿和雪崩的解决方案?8. 分布式锁的常见实现方式,比如基于Redis或ZooKeeper?9. CAP理论和BASE理论在分布式系统中的应用?10. 微服务架构中服务发现和负载均衡的原理?11. (高难度)JVM调优实战中,常见参数如-Xmx和-XX:UseG1GC的配置经验?12. (高难度)分布式事务解决方案,如两阶段提交或TCC模式的优缺点?二. 项目:- 仿拼多多拼团项目:1. 如何设计数据库表结构来支持拼团功能,并处理并发拼团请求?2. 在拼团超时或失败时,如何实现自动退款和状态更新?- AI agent项目:1. AI agent如何集成第三方API(如OpenAI),并处理速率限制和错误重试?2. 如何优化AI响应延迟,包括缓存和异步处理策略?三. 手撕:- 题目:力扣第146题,LRU缓存机制(中等难度),要求实现一个LRU缓存类,支持get和put操作。
查看17道真题和解析
点赞 评论 收藏
分享
评论
7
44
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务