美团2014校招笔试

周一美团笔试,踌躇满志的去了,可是看到卷子,顿时感觉智商不够用了。

投的系统运维工程师,考前看了某公司的运维笔试题,一大堆awk,sed的题目,搞的我好郁闷,虽然平时也用,却都是临时百度,没系统学过。但是,比起美团的来说,这些还不算什么。拿到美团的卷子,整个技术类的用同一张卷子,前面的题都一样,后面各个职位选做题一道。看了下,也就前端那道选做题看着亲切,可是我应聘的是运维。

前面先来几道智力题,第一个,过桥问题,4个人在漆黑的夜里过一座桥,每次只能两个人,而且必须带手电筒,4个人分别需要 1、2、5、10分钟,问最短多久过河。

第一感觉就是每次折回来的应该是用时最短的,于是我让用时1分钟的同学依次带其他人过河,这样,19分钟。

正确的答案是17分钟,我的小伙伴们很多都做出来了,我需要去提高智商么?

1、2先过,1折回    3分钟

5、10过,2折回     12分钟

1、2过 , 完成        2分钟

总计17分钟

第二个,赛马问题,25匹马,只能5匹一组比赛,问最少几次可以找出跑的最快的3匹马。我用了笨方法,5匹一组取前3,于是11次,又错了。正确的如下:

将25匹马分为5组,编号如下:

A1,A2,A3,A4,A5

B1,B2,B3,B4,B5

C1,C2,C3,C4,C5

D1,D2,D3,D4,D5

E1,E2,E3,E4,E5

且设编号顺序即为各组名次。

第一轮5次,取每组第一,即A1,B1,C1,D1,E1.

第二轮1次,从小组第一种在取前三。为讨论方便,假设为A1,B1,C1.

则此时,A1是绝对第一

D,E两组的第一都没能进入前三,那么DE两组直接全部淘汰

C1只是第三名,那么C1以后不可能进前三,淘汰之。

B1是第二名,那么B2顶多拿第三,B2以后没有竞争力,淘汰

A1是第一名,那么A2,A3有可能是第二,第三,后面的淘汰

剩下有竞争力的为A2,A3,B1,B2,C1

在比赛一次取前2名即可

总共赛7次

第三题,买票找零问题,有2N个人买票,其中有N个人有5元零钱,其他N个人只有10元的钱;假设每人只买一张票。问任何人都不必为找零而等待的概率是多少?

百度一下发现是编程之美上的题,这里直接给个链接吧,感觉好难的样子。http://www.cnblogs.com/wuyuegb2312/p/3016878.html

第四题,编写一段程序测试函数int f(int n)是否总是返回0。只能想到都试一遍了:

/* 
 * File:   main.cpp
 * Author: annhe
 *
 * Created on 201年月日, :
 */

#include <cstdlib>
#include <iostream>
#include <limits>
using namespace std;

int f(int n)
{
	return 0;
}

int main(int argc, char* argv[])
{
	int max=std::numeric_limits<int>::max();
	int min=std::numeric_limits<int>::min();
	//cout<<min<<" "<<max<<endl;
	for(int i=min;i<max;i++)
	{
		if(f(i)!=0)
		{
			cout<<"no"<<endl;
			return 1;
		}
	}
	cout<<"yes"<<endl;
	return 0;
}

第五题,用两个栈模拟队列,先放弃了。

第六题,获取两段字符串的最长公共子串的长度,我的做法:

#include <iostream>
using namespace std;

int getSubstringLen(string s1,string s2)
{
	string longstr=s1,shortstr=s1;
	s1.length()>s2.length()?shortstr=s2:longstr=s2;
	for(unsigned int len=shortstr.length();len>=0;len--)
		for(unsigned int j=0;j<shortstr.length()-len+1;j++)
		{
			if(longstr.find(shortstr.substr(j,len),0)!=string::npos)
			{
				cout<<shortstr.substr(j,len)<<" ";
				return len;
			}
		}
	return 0;
}
int main(int argc, char* argv[])
{
	cout<<getSubstringLen("GCCCTAGCCAGDE","GCGCCAGTGDE");
	return 0;
}

运行一下:

NPP_EXEC: "GCC_Run"
substr.exe
Process started >>>
GCCAG 5<<< Process finished. (Exit code 0)

恩,结果是对的,但貌似不是出题的人想要的,小伙伴们用了动态规划。还有,考场上没手册查,find()函数被想当然的写成了findstr(),还没index的,返回值也没有string::npos,囧...

剩下的是选做题,ios,android都不会,前端看起来很简单。运维考的居然是子网掩码,对不起简历上写的网络工程师证书啊,差点子网都不会算了。运维不考linux,难道美团的运维是基础设施运维?

头一次笔试就这么铩羽而归了,挺打击人的,美团这样的都过不了,接下来的百度网易不好搞啊。

 

 

One thought on “美团2014校招笔试

  1. Pingback: 我的大四(上)——考研与找工作 | 知行近思

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注