[笔试题目] 美团2015年9月后端开发工程师笔试题

由于题目是我通过草稿回顾,可能表述不清,但是内容大致一样。希望该博客内容对你有所帮助,题目所有权归美团公司所有,我只是想分享给大家学习,还望贵公司海涵~

面试职位

  • 应聘职位:后端开发工程师
  • 岗位描述:
  • 岗位要求:
  • 面试时间:2015年9月19日
  • 面试题型:90分钟 16单选+4多选+2编程

单选题

第1题 从A->B路程中有段扶梯,某人途中需要绑鞋带,问那种情况更快?

  • A.路上绑鞋带时间快
  • B.扶梯上绑鞋带时间快
  • C.时间一样
  • D.扶梯路程和绑鞋带时间左右

第2题 X86平台上,int型变量内存中从低到高地址为:0x12、0x34、0x56、0x78,当网络发送该数据时,正确的发送顺序是:

  • A.0x12 0x34 0x56 0x78
  • B.0x78 0x56 0x34 0x12
  • C.0x34 0x12 0x78 0x56
  • D.0x56 0x78 0x12 0x34

补充知识
操作系统:http://www.cnblogs.com/renyuan/archive/2013/05/26/3099766.html

第3题 按入栈序列式ABCDE,不可能出栈的序列式:

  • DECBA
  • DCEBA
  • ECDBA
  • ABCDE

经典的考察出栈题目:
如果在草稿纸上画出入栈图就非常容易了。此时入栈ABCD
D => E
C => C
B => B
A => A
出D人E再出CBA,出DC入E再出BA,最后是如一个出一个,而E出后必须先D后C,故ECDBA错误。

第4题 x=9999,输入如下函数,求返回结果count值:

int func(x) {
    int count=0;
    while(x) {
        count++;
        x=x&(x-1);
    }
    return count;
}
  • A.8
  • B.9
  • C.10
  • D.12

该题目非常的亲切,why? 答案:A
因为最近做leetcode分享过该段代码:Number of 1 Bits - 计算二进制1的个数。同时你需要知道如果把一个十进制数字转换为2进制。
9999(十进制) = 10011100001111(二进制)

链接:[LeetCode] Number of 1 Bits & Reverse Integer - 整数问题系列

第5题 HTTP使用()来保证信息安全的。

  • A.SET
  • B.FPSEC
  • C.SSL
  • D.SSH

答案:C
HTTPS是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。

第6题 下列关于竞争和死锁正确的是:

  • A.竞争一定导致死锁
  • B.死锁一定由竞争引起
  • C.竞争可能引起死锁
  • D.防止死锁可以防止竞争

第7题 公司局域网上 ping www.meituan.com没有涉及到的网络协议是:

  • A.ARP
  • B.DNS
  • C.TCP
  • D.ICMP

ping命令和ICMP协议(Internet Control and Message Protocal,Internet控制消息协议)有着密切的关系,它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。
使用ICMP协议中的回送请求和回答报文。ICMP在网路层,ping不使用高层的TCP或UDP协议。但要使用IP协议。ping命令是应用层直接使用网络层协议的例子。
如果主机A要Ping主机B,他会先检查自己的MAC地址,如果没有B的MAC地址,就会向外发送一个ARP广播包。

第8题 9个球,其中一个质量和其他不同,一个天平,最多几次查找能够找到?

  • A.2
  • B.3
  • C.4
  • D.5

个人感觉像二分查找问题

第9题 SQL92标准SQL,代码执行顺序是什么?

select foo,count(foo) from pokes where foo>10 group by
    foo having count(*)>5 order by foo
  • FROM->WHERE->GROUP BY->HAVING->ORDER BY->SELECT
  • FROM->GROUP BY->WHERE->HAVING->ORDER BY->SELECT

第10题 多个源文件组成C程序,经过编辑、预处理、编译、链接生成可执行程序,下列哪个可以发现被调用的函数未定义?

  • A.预处理
  • B.编译
  • C.链接
  • D.执行

重点题目 正确答案:C
解析:本题考查的是程序编译过程的基本知识。对于编译型程序设计语言C,在程序编写完成后执行前,主要进行预处理、翻译为目标代码和链接库函数等关键步骤。在这三步中,预处理分析程序中的宏定义并替换宏引用,翻译主要针对一个编译单元(通常对应一个源文件)进行,将该编译单元翻译为中间代码,链接过程将各个编译单元中变量和函数的引用与其定义绑定,确保程序中使用的所有变量和函数都存在对应实体。所以,未定义的函数引用只能在链接过程中发现。

第11题 下列序列不可能是二叉树后序遍历的结果的是:

  • A.1 2 3 4 5
  • B.3 5 1 4 2
  • C.1 2 5 4 3
  • D.5 4 3 2 1

二叉树后序遍历即最后一个结点为root根结点,答案中A到B对应的5 2 3 1分别为各自的root根结点。

第12题 一个线性表:31、18、67、56、45、41。h(key)=key%7计算散列地址,存在A[0…6]中,采用线性探测方法解决冲突,成功概率查找的平均查找长度是多少?

  • A.1.5
  • B.1.7
  • C.1.9
  • D.2.1
  • E.不同以上答案

考察:哈希表冲突解决方法和平均查找长度 答案:E
处理冲突的方法包括:开放定址法、再哈希法、链地址法。其中开放地址法包括线性探测再散列法、二次探测再散列法和随机探测再散列法。
按照h(key)=key%7计算:
31%7=3——1次
18%7=4——1次
67%7=4——2次
56%7=0——1次
45%7=3——4次
41%7=6——3次
平均查找长度:ASL=(1+1+2+1+4+3)/6=2,故答案选E。

第13题 下列哪个不是进程的基本状态?

  • A.阻塞态
  • B.执行态
  • C.就绪态
  • D.完成态

非常基本的操作系统三个状态题目,注意三态转换。答案:D

第14题 ip不合10.11.12.91/28同一子网的是:

  • A.10.11.12.85/28
  • B.10.11.12.88/28
  • C.10.11.12.94/28
  • D.10.11.12.97/28

子网划分、同一子网是重点问题 答案:D
/28是子网掩码的位数,IP地址可以看为二进制的32为数,你把IP二进制转换为二进制,如果他们的子网掩码位数都是一致的,则说明他们在同一子网下,如果不同即在不同子网内。
理论上是IP与子网做AND运算,得出结果一样就代表在同一网段内。例如:(转二进制方法整除2)
/28转换为二进制: 11111111,11111111,11111111,1111000
10.11.12.91中91转换为二进制位0101,1011 前4位与子网掩码AND为0101 0000
10.11.12.85中85 =》0101,0101 同样前四位为0101 0000
10.11.12.88中88 =》0101,1000 同样前四位为0101 0000
10.11.12.95中94 =》0101,1110 同样前四位为0101 0000
10.11.12.97中97 =》 0110,0001 输出结果为0110 0000

第15题 7个顶点有向图至少有多少条边才能成为一个强连通图?

  • A.6
  • B.7
  • C.8
  • D.12

答案:B 记住以下几点:
1.在一个无向图中,顶点的度数之和是边数的两倍;有向图中,任意一条边AB(A->B)都会给A提供一个出度,给B提供一个入度。故:
顶点的度之和 = 2*顶点入度之和 = 2顶点出度之和 = 顶点入度之和+顶点出度值和 = 边数的两倍
2.具有n个顶点的无向图,至少应该有(n-1)条边,才能确保是一个连通图,若采用邻接矩阵表示,该矩阵的大小是n*n
3.具有n个顶点的有向图,至少应该有n条弧才能确保是强连通图的。在有向图G中,如果对于任何两个不同的点a、b,从a到b和从b到a都存在路径,则称G是强连通图,强连通图必须从任何一点出发都可以回到原处,每个节点至少要一条出路。

第16题 0,1….500共501个数升序排列,每次去奇数序位数丢掉,剩下的数的奇数序位数丢掉,最后剩下的数是多少?

  • A.249
  • B.253
  • C.255
  • D.257
  • E.499
  • 不是以上答案

多选题

第17题 HTTP协议中POST和GET下列有哪些区别?

  • A. 数据位置
  • B. 明文密文
  • C. 数据安全
  • D. 长度限制
  • E. 应用场景

第18题 C++ STL常用容器和类里,下面哪些可支持下标“[]”运算?

第19题 C代码开发,如下类型结构体:

typedef struct list_t {
    struct list_t next;
    struct__list_t prev;
    char data[0];
}list_t;

最后一行 char data[0]的作用是:

  • A. 方便管理内存缓冲区
  • B. 减少内存碎片化
  • C. 标识结构体结束
  • D. 没有作用

第20题 a^b来表示a的b次幂,下列正确的是:

  • A. 2.1^3.1 > 3.1^2.1
  • B. 2.1^3.1 < 3.1^2.1
  • C. 2.1^4.1 > 4.1^2.1
  • D. 2.1^4.1 < 4.1^2.1

答案:BC


编程题

第21题 六种面额:1、5、10、20、50和100,每种币值数量足够多,编写程序求组成N元(N为0~10000的非负整数)的不同组合个数。

注意规定或枚举会出现RE超市 动态规划应该可以做

第22题 给定非负整型数组arr和整数limit,两次从arr中随机抽取元素(可能抽到一个同元素),获得整数x和y,计算和s=x+y,求所有不超过limit的s值中最大数。

int function(int *arr, int length,i nt limit) {
}
也是非常简单的一道题,需要注意的是可能抽到同一个元素,如[1],1,2 结果输出2。


总结

个人感觉美团的这套题目不错,但是考得比较广,包括:操作系统、数据库、网络、网络安全、编程、数学等知识。如果只专注于某课比较吃亏,同时编程题目不是很难,相对阿里、腾讯题目广度更广,但深度要浅些。也可能和我报的部门有关,最后上面答案是我自己做的,可能存在错误不足之处。
总之,一句话:希望对你有所帮助,能内推的尽量内推避免这些杂七杂八的知识~
(By:Eastmount 2015-9-20 晚上1点 http://blog.csdn.net/eastmount/

时间: 2024-09-12 04:25:09

[笔试题目] 美团2015年9月后端开发工程师笔试题的相关文章

阿里电话面试之所做所得所感(2015年7月)

        转眼间就到了找工作的阶段,这是我参加的第一个面试,无论结果如何我都受益匪浅.以后也会陆续推出更多的关于面试和找工作相关的文章,希望文章对你有所帮助!而且我准备采用轻松愉快又有内容的方式进行叙述,如果错误或不足之处,还请海涵~         真不敢想象以后成为一名IT男后,每天过着忙碌的上下班挤地铁的生活,晚上回到房间却独守空房,异地他乡的我将如何面对?是啊,很多时候我们的生活都是匆匆忙忙的,都不知道自己到底在做什么!其实正如TED中所言"Stop,Look,Go",有

[笔试题目] 简单总结笔试和面试中的海量数据问题

        最近在笔试和面试中遇到了很多关于海量数据的问题,在此进行简单的记录,写一篇方便自己下次学习的处理海量数据的文章及在线笔记,同时也希望对你有所帮助.当然,海量数据最出名的还是七月July,但这里我是想直接从实际题目出发,并参考及摘抄了他们那些大牛的文章及自己的想法进行简单总结记录. 一. 原题重现         2015年9月27日百度笔试论述题二选一,其中第一道是关于MapReduce相关的:第二道是搜索引擎中url去重,海量数据集url如何在爬取过程中避免重复爬取过的url.

C++笔试题目大全(笔试宝典)(不断完善中)

1.new . delete . malloc . free 关系 delete 会调用对象的析构函数 , 和 new 对应 free 只会释放内存, new 调用构造函数. malloc 与 free 是 C++/C 语言的标准库函数, new/delete 是 C++ 的运算符.它们都可用于申请动态内存和释放内存.对于非内部数据类型的对象而言,光用 maloc/free 无法满足动态对象的要求.对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数.由于 malloc/free

笔试题目“检测IPv4地址”的实现

网友的力量是强大的,昨天发了一篇Post,关于一道面试/笔试题.得到网友们的众多解决方法.我不得不承认自己写的代码是如此的烂.尽管如此,也是很有必要和大家一起来探讨,也有必要写出自己心中所想.这样才有进步,才有改变,才能将自己的烂代码优化.接着发一段烂代码,希望学习网友们更加优美,优秀的代码. 笔试题目 判断一个字符串是否是IPv4地址.如果是返回ture,否则返回false.同样不可以使用库函数.可以选择用C/C++,C#或者Java. e.g.  C/C++:  bool checkIPv4

互联网公司招聘web前端笔试题目

随着各大互联网公司设立了Web前端开发工程师.设计工程师等职位,web前端越来越得到互联网企业的认可.而且其重视程度与地位也随着浏览器端的富客户端的体现而日益提高. 眼前对HTML5的未来和走向,业内的预测是会和Flash.Silverlight等相结合,从而取代传统的客户端应用程序.而实现这个目标的客户端核心工作是有Web前端工程师来完成的. 从另一个角度,对于web产品来说,交互和用户体验是产品的第一价值,这部分价值的体现就是在web前端.可以说web前端是一个web产品的长相和谈吐.行为.

2015年6月最常用编程语言首位第一的是哪个?

  今天CodeForge网站最新公布了2015年6月"最常用编程语言"排行榜.此排行榜清楚的反映了各种编程语言在世界范围的流行程度,可为所有从事软.硬件开发的专业人员以及其他业内人士提供参考.需要说明的是,本排行榜所统计的数据,全部来源于网站百万注册用户的实际访问数据,具有非常高的真实性与实时性. 从上图可以看出,C++以超过四分之一的比例,高居榜首,达到27.7%.C++效率高,并且有很多成熟的网络通信的库,被广泛的应用于游戏开发.科学计算.网络软件.分布式应用.操作系统.驱动程序

2015年4月4日月全食壮观美 使用photoshop制作红月亮教程

  月全食2015年出现在4月4日,错过今天4月4日月全食就还要等三年,如何将2015年4月4日月全食壮观美尽收眼底?我们可以使用ps来制作红月亮月全食,本文小编就为大家带来使用photoshop制作红月亮教程. 2015年4月4日月全食壮观美 使用photoshop制作红月亮教程 1.首先安装KPT6.0外挂滤镜后,打开Photoshop. 2.新建一个640*480像素文件,背景内容为白色. 3Ctrl+i,反相. 4.Ctrl+j,复制图层. 要用到的滤镜要求图层必须有填充色. 5.使用滤

2015年1月16日人生日历怎么抢票?

  今天12306官网发布公告,将于2015年1月16日正式对外发售春运临客车票,还没抢到回家的票的朋友们又要忙碌起来了,如果觉得其他抢票软件都没什么用,大家可以尝试一下人生日历的订票系统 人生日历怎么抢票? 下载打开人生日历,点击右下角"车票",即可立即开启抢票. 进入人生日历订票系统,您会发现人生订票越来越人性化了. 您可选择自动刷票,不需输入验证码,抢票一步到位;您可勾选提示音,那就不再需要时时刻刻盯住抢票界面,抢到票时音乐响起,您只需去付款即可;您还可定时刷票,将定时刷票时间设

2015苹果3月新品发布会什么时候?

  苹果新品发布会2015在3月10号进行,这对于果粉来说是一个非常不错的消息,整个行业的关注度也很高,这次新品发布的产品也许就是众所期待的iPad Pro. 这段时间会有两个重要的事件发生,一个是iOS 8.2会在下周正式发布,目前苹果已经将它的GM版本交给运营商进行最后测试了,新版的iOS主要是对健康应用的改进.稳定性增强以及错误修复.此外,还应该注意的是,新系统还修复了一个大漏洞,即Freak安全漏洞.iOS 8.2正式版将正式支持Apple Watch. 第二便是2015年3月10号的新