欢迎光临散文网 会员登陆 & 注册

做错即淘汰!顺丰10月技术内测题你能及格吗?

2020-10-16 10:54 作者:朝夕教育  | 我要投稿


一个月前被拉进了一个微信群,名字叫《明日都是大佬》,群里有20多个人,都是正在跳槽的,目标是年薪30w!投简历、笔试、面试后都相互分享,互通有无你懂的。拉我进群是帮忙解答一些难题,很多题目还是蛮有意思的,近期计划整理下然后给大家分享,其中一道顺丰技术内测题引起了我们的讨论!

不得不说,进群不到一个月,2/3的人都已经拿到心仪的offer!

顺丰-配送凑单

顺丰快递在高级开发岗位的笔试题里面有这么个问题:

假设一台卡车可以装载100立方米的货物,然后货物信息如下,如何搭配才能让卡车装下最大重量的货物(编码实现)?如果再限制总重量不能得超过20吨,结果如何?

货物清单:

货物A: 3立方米 0.4吨

货物B: 5立方米 0.7吨

货物C: 7立方米 1.0吨

货物D: 11立方米 1.7吨

货物E: 13立方米 2.2吨


这题说答案没意思,因为思路才是考核的地方。首先肯定不能穷举,累死都算不出来,肯定得有个算法完成。下面来一波思路分析:

1

卡车能装下,也就是物品总体积不能超过100立方米。

2

重量最大,也就是是找单位体积重量最大的,发现货物越大,平均重量越大,所以优先体积大的。

3

体积大的并不能充分填满空间,再去填充体积小的,这是贪婪算法的实现,但不一定得到最优解,在总空间固定的情况下,该如何获取最佳结果呢?动态规划!

动态规划:动态规划则是从底部开始,解决小的问题同时把它们合并形成大问题的一个完整解决方案。

4

动态规划的思路是分别从货物A找出最优解,加入货物B后的最优解,加入货物C后的最优解,加入货物D后的最优解,加入货物E后的最优解,甚至还可以有更多的货物都可以的


网易-地图寻址

网易游戏后端.NET Core开发岗面试里面,有个很有趣的问题是游戏地图寻址,问题大致描述如下(非原题):


下面是一个游戏地图抽象,箭头代表可以前进的方向,数字代表距离。如果玩家要从位置A移动到到位置E,用穷举法算出的最短距离和路径是多少?用贪心算法呢?二者该如何选择?


穷举法:最短路径A-C-B-E,距离是28

贪心算法:最短路径A-C-F-E,距离是30

穷举法只是用在结果集较少的情况下,通过罗列全部的结果得到最优解,而贪心算法(寻址的时候还有个专门的名字叫Dijkstra),是利用局部最优解最终拼装得到全局的结果,有可能不是最好结果(如本题),但能在大数据标本下,能获得的相对优秀解的一种算法。



做错即淘汰!顺丰10月技术内测题你能及格吗?的评论 (共 条)

分享到微博请遵守国家法律