美团校园招聘研发笔试题

时间:2020-11-06 10:16:51 笔试题目 我要投稿

美团2015校园招聘研发笔试题

  一. 单项选择题

  美团有个传统,就是公司各部门每月都要组织员工进行一次团建互动(team building,简称TB),每个员工都可以带家属参加。活动内容出了吃喝玩之外,还要做一些互动的游戏,需要从员工中随机选出几名组成一队来完成游戏。一次TB活动,一共有20个人(含员工和家属)参加。已知如果随机选取3位员工以及该3位员工的家属,一共有220组合。问如果每次随机选取4个员工及该4位员工的家属,会有多少组合?

  A.405 B.455 C.495 D.505

  二. 问答题

  2. 一组随机排列的字母数组。请编写一个时间复杂度为O(n)的算法,使得这些字母按照字母从小到大顺序排好。

  说明:字母区分大小写,相同的字母,排序后小写排在大写前

  例如:R,B,B,b,W,W,B,R,B,w

  排序为:b,B,B,B,B,R,R,w,W,W

  1)描述思路(2分)

  2)请用你熟悉的编程语言编码实现(8分)

  3. 给定整数x,定义函数A(n)=1+x+x2+x3+…+xn(n为整数且n>=0).已知乘运算的时间远大于加运算,输入x,n;如何尽可能快的求出A(n)?

  要求:

  1)描述思路(2分)

  2)评估你的算法需要进行多少次乘法?(3分)3)请用你熟悉的编程语言编码实现(5分)

  4. 实现方法:print_rotate_matrix(int[] matrix, int n), 将一个n×n二维数组逆时针旋转45度后打印,例如,下图显示一个3×3的二维数组及其旋转后屏幕输出的效果

  5. 已知队列(Queue)支持先进先出的操作add/remove,而栈(Stack)则支持先进后出的操作push/pop,请用两个队列实现栈先进后出的操作,希望该栈的push/pop时间复杂度尽量小。

  1) 简述思路(3分)

  2) 已知这两个队列的容量为M,该栈的容量是多少(1分)

  3) 假设队列的每次Add/Remove操作时间复杂度O(1),N代表存储在栈里的'元素个数,请评估该栈的push/pop操作时间复杂度(1分)

  4) 写出push/pop的代码,需要考虑栈溢出(stackoverflow)的情况(3分)

  6. 任务务调度在分布式调度系统中是一个很复杂很有挑战的问题。这里我们考虑一个简化的场景:假设一个中央调度机,有n个相同的任务需要调度到m台服务器上去执行。由于每台服务器的配置不一样,因此服务器执行一个任务所花费的时间也不同。现在假设第i个服务器执行一个任务需要的时间为t[i]。

  例如:有2个执行机a, b. 执行一个任务分别需要7min,10min,有6个任务待调度。如果平分这6个任务,即a,b各分三个任务,则最短需要30min执行完所有。如果a分这4个任务,b分2个,则最短28min执行完。

  请设计调度算法,使得所有任务完成所需的时间最短

  1) 简述思路

  2) 请用你熟悉的编程语言编码实现以下方法,输入为m台服务器,每台机器处理一个任务的时间为t[i],完成n个任务,输出n个任务在m台服务器的分布:

  int estimate_process_time(int[] t, int m, int n);

  7. n个元素{1,2,……,n}有n!个不同的排列。将这n!个排列按字典序列排列。并编号为0,1,……,n!-1。每个排列的编号为其字典序的值。例如,当n=3是,其字典排序为:123,132,213,131,312,321,这6个数的字典序值分别为0,1,2,3,4,5。现给定任意n,输出字典序为k的排列(0<=k<=n!-1)7. n个元素{1,2,……,n}有n!个不同的排列。将这n!个排列按字典序列排列。并编号为0,1,……,n!-1。每个排列的编号为其字典序的值。例如,当n=3是,其字典排序为:123,132,213,131,312,321,这6个数的字典序值分别为0,1,2,3,4,5。现给定任意n,输出字典序为k的排列(0<=k<=n!-1)。

  8. 给定N个磁盘,每个磁盘大小为D,i=0...N-1,现在要在这N个磁盘上"顺序分配"M个分区,每个分区大小为P[j], j=0....M-1,顺序分配的意思是:分配一个分区P[j]时,如果当前磁盘剩余空间足够,则在当前磁盘分配;如果不够,则 尝试下一个磁盘,直到找到一个磁盘D[i+k]可以容纳该分区,分配下一个分区P[j+1]时,则从当前磁盘D[i+k]的剩余 空间开始分配,不在使用D[i+k]之前磁盘末分配的空间,如果这M个分区不能在这N个磁盘完全分配,则认为分配失败,请实现函数,is_allocable判断给定N个磁盘(数组D)和M个分区(数组P),是否会出现分配失败的情况。 举例:磁盘为[120,120,120],分区为[60,60,80,20,80]可分配 ,如果为[60,80,80,20,80]则分配失败。

  9. 实现一个监听load事件的接口window.load(callback):多次调用时保证执行顺序,先绑定的回调先执行:如果load事件已触发,调用时会直接执行该回调

  10. IOS系统提供了那些手势?请选择一个自己写代码实现

  UITapGestureRecognizer敲击手势(单击和双击)

  UIPanGestureRecognizer(拖动手势)

  UIPinchGestureRecognizer(缩放手势)

  UISwipeGestureRecognizer(擦碰手势)

  UIRotationGestureRecognizer(旋转手势)

  UILongPressGestureRecognizer(长按手势

  11. 下面是美团Andriod客户端,团购列表中的一项团购,如果是你,你会怎么写它的layout布局?(请用Andriod的基本控件,编写layout xml实现)

  12. 某电商公司在做一个促销活动,促销商品共10000件,只限从手机客户端购买,每个用户&每个手机设备只限2件。商品原价M元(>10.0元),促销单价为N元(>10.0元,M>N),活动时间为9月9日上午10:00开始,18:00结束,18:00前售完展示促销商品售罄,非活动时间或促销商品售罄后或超出购买限制,均可按原价购买;商品的支付方式可为网银、代金券(面值5元,每单只限使用2张以内),网银、代金券支付方式可任意组合;促销商品支持退货,退货时按购买金额退款,现金和/或代金券原路退回。请列出此活动的测试要点

  13. 图A是1MB容量的存储器,图B有两个512KB容量的存储器。如果使用两个512KB容量的存储器代替图A1MB容量的存储器,图B中方框内应该是什么样的电路?并说明原理。

【美团2015校园招聘研发笔试题】相关文章:

阿里校园招聘研发工程师笔试题07-26

去哪儿2015校园招聘产品经理笔试题11-24

快的打车产品类2015校园招聘笔试题10-03

2015奇虎360校园招聘技术类笔试题目09-05

望海康信研发招聘笔试题目11-16

阿里巴巴秋季校园招聘研发工程师在线笔试题07-26

南方报业校园招聘笔试题07-26

2015阿里校招研发工程师笔试题08-13

美甲笔如何保养10-07