饿了么内推饿了么面经
饿了么算法笔试
- 订单编号排序:给定一个包含饿了么订单编号的字符串数组,订单编号由数字和字母组成,例如
["ELEME20250308001", "ELEME20250307002", "ELEME20250308003"]
,要求按照订单日期(字符串中的数字部分)进行升序排序,编写一个函数实现该功能。 - 菜品名称统计:假设有一个字符串数组表示订单中的菜品名称,例如
["宫保鸡丁", "鱼香肉丝", "宫保鸡丁", "麻婆豆腐"]
,编写一个函数统计每个菜品名称出现的次数,并以键值对的形式返回结果,如{"宫保鸡丁": 2, "鱼香肉丝": 1, "麻婆豆腐": 1}
。 - 配送路径规划:假设用一个图来表示城市中的各个地点以及它们之间的道路连接关系,图中的节点表示地点,边表示道路,边的权重表示道路的长度。给定起始地点(商家位置)和目标地点(用户位置),使用 Dijkstra 算法或 A * 算法等图搜索算法来找到最短配送路径,并返回路径和路径长度。
- 区域划分问题:将城市区域抽象为一个无向图,节点表示小区或商圈等区域,边表示区域之间的关联关系。现在要将城市划分为若干个配送区域,使得每个配送区域内的节点之间的连接紧密,而不同配送区域之间的连接相对较少。可以使用图的聚类算法,如 K-Means 聚类算法在图上的变体等,来实现区域划分,并返回划分结果。
- 订单分配问题:假设有
n
个订单和m
个配送员,每个配送员处理每个订单都有一个对应的成本(例如时间成本、距离成本等),用一个二维数组cost[n][m]
表示。要求将订单分配给配送员,使得完成所有订单的总成本最小。可以使用动态规划算法来解决这个问题,定义状态和状态转移方程,编写函数返回最小成本和对应的订单分配方案。 - 优惠券组合问题:饿了么有多种优惠券,每种优惠券有一定的面值和使用条件,例如满
x
元减y
元。给定一个订单金额total_amount
和一个优惠券列表,使用动态规划算法找出可以使订单金额最小的优惠券组合方式。 - 骑手派单策略:有一批订单需要分配给骑手,每个订单有一个取餐时间和送餐时间要求,以及订单金额。每个骑手在同一时间只能处理一个订单。使用贪心算法设计一个派单策略,使得在满足订单时间要求的前提下,骑手能够获得最大的总订单金额。例如,可以按照订单金额与预计完成订单所需时间的比值进行降序排序,优先分配比值大的订单给骑手。
- 资源分配问题:饿了么在某个区域有一定数量的共享保温箱资源,每个商家对保温箱的需求数量不同,且每个商家使用保温箱后能够带来的收益也不同。使用贪心算法将保温箱分配给商家,以最大化总收益。例如,可以按照商家的收益与需求数量的比值进行降序排序,依次分配保温箱给商家,直到保温箱分配完或所有商家都已分配到足够的保温箱。
再来八个,祝大家都拿到满意的offer!
饿了么内推饿了么面经
阿里饿了么26可转正实习|2月27日正式启动!
️每人可投递一次,包含两个志愿,快快行动起来吧!
热招岗位:研发类、算法类、数据类、设计类等,大量岗位等你来投!
🌍base北京/上海/杭州
📌岗位面向2025年11月-2026年10月期间毕业并拿到毕业证的海内外应届毕业生
🔹投递方式:https://talent.ele.me/campus/qrcode/home?code=P5368qSwikRqDddjIvppesioCxERb1ens38Sj14pu_o%3D
📚 内推简历优先处理,可帮查看进度、推动流程!大家投递完可以在评论区打上姓名缩写+岗位,我来确认有没有内推成功喽