2026年顺丰快递IT面试题目集.docxVIP

  • 0
  • 0
  • 约8.26千字
  • 约 23页
  • 2026-01-10 发布于福建
  • 举报

第PAGE页共NUMPAGES页

2026年顺丰快递IT面试题目集

一、编程能力测试(共5题,每题10分,总分50分)

题目1(Java基础编程,10分)

题目:请编写一段Java代码,实现一个方法`calculateMaxProfit`,接收一个整数数组`prices`作为参数,其中`prices[i]`表示某股票第i天的价格。方法需要计算并返回你能获得的最大利润。如果你不能获得利润,返回0。

示例:

java

输入:[7,1,5,3,6,4]

输出:5

解释:在第2天(价格=1)买入,在第5天(价格=6)卖出,利润为6-1=5。

答案:

java

publicclassStockProfit{

publicintcalculateMaxProfit(int[]prices){

if(prices==null||prices.length2){

return0;

}

intminPrice=prices[0];

intmaxProfit=0;

for(inti=1;iprices.length;i++){

if(prices[i]minPrice){

maxProfit=Math.max(maxProfit,prices[i]-minPrice);

}else{

minPrice=prices[i];

}

}

returnmaxProfit;

}

}

解析:

该算法采用单次遍历的动态规划思想。初始化最低价格为第一天价格,最大利润为0。遍历数组时,如果当前价格高于最低价格,则计算利润并与最大利润比较;如果当前价格低于最低价格,则更新最低价格。时间复杂度为O(n),空间复杂度为O(1)。

题目2(Python脚本编写,10分)

题目:请编写一段Python代码,实现一个函数`group_by_category`,接收一个包含商品信息的列表`products`作为参数。每个商品是一个字典,包含`name`(商品名称)、`category`(商品类别)和`price`(商品价格)三个键。函数需要返回一个字典,其中键为商品类别,值为该类别下所有商品的总价格列表(按价格升序排列)。

示例:

python

输入:[

{name:苹果,category:水果,price:5},

{name:香蕉,category:水果,price:3},

{name:牛奶,category:饮品,price:8},

{name:面包,category:烘焙,price:4}

]

输出:

{

水果:[3,5],

饮品:[8],

烘焙:[4]

}

答案:

python

defgroup_by_category(products):

result={}

forproductinproducts:

category=product[category]

price=product[price]

ifcategorynotinresult:

result[category]=[]

result[category].append(price)

对每个类别的价格进行排序

forcategoryinresult:

result[category].sort()

returnresult

解析:

首先创建一个空字典用于存储结果。遍历输入的商品列表,将每个商品按类别分组,并将价格添加到对应类别的列表中。最后对每个类别的价格列表进行升序排序。时间复杂度主要取决于排序操作,为O(nlogn),其中n为商品总数。

题目3(SQL查询,10分)

题目:请编写一条SQL查询语句,从`shipments`表中选择2025年1月1日至2025年12月31日期间,每个快递路线(`route_id`)的包裹总数和平均运输时间(`delivery_time`)。结果需要按`route_id`升序排列。

表结构:

sql

CREATETABLEshipments(

idINTPRIMARYKEY,

route_idVARCHAR(20),

delivery_timeINT,--单位:小时

shipment_dateDATE

);

示例:

sql

输出:

route_id|total_shipments|avg_delivery_time

|-|

R001|120|3.5

R002|85|4.2

...

答案:

sql

SELECT

route_id,

COUNT()AStotal_shipments

文档评论(0)

1亿VIP精品文档

相关文档