美团暑期offer

说话语气要平和,放慢速度 

下午3点钟预约面试时间: 
1.晚上8点有时间么? 有 
2.有女朋友么? 
3.什么时候能来北京? 

美团基础平台部 晚上8点(1个小时) 
1.自我介绍 
2.介绍一下项目(套路:主要是把自己学过的知识得到运用)
3.多进程和多线程的区别 
4.说一下STL源码中的map实现(红黑树的五点要求) 
5.读过什么书 
6.TCP的三次握手,四次挥手,为什么3次握手,4次握手? 
7.说一下学过的设计模式? 状态机模式,简单工厂,策率模式,享元模式,模板模式,
 8.说一下select和epoll的不同? epoll的红黑树和回调机制要说一下,内核态和用户态的拷贝,实现百万句柄的控制 
9.写两道题目吧(题目答案见下文) 
10.new和malloc的区别 
11.知道nginx服务器么 
12.说一下c++多态? 函数多态 类多态:静态多态:模板静态多态 动态多态:virtual,virtual的不好 
13.Linux进程间通信的方式?套接字,fifo,消息队列,共享内存(最快),信号,信号量 
14,说一下使用过的数据结构? 说一下排序?快排,归并,堆排的实现(维护堆)
15.今天给你offer,7月1号能来么,能实习多长时间,有女朋友么?还有几个offer? 我们这里主要做的美团网搜索处理,事明天再约 在线编程题目 [1]翻转链表(递归和非递归的方式) struct Node { int nValue; Node *pNext; }; Node *ReverseList(Node *pHead) { if(pHead == NULL) { return NULL; } Node *pRrev = NULL; Node *temp = pHead; Node *pNext = NULL; while(temp != NULL) { pNext = temp->pNext; if(pNext == NULL) { pHead = temp; ptemp->pNext = pPrev; break; } temp->pNext = pPrev; pPrev = temp; temp = pNext; } return pHead; } [2]重洗memove函数(经典题目) //主要是地址覆盖问题,原地址src和目标地址dest,防止地址重叠 void *my_move(void *dest, void *src, int count) { if(dest == NULL || src == NULL) { return NULL; } if(dest < src) { char *p = (char *)dest; char *q = (char *)src; while(count--) { *p++ = *q++; } } else { char *p = (char*)dest + count; char *q = (char*)src + count; while(count--) { *p = *q; p--; q--; } } return dest; } 


 美团2面:(时间1小时) 
1.自我介绍 
2.你的学习成绩怎么样?(60分飘过的怎么说) 
3.你最早什么时候接触到编程? 
4.在线coding,编写线程池(20分钟),主要是看代码的逻辑性,和规整度(好久不写代码了,不展示丑陋的代码了) 
5.快排,堆排,归并的应用场景 
6.模板多态和virtual多态的区别 
7.了解过开源的东西么? 
8.项目给你,怎么让团队进行处理 
9.了解shell么,可能最后还是去不了北京 
10.进程间通信的方式,线程间通信,用到过什么锁? 
11.实习时间 
12.又是等待了 

如果你没有收到面试电话,只能说明你的简历不够好,你的项目不够好 说话注意语速 面试就是面试官能理解你所说的,以及你能输出的知识,他也懂。[不要吹牛,其实他什么都懂,在他眼中,你就是渣的和狗一样] 把自己学过的知识,用到项目中 发展中了解的东西:
1.Linux内核源码 
2.服务器大并发的架构(分布式存储,负载均衡等等技术,redis,nosql,mem***d) 
3.数据库的问题?(基础:范式[隔离性等级的使用场景,脏读,幻读,不可重复读],事务,myisam引擎,innodb引擎的区别和使用,数据库连接池, 读写分离,数据库分区[分库分表],数据库的优化[索引优化,sql语句优化等等])
 --------------------------------------------------------- 
1.new的详细使用方法[看effective c++中new那一章],malloc应该按照内存分配算法分配到堆区的地址 
2.模板的深入了解[看effective c++中模板那一章, STL源码剖析前三章 ,反复读一下] 
3.面试算法书[ 项目介绍(后台开发可能会问到项目业务)
 一. 1.数据拷贝---->缓存来解决,例如数据库中的数据在内存中缓存 
2.环境切换---->理性的创建线程:是否需要多线程,需要线程池?
 [1]单核服务器:采用状态机的编程效率最佳
 [2]多核服务器:线程能够充分发挥多核服务器的性能,也要注意线程间切换开销 
[3]线程池:拥有若干个线程,线程的个数不是越多越好,越多会增加系统的开销,太少会降低并发量
 [4]多进程模型,多线程模型,I/O复用,套接字的阻塞和非阻塞,同步和异步 
[5]设计服务器的线程处理方式,通过cpu核数设置线程的个数,任务(I/O密集型任务,计算密集型任务) 
3.内存分配---->内存池,减少向操作系统中申请内存 [1]项目中用到数据集和类的简易内存池(方便外界管理数据,维护数据的安全性) [2]内存泄露问题处理 
4.锁竞争------>通过逻辑尽量减少锁的使用 [1]无锁数据结构(环形模板循环队列,除去线程读写数据锁) [2]RAII机制管理锁资源,防止死锁发生(effective c++资源管理那张有讲解) (c++还有两个RTTI机制,PIMPL模式解决文件 包含问题,RAII智能指针) 
二.项目优化
全部评论
楼主,求线程池实现源码,能分享个github么
点赞 回复 分享
发布于 2016-07-28 11:24
深感大学不好好看课外书,出来找不到好工作啊
点赞 回复 分享
发布于 2016-07-04 05:58
楼主很棒~不过字都堆一起啦,看着不太方便,我帮你稍加调整了一下~~
点赞 回复 分享
发布于 2016-07-01 16:14
除了北京哪里可去?
点赞 回复 分享
发布于 2016-08-01 01:03
楼主c++岗位?我搜到美团好多java岗位。。。
点赞 回复 分享
发布于 2016-07-28 11:09
现在还招暑期工?不应该都算秋季校招了吗?
点赞 回复 分享
发布于 2016-07-28 11:04
实习还是正式?
点赞 回复 分享
发布于 2016-07-28 10:10
感觉好难呀
点赞 回复 分享
发布于 2016-07-27 21:57
看了之后压力山大啊
点赞 回复 分享
发布于 2016-06-30 17:07
楼主拿到offer了没?
点赞 回复 分享
发布于 2016-06-29 16:07
不明觉厉
点赞 回复 分享
发布于 2016-06-29 09:12
lz好强啊
点赞 回复 分享
发布于 2016-06-28 15:46

相关推荐

07-11 13:18
清华大学 Java
秋招真的要来了啊,每天刷牛客,是不是看别人晒字节、阿里实习证明都看麻了?再看看自己简历上的实习栏,空的能反光——人家都有,你没有,这种感觉真的太窒息了。咱211的学历说出去不算差,但秋招筛简历的时候,HR可不管你学校多厉害。中大厂的坑就那么点,没拿到实习offer太正常了,但问题是,小厂实习?大厂真不认啊。不是说小厂不好,只是你要是想冲大厂,小厂那点经历真不够看。人家要的是你做过多少用户的项目,有没有碰过核心业务,跟团队协作过啥正经事……这些东西,小厂给不了,自己瞎琢磨也摸不着边。现在有个机会:我们这边有一批大厂真实项目资源,都是字节、腾讯这些头部公司的正经业务场景。从怎么分析需求到落地执行,从数据复盘到跟不同部门对接,你能从头到尾走一遍大厂核心岗的流程,接触的都是真刀真枪的活儿。最重要的是,项目结束后,你能攒下一段能写进简历、能经得起问的经历——不是瞎编的,是有具体数据、有实际成果的那种,面试的时候随便问都能答上来。别再纠结“别人有我没有”了,秋招这东西,越等差距越大。咱211的底子在这儿,差的就是一段能跟别人掰手腕的实习经历。想知道这些项目具体咋回事?能补哪些短板?评论区扣个“冲”,我直接告诉你怎么弄——别让“没大厂实习”卡了你的秋招,现在动起来还来得及!
没有实习经历,还有机会进...
点赞 评论 收藏
分享
查看27道真题和解析
点赞 评论 收藏
分享
评论
12
124
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务