饿了么一面

update:
8-31 面试官有会议,改周一二面了,趁着有空,更个一面面经,顺便球球明天美团二面和周一饿了么二面顺利
----------------------
update:
8-28(周一中午) 电话告诉通过约二面
----------------------
8-25(周五晚上) 一面(60min)
自我介绍(3min)
项目交流(15min)
八股问答(30min)
因为面试官没问简历技术点之外的问题,比较熟悉,基本都答上来了,快问快答
JSE
1-synchronized 的底层原理;
2-monitor 实现原理;
3-synchronized 锁静态方法和锁非静态方法的区别,原理;
4-讲讲你碰到的OOM场景。
JVM
1-如何判定是否需要回收,讲讲三色算法;
2-GCROOT 有哪些?为什么被 synchronized 修饰的对象是 GCROOT;
3-讲讲 G1 四个工作流程;
4-栈帧是什么?栈帧里面有什么。
MySQL
1-MySQL redo 日志的作用;
2-二阶段提交;
3-MySQL 日志刷盘策略;
4-MySQL 主从复制延迟解决方案。
Redis
1-Redis 为什么快;
2-Redis 有哪些后台线程;
3-讲讲 lazy_free;
4-跳表的结构,讲讲 packlist;
5-Redis 写时复制原理,什么是页表;
6-讲讲 Redis 分布式锁,主从复制下分布式锁的问题。
7-讲讲 Redis IO 多路复用。
Spring
1-Spring 如何做异常捕捉;
2-异常捕捉注解的原理是什么-AOP;这里面用到了哪些注解;讲讲AOP;
场景题(5min):
1-MySQL 订单和用户信息分片存储,如何不停机迁移?
答了 sharding-JDBC 和双写策略,面官不满意,跳过了。
2-手撕一个 SQL,表内有许多重复注册信息(用户名相同,id不同),用户表体量巨大,现在重名用户只保留id最小的一条消息,如何写 SQL。
用了子查询,外层删除
面官不满意,认为没有考虑表的体量,重新答了创建新表并加唯一用户名索引,再将旧表写入新表,面官还是不太满意,跳过了
反问(1min)
周五了祝您周末快乐
#饿了么#
全部评论
宝哥😍
1 回复 分享
发布于 2023-08-31 18:40 云南
佬,面完出结果了吗
点赞 回复 分享
发布于 2023-09-02 00:00 浙江
老哥elm是零售嘛
点赞 回复 分享
发布于 2023-09-01 17:20 安徽

相关推荐

总结:面了一个小时,前半段问项目,后半段问八股,两道编程题。面试官很热情,介绍了半天他们的业务,像是在汇报哈哈哈哈。八股部分1.单例模式有用过吗,怎么实现的(不知道怎么实现)回答:用得比较多的地方是数据库连接池,全局只能有一个连接池,并且提供全局访问。以下是搜索结果:有五种经典的实现方式。第一种是饿汉式(线程安全)他在类加载的时候就立即初始化实例,使用场景是实例占用资源少,且频繁使用。第二种是懒汉式(非线程安全)延迟初始化,在使用的时候,如果没有这个实例才初始化,在多线程环境下会创建多个实例。第三种是线程安全懒汉式,通过synchronized保证线程安全,但性能差。(因为锁的粒度很粗)不建议高频调用。第四种是双重检查锁(DCL)。特点是延迟初始化,并且线程安全第五种是静态内部类(推荐)。特点是利用类加载机制保证线程安全,延迟初始化且无锁。2.JVM运行时数据区回答:有堆,栈,方法区。堆存储对象实例,数组;栈存储线程的调用栈帧;方法去存储对象信息和方法信息。3.事务ACID了解吗回答:原子性,持久性,一致性,隔离性。        1.原子性由undolog实现        2.隔离性由锁或者MVCC实现(吟唱一下隔离性的四个级别)        3.持久性由redolog实现        4.一致性由前三者一起保证实现。场景业务题1.在一个发优惠券的场景,我有一个10w行的用户数据表,要取出里面的用户信息放入模型中,返回优惠券的结果,(模拟用户领券的过程)。我需要做的是,验证这些数据是否满足一定的断言(例如面额超过50块,补贴力度过大)。由于一台机器的内存不足以存放这些数据,你有四台机器,请你设计一个批量请求的工具,以分布式的方式去跑这些数据,你会做那些设计?回答:我也没听太懂这些问题。以下是搜索结果。我将设计一个分布式批量处理工具来解决发券场景中的大数据验证问题,核心目标是实现高效分片处理、动态负载均衡、分布式断言校验和结果聚合。以下是详细设计方案:整体架构设计核心组件设计 1.分布式协调器(Coordinator)部署在Master节点,负责全局调度 2.工作节点(Worker)部署在4台工作机器,负责实际处理 3.断言验证引擎该设计可实现10w用户数据的分布式处理,核心优势:1. 横向扩展 :通过增加Worker节点可线性提升处理能力2. 故障容忍 :自动重试和检查点机制保证可靠性3. 资源优化 :流式处理避免内存溢出4. 实时监控 :全过程可视化跟踪2.饿了么的搜索功能,请你针对这个搜索功能写一些功能点。比如输入奶茶关键词,返回一些结果。回答:我只回答了搜索框不能为空,对返回结果进行排序等等。以下是搜索结果。1.搜索前引导功能a.热词推荐i.功能描述:搜索框下方动态展示当前商圈热门关键词(如奶茶,果茶)ii.奶茶示例:用户点击奶茶热词,直接跳转到相关商品列表页b.历史搜索i.功能描述 :根据用户过往搜索记录(如“芋泥奶茶”)生成个性化推荐。ii.数据支撑 :历史搜索订单转化率仅次于商家直达c.场景化引导i.功能描述​:分时段(早餐/下午茶)推送关联词(如下午茶时段优先显示“奶茶+甜品”组合)。d.语音/图像搜索i.​功能描述​:支持语音输入“奶茶”或拍摄奶茶图片触发搜索,系统自动转文字并匹配商品。2.关键词处理功能a.​智能纠错与联想​i.功能描述​:自动纠正拼写错误(如“奶车→奶茶”),并联想高频词(如“奶茶→珍珠奶茶”“芝士奶盖”)。ii.技术实现​:基于搜索日志构建纠错词库与拼音转换模型b.​同义词与品类扩展​i.​功能描述​:搜索“奶茶”时同步召回“果茶”“乳茶”等同品类商品。c.​意图识别​d.​功能描述​:i.若用户多次搜索“低卡奶茶”,优先展示低糖商品;ii.若搜索“奶茶+外卖速度”,则突出配送时效快的商家。3.搜索结果展示功能a.​多维度排序​i.​排序逻辑​:综合销量(70%)、评分(20%)、配送速度(10%)等权重生成列表。ii.​奶茶示例​:高销量“喜茶”排列在低销量小众品牌前。b.​分层筛选器​i.​筛选条件​:ii.价格区间(如“10-20元”);iii.口味(“芋泥”“黑糖”);iv.商家服务(“免配送费”“会员折扣”)。c.​商家直达与商品级搜索​i.​功能描述​:ii.输入“奈雪の茶”直接进入店铺页;iii.搜索“霸气葡萄”显示该单品而非全店商品。d.​商业化融合​i.​功能描述​:在结果页插入“奶茶排行榜”或限时优惠活动(如“第二杯半价”)。4.搜索后优化功能a.​个性化结果缓存​i.​功能描述​:用户多次搜索“奶茶”后,首页历史搜索栏固定显示该关键词。b.​搜索分析看板​c.​后台功能​:统计“奶茶”搜索量、点击率、转化率,指导商家优化菜品命名(如将“红茶拿铁”改为“鸳鸯奶茶”)。3.测试人员除了写测试用例之外,还要做那些事情?1.会参与需求的分析与测试策略制定a. 参与需求评审会议,分析需求的可测试性b. 指定测试计划2.测试设计和用例开发a.测试场景建模b.测试用例编写3.测试执行与缺陷管理a.分层测试实施(单元,集成,系统测试)b.缺陷全生命周期管理4.质量评估与报告输出a.质量指标分析b.测试报告编制5.自动化测试实施a.接口自动化b.UI自动化6.跨团队协作a.开发写作b.产品沟通7.测试过程改进8.技术研究与创新笔试题1.SQL题目:用sql找出不同课程的成绩的第二名和第三名WITH RankedScores AS (    SELECT         student_id,        course_id,        score,        RANK() OVER (PARTITION BY course_id ORDER BY score DESC) AS rank    FROM scores)SELECT     course_id,    student_id,    score,    rankFROM RankedScoresWHERE rank IN (2, 3)ORDER BY course_id, rank;2.LeetCode梦的开始:两数之和反问环节1.你们的业务内容回答:主要负责搜索功能和营销功能,搜索就是饿了么的搜索框部分,营销主要负责爆红包等等。日常还要做一些系统的压力测试,以及与其他团队一起做集成测试。年度还会做测试平台开发,质量和效率提升的OKR。2.工作节奏回答:9点半上班,周一到周四可能下班晚一点,周五正常6点下班,周末双休。3.开发技术栈回答:主要是Java
饿了么一面133人在聊 查看11道真题和解析
点赞 评论 收藏
分享
05-26 16:18
门头沟学院 Java
从4月1号的第一次面试到5月13号的滴滴二面,暑期实习也是终于画上句号了。从3月初就开始投 ,投了几十个公司,有笔试有面试的一共有20多个公司。timeline大概如下:3.8      米哈游笔试挂3.16    快手简历挂3.27    蚂蚁笔试后挂3.28    饿了么笔试后挂4.1      美团一面挂4.2      京东一面过4.7      京东二面挂,15分钟结束,kpi4.9      美团捞了一次,可惜没撕出来,又挂4.23    腾讯wxg一面秒挂,太菜了5.7      华为技术面和hr面通过,泡池子中5.8      滴滴一面5.13    滴滴二面5.23    滴滴口头oc5.26    滴滴offer滴滴一面面经1.介绍一下你的项目2.介绍一下短信登录具体是怎么优化的,redis的key和value都是什么3.在更新策略中,为什么采用先操作数据库再删除缓存的策略,为什么不用先删除缓存再操作数据库的策略?先操作数据库再删除缓存的策略是否有问题,应该如何解决?4.如何在不用reentrantlock锁的情况下,用redis分布式锁实现可重入锁?key和value都是什么?5.在优惠券的一人一单模块中,key和value都是什么6.项目中是如何用乐观锁解决缓存超卖的?考虑一个场景,如果一个商户要从供货商进货,还要进行售货,详细说一下用乐观锁的流程?7.现在有一个100层的楼,现在如果想用两个球测试,球从哪一层开始扔会碎,在这一层以上扔的话,球都会碎,在这层往下扔,球不会碎。请问最少需要扔多少次?8.手撕题:打印金字塔9.手撕题:数组中的第k个最大值元素滴滴二面总结1.在项目中,GEO具体是怎么使用的?商户和商户之间计算距离的具体算法是什么?如果多个人都进行附近商户查询时,会不会出现性能问题?2.feed流的推模式和拉模式?一般情况下,拉模式用的比较多,为什么你采用推模式呢?是否注意过朋友圈和微博消息推送时,技术实现的区别?3.在java集合中,有哪些线程安全的集合?你提到了threadlocal,threadlocal具体是做什么的,原理?有哪些问题?你提到了内存泄漏,内存泄漏有时只是几个变量的大小,不会造成多大空间的泄露,还有其他的问题吗?4.JVM的内存模型?5.mysql的事务的隔离级别?6.MySQL的索引有哪些?说一下B树和B+树的原理?B+树在插入节点时,会出现哪些树形结构的变化?7.线程池的参数有哪些?你在项目中是否用到了线程池?在真正使用中,如何选取线程池的参数?如果在一个I/O密集型系统中,如果让核心线程数直接等于CPU核数x2是否不合适,考虑一个场景:如果一个系统需要qps=10000,系统的请求处理时间为100ms,那么核心线程数该怎么设置?8.手撕:在100000个数据中,找到最大的10个数据,topk问题。中间也自闭焦虑过,最后感谢滴滴收留了我,大桔大利。
查看17道真题和解析
点赞 评论 收藏
分享
05-30 19:03
门头沟学院 Java
4.17投的简历4.30约我一面5.8一面Redis实现Session共享的延伸:如果用的是本地缓存,如何实现数据一致性?会有什么问题?Redis的RDB持久化和AOF持久化Mysql什么能保证数据崩溃重启不丢失?Mysql的binlog日志Redis的Cache Aside Pattern和Read/Write Through Pattern 缓存穿透的解决如何实现视频的点赞取消,判断用户是否点赞,点赞的次数(Redis)如果不使用设计模式是否可以?设计模式是为了干嘛的?TCP四次挥手(如果存在用命令查到,系统中存在大量Close wait状态,是因为什么?)双亲委派模型(大体上是这些,其他的有些忘了)是否有offer了?反问:有什么可以改进的地方?接下来还有几轮面试?代码题:在保证线程并发安全的情况下,并发读取多个文件的字符串,并且合并统计出现次数,确保5秒的超时时间。面试官人很好,会一直提示你,并且出的题都是根据场景来的,我最后代码题,有一点点没写出来的代码,面试官也帮我点出来了。也是经过两周hr给我打电话说部门没hc了,意料之内,情理之中复活换了个部门进行二面,5.23二面,一共1小时15分钟左右二面全程拷打项目,我写的是点评加12306,不过本人写了两段大数据开发的实习经历(没问)面试官问,我一边回想一边说自己做了什么项目改进3天后告知2面通过,约了5.29进行3面5.29三面发现是TL和HR一起面的,TL拷打我项目几个问题, 我记得最深刻的一个是我用lua脚本代替分布式锁来进行抢单,lua脚本好在哪里?没回答中点,擦边回答了,最抽象的是hr换岗之后没跟我说部门是哪里的(不是三面的hr),然后他问我知道公司在哪里么,我回答了一堆意向杭州的话,听到他们说北京的时候有点红温了,赶紧圆了一下。反问:培养方案是否有机会转正进去负责的业务5.30 oc,感觉几个月以来的付出都有了回报,这几个月都看着大佬们的oc非常羡慕,终于自己也等来了收获,来此还愿,积攒人品,我希望大家在周围人都oc,坚持不下去的时候都咬牙坚持下来,别放弃自己,越痛苦沉重的时候,越要学习,机会来临的时候,很可能只有这一次,请把握住!
查看17道真题和解析
点赞 评论 收藏
分享
06-18 21:31
已编辑
南京航空航天大学 Java
总结:一共半小时,比想象中要长,问了比较多场景题, 面试风格和技术面完全不同。提问环节1.你能否先做一个自我介绍,开始今天的面试?2.你的求职意向中,是否考虑除了网络安全方向外,还会考虑java后端、测试开发等其他岗位?3.问:你是否已经确定要去做测试开发方向的工作,还是同步考虑后端岗位?答:我认为都可以考虑,现在还没有限制得很死,还在探索阶段。4.问:你在找实习时,除了测开岗位外,是否也投递了一些后端岗位?答:其实都有在投递,不会限制得很死,前端后端都会考虑。5.问:你目前是否拿到较为满意的offer,为什么可能会优先考虑我们公司?答:确还有一些offer在流程中,我对贵公司的价值观比较认同,所以可能会优先考虑。6.问:能否分享一个你在硕士期间做的相对满意、有成就感或具有挑战性的项目,包括项目背景、目的、你在其中的工作内容以及满意之处?7.问:在项目推进过程中,有哪些比较满意的点,如果重新来过,有哪些层面可以做得更好?8.问:你是否有实习经历,在之前的实习岗位是做什么的?9.问:你在实习期间实习了多久?10.问:在企业实习(如实习神经学、大数据和网络安全等岗位)与学校跟随导师做实验室项目,两者之间有什么核心差异?答:核心差异在于研究生阶段的研究工作更多是探索性的工作,在前人基础上挖掘新的领域;而在企业实习则是针对已有的岗位和明确的工作职责,主要任务是掌握当前的工作岗位,不需要过多的探索性工作。11.问:在之前实习的过程中,遇到的最大挑战是什么?答:最大的挑战是适应体制内工作,学会半文半事,与不同人打交道,包括参加会议并做会议纪要等文书工作。12.问:在实习期间,你在做人和做事能力上有哪些具体的提升?13.问:你是否有设想过如果来到互联网公司实习后可能会遇到哪些困难,并且是否决心从事互联网行业?答:认为人生是探索,虽然了解到互联网行业的差异,但尚未深入了解,打算通过实习期间的探索,尝试进入互联网行业作为未来可能的第一份工作。14.问:如果我给你这样一个暑期实习offer,你过来之后,在上手和工作推进过程中,你觉得会遇到哪些层面的挑战或困难?答:我觉得我的岗位是测试开发,主要挑战包括编写和执行测试文档,以及进行自动化测试和基础平台的研发。这些工作都是我之前没有接触过的,需要在短期内熟悉公司的流程和技术要求,例如学习自动化测试所需的Python语言或基础平台开发能力,以及熟悉测试文档的结构、编写到执行的全流程和缺陷生命周期管理。15.问:做好这个暑期实习岗位的核心能力层面有哪些?答:核心能力层面首先是编码能力,因为进行技术平台开发时编码是必需的。其次,沟通能力也很重要,需要与产品经理、开发人员进行有效沟通。所以提升编码能力和沟通能力都是必要的。16.问:你觉得我们公司或实习岗位对你来说比较好的地方主要在哪些层面?答:我觉得主要优势在于公司的定位,作为阿里系公司,拥有足够大的平台,这对于个人能力是一种很好的背书。此外,工作地点在杭州或上海,这两个地方我都喜欢,并且对测试开发相关工作内容较为熟悉,有助于能力增长。17.问:你能否客观分析一下,觉得自己与其他申请者相比,在哪些方面具有优势和劣势?18.问:你是否可以接受上海和杭州这两个地点作为实习地点?19.问:实习时间上,你最快什么时候能开始,最晚可以实习到什么时候?反问环节1.问:公司主业是否偏向某一地?答:公司没有所谓的主业或总部概念,外卖业务上上海和杭州是双核心定位,而从阿里整体来看,杭州是总部所在地。2.问:上海这边的团队主要负责哪一块业务?答:上海团队主要负责首页APP交易到购物车、下单页的链路测试,同时负责创新型业务如拼团、秒杀、卡券类业务闭环开发,以及营销工具玩法(超级吃货卡、红包、吃货豆等)的设计与测试。3.问:是否可以了解一下工作节奏?答:实习期间,公司对实习生的工作量期望并不高,更关注实习生主动学习能力和对业务的理解深度。正常情况下,正式员工晚上一般在8点至9点半之间下班,但若项目上线节奏紧张时,可能会有所加班。
查看19道真题和解析
点赞 评论 收藏
分享
评论
5
31
分享

创作者周榜

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