美团软开面经

发面经,攒功德,求求团子捞捞我

一面

2023.3.31下午两点

大概1小时

自我介绍

问C++基础

  1. 指针相关,问最后的输出
char str1[] = "ab";
char str2[] = "ab";

char* str3 = "ab";
char* str4 = "ab";

cout<<(str1 == str2) << endl; //0
cout<<(str3 == str4) << endl; //1
  1. vector和数组
  2. 延伸着问vector是怎么动态分配的
  3. 多态

数据库

  1. 哪些存储引擎
  2. InnoDB存储引擎索引使用的数据结构
  3. 为什么使用B+树
  4. InnoDB相对于MyISAM的不同
  5. 如果很多count(*) 操作,使用哪个引擎比较好(MyISAM)
  6. SQL优化(简单提了下

操作系统

  1. 进程和线程
  2. 线程崩溃了,进程一定会崩溃吗

计算机网络

  1. tcp为什么4次挥手
  2. tcp与udp的区别

git

  1. git怎么创建分支
  2. 上面一个没答上来,问我用过哪些命令,然后发现只是用过单分支操作后就没多问了

项目(烂大街web服务器)

  1. epoll
  2. epoll有没有对拷贝做优化
  3. epoll中使用的数据结构
  4. 请求数比较小,系统资源(内存)比较少的场景,epoll还高效吗(应该是select

Linux

  1. 查看内存/CPU占用
  2. 查看硬盘占用
  3. 查看进程信息

算法题:

  1. 链表判断是否有环:判断链表中是否有环_牛客题霸_牛客网 (nowcoder.com)
  2. 二叉树根节点到叶子节点的所有路径和:二叉树根节点到叶子节点的所有路径和_牛客题霸_牛客网 (nowcoder.com)

反问

  1. 评价(回答要自信,用肯定语气,不要用”应该“,”可能“或疑问句)
  2. 需要学习的方面(分布式,缓存等)

二面

23.4.6

大概45分钟

自我介绍

C++相关:

  1. C++的析构函数为什么要设置为虚的
  2. 线程池有哪些比较重要的成员

操作系统相关:

  1. select/poll/epoll(I/O多路复用)
  2. epoll为什么比poll好
  3. 线程和进程的区别

下面是针对他们组(搞搜索的)的相关的问题,主要是针对大量数据的场景

  1. 对于数据量很大的集合怎么找中位数 (引导:从小数据量的排序和双堆到快排思路再到大量数据的分治)
  2. 对于很多个有序数组怎么合并成一个整体有序的数组(说了归并,但是好像不满意,他又引导到堆:问怎么找前k大的数)
  3. 对于两个数据量很多的集合,找一个集合中另一个集合也出现了该数

算法

看到一面的时候做了两个算法,就没有具体做题,就问了一个“一百二十”这种字符串,怎么转为整数120。乱讲了一个思路,他也没多做评价。

反问:

如果能实习,能参与到什么工作。(然后他介绍了他们组是干啥的:大数据,索引计算、特征提取、数据分析等)

需要学习的东西。(大数据的框架,比如Spark和Flink;还有就是JAVA)

4.7更新

收到offer call啦,希望能顺利收到offer邮件

#我的实习求职记录#
全部评论
保佑我啊。我明天一面。吸~
1 回复 分享
发布于 2023-04-24 21:07 江苏
呜呜呜沾沾大佬喜气
1 回复 分享
发布于 2023-04-11 00:00 广东
感觉问的好少啊
点赞 回复 分享
发布于 2024-03-31 16:29 湖南
请问为啥请求少select反而更加高效呢?是因为请求少的时候epoll的O(log(n))和select的O(n)的时间复杂度差不多而且epoll额外维护一个红黑树导致的吗
点赞 回复 分享
发布于 2023-04-12 09:12 北京
楼主哪个部门的呀
点赞 回复 分享
发布于 2023-04-10 21:12 湖南
羡慕offer
点赞 回复 分享
发布于 2023-04-10 10:34 广东

相关推荐

在牛客上了看了好多佬的面经,确实给自己提供了帮助,再次感谢佬们的面经!我把自己面试的经历也分享给牛友,祝大家都拿到自己想要的offer!#&nbsp;面试复盘##&nbsp;BG双非本+末流211硕+无竞赛+无实习+只有实验室的项目经历##&nbsp;面经###&nbsp;腾讯---软开-java####&nbsp;一面凉经&nbsp;3/18​面试官没有开摄像头,maybe是kpi面,这也是我的第一次面试,整体表现巨差无比,给我留下了深深的打击,觉得自己就是个小废物。​上来经典的自我介绍,然后面试官就问我项目中的难点是什么,也没有追问。接下来就是提问环节​Q1:Mysql和Redis的区别?----&gt;个人怎么用的Redis?​Q2:为什么用kafka?----&gt;kafka重复消费怎么解决?​Q3:进程、线程、协程的区别。(我是菜鸡,没有复习到协程,丢死人了。)​Q4:讲一下对策略的理解​Q5:三道算法题:1、字符串相乘&nbsp;----&gt;2、LRU----&gt;3、乘积最大子数组(基本都是leetcode上的热门题目,但是我没有写出lru,让我深深的知道自己准备的是有多么的不足了,惨痛的经历,我是菜狗啊啊啊啊啊啊啊)​Q6:TCP和UDP的区别,估计是我回答的逻辑不好,就没有追问了​Q7:三次握手以及其中的细节,比如第二次握手失败会发生什么。然后就没有再问了,哭死,面试官很温柔但奈何不了我太菜了。第一次面试的紧张,我在写代码的时候既然在考虑输入输出,在面试官面前改输入输出的函数,第一次给了鹅,我太不珍惜了。###&nbsp;快手---软开-java####&nbsp;一面凉经&nbsp;3/19这次的面试官开了摄像头,我回答不上来的还会给我讲解,告诉我答案,在挂掉之后我也没了自信。经典自我介绍开头+项目中的难点。Q1:索引以及一系列的追问,最后出了一道题select&nbsp;*&nbsp;from&nbsp;t&nbsp;where&nbsp;c&gt;0&nbsp;and&nbsp;b!=1&nbsp;and&nbsp;d=2;问我如何设计索引。答案是联合索引(d,c,b,a)Q2:乐观锁&nbsp;和&nbsp;悲观锁&nbsp;。CAS的实现原理Q3:内存溢出和资源爆炸,讲一下自己经历过的内存溢出和资源爆炸Q4:kafka如何实现顺序消费还有一些关于日常使用的追问Q5:进程的并发执行问题,以及常用的锁。出了个题,讲一件i++如何实现上锁Q6:websocket如何实现通信,要提到sessionQ7:手撕:n个骰子投出为k的概率。这次面试对我打击巨大,面试官说我基础不好,要加强一下自己对基础知识的理解。也彻底没了自信,坐实了自己菜狗的身份。###&nbsp;美团&nbsp;----软开-数开没错。这次岗位跟之前不太一样,我投错了,就是那么的sb,哎,硬着头皮面的。####&nbsp;一面&nbsp;3/27经典的自我介绍,但是没有问项目中的难点。让我讲了将项目具体是做什么的,我巴拉巴拉的介绍了一遍。然后问我学过sql没,我信誓旦旦的说学过,平常经常用,然后一道sql手撕+算法就来了。sql手撕:&nbsp;employee表,找出只有五个直接下属的经理```sqlSELECT&nbsp;e.nameFROM&nbsp;employee&nbsp;eJOIN&nbsp;employee&nbsp;sub&nbsp;ON&nbsp;e.id&nbsp;=&nbsp;sub.managerIdGROUP&nbsp;BY&nbsp;e.id,&nbsp;e.nameHAVING&nbsp;COUNT(*)&nbsp;&gt;=&nbsp;5;```算法手撕:划分字符串,尽可能多的划分,同一字母最多出现在同一个片段中然后问了我听过事务没,我说听过,让我讲一下事务的特性。然后就没然后了,就让我反问了,我都感觉是kpi了,惊喜的是第二天发二面通知了。####&nbsp;二面&nbsp;3/31自我介绍,然后上来就说我们考察代码能力的,直接扔出来一道题“K个一组链表翻转”,秒了。然后他看我做的太快,说再来一道吧,“合并区间”依旧秒了,都是hot100的题。然后他说我能把题背下来也是能力,我说我最近在经常刷题。然后就是八股拷打Q1:虚拟内存是什么&nbsp;虚拟内存的实现&nbsp;虚拟内存遇到空间不够了怎么办,虚拟内存会把资源存在哪里?&nbsp;内存不够了怎么办Q2:tcp&nbsp;如何保证稳定,详细讲一下保证稳定的机制,我讲的是超时重传。syn是什么,有什么用Q3:CAS(没错又问到了cas,这次哥们确实会了)Q4:线程切换Q5:索引,考了我最左匹配原则Q6:聊到了项目,我介绍了项目具体是做什么的,我自己的负责的内容,以及项目中的人员分工Q7:问我为什么选择这个方向,之前没有做过(我不敢说是我选错了,我说出于热爱和好奇,哭死)Q8:聊到了海量数据压缩,我从深度学习和算法的角度分别介绍了一下,没办法撞到了哥们擅长的领域Q8:聊到了AI,讲了讲我是如何使用ai的,以及对ai的看法。ai大势所趋这次面了70分钟左右,最开始我感觉面试官对我是无感的,但是我也尽力的去回答每一个问题,有答的好的答的不好的。面试过程中,面试官说了一句话“你是有自己的理解的。”所以我觉得在面试中还是要尽情的展示一下自己,让面试官感受到你的优点和激情。####&nbsp;4/1面试官通知二面结果,后续有人跟我联系####&nbsp;4/6号hr电话oc####&nbsp;4/9号offer##&nbsp;感悟运气很重要,但是运气是留给有准备的人的。自己没有把握住鹅厂的面试,痛啊,刻在心里的痛啊。快手的打击让我彻底丧失了自信,陷入自我怀疑,从头又看了一遍八股,牛客上刷面经。java后端开发异常的卷,在面完数据开发之后有着深深的感受,大家在选择职位的时候可以酌情考虑吧。我确实卷不动。个人的简历过不了阿里、字节、蚂蚁、饿了么、京东、oppo、vivo、滴滴、作业帮等等的初筛,连面试都约不上,个人条件确实很有限。美团太好了,我是团孝子,我爱喝开水,我爱说实话。##&nbsp;建议1、手撕,hoot100必刷,必刷,必刷,重要的事情说三遍。尤其是动态规划,贪心。面试的时候如果是模板题写不出来基本就凉凉了。2、简历上列出来的东西要能和面试官聊下去,面试官会看着简历问问题。3、面试的时候不要紧张,不用因为某个问题回答不上来就毁自己的状态。而是要尽情的展示自己,从思维上,情绪,性格上等等方面,万一有哪个点打动面试官就成了。4、运气是留给有准备的人的,还是要从自身出发,踏实准备,面的越多就会面的越多。5、合理评估自己准备的情况,java软开卷不动就卷数开,测开,前端,程序员是互通的,不要被语言,前后端限制住了,我们具备的是在这个领域如何快速学习的能力,而不是一门java语言学到死。6、八股是枯燥的,在回答八股的时候要用自己的话说出来,最好结合自己做过的项目,而不是背诵,要给面试官一种错觉,这个问题我在项目中思考过,而不是在八股文里背过。7、面试前在牛客上找对应岗位的面经,把面经里的问题都过一遍,最好再做点问题发散。
查看28道真题和解析
点赞 评论 收藏
分享
整体答得不好,还是有点紧张,说话磕磕绊绊的1.自我介绍2.有实习过吗1.&nbsp;有没有深入钻研过中间组件2.&nbsp;给出了中间件的学习建议3.&nbsp;讲一下tcp的协议4.&nbsp;讲一下带宽时延机5.&nbsp;讲一下流量控制与拥塞控制6.&nbsp;讲一下滑动窗口的目的,是用来干什么的7.&nbsp;用滑动窗口来进行流量控制,有一个场景&nbsp;a给b发数据,我们申请的专线带宽为1g,单个连接发送速度为500m,但发现发送的速率很慢,我们应该怎么加快传输速度?8.&nbsp;滑动窗口的实现方式有哪些9.&nbsp;其中影响流量速度的因素有哪些?10.&nbsp;地球,卫星传输延迟问题11.&nbsp;Mit的操作系统学过吗12.&nbsp;聊了一下国外公开课,mit操作系统,分布式系统13.&nbsp;推荐去系统的学习下这两个课14.&nbsp;讲一下拓扑排序15.&nbsp;手搓一个lru&nbsp;cache16.&nbsp;被批评了一下代码风格17.&nbsp;讲一下ThreadLocal&nbsp;及其是否可以线程间传输ThreadLocal&nbsp;18.&nbsp;面试官评价了一下inheritedthreadlocal&nbsp;是很鸡肋的19.&nbsp;评价了一下&nbsp;阿里的ttl&nbsp;也有一些鸡肋20.&nbsp;讲一下guava&nbsp;本地缓存的底层实现21.&nbsp;面试官进行引导&nbsp;让讲一下concurrentHashMap(实质上guava本地缓存就是类似的哈希表)22.&nbsp;面试官打断,说后面不用讲了,说八股背的太好了(心想寄了)23.&nbsp;面试官又问guava的底层实现方式24.&nbsp;面试官讲解了一下guava本地缓存的底层实现25.&nbsp;反问业务&nbsp;微服务&nbsp;jdk&nbsp;框架26.&nbsp;反问学习建议&nbsp;多了解&nbsp;保持好奇心&nbsp;不要只背27.&nbsp;面试官问了一下&nbsp;你们学校不管吗&nbsp;不查签到吗28.&nbsp;能实习5&nbsp;6个月?
查看21道真题和解析
点赞 评论 收藏
分享
评论
9
57
分享

创作者周榜

更多
牛客网
牛客企业服务