美团软开面经
发面经,攒功德,求求团子捞捞我
一面
2023.3.31下午两点
大概1小时
自我介绍
问C++基础
- 指针相关,问最后的输出
char str1[] = "ab"; char str2[] = "ab"; char* str3 = "ab"; char* str4 = "ab"; cout<<(str1 == str2) << endl; //0 cout<<(str3 == str4) << endl; //1
- vector和数组
- 延伸着问vector是怎么动态分配的
- 多态
数据库
- 哪些存储引擎
- InnoDB存储引擎索引使用的数据结构
- 为什么使用B+树
- InnoDB相对于MyISAM的不同
- 如果很多count(*) 操作,使用哪个引擎比较好(MyISAM)
- SQL优化(简单提了下
操作系统
- 进程和线程
- 线程崩溃了,进程一定会崩溃吗
计算机网络
- tcp为什么4次挥手
- tcp与udp的区别
git
- git怎么创建分支
- 上面一个没答上来,问我用过哪些命令,然后发现只是用过单分支操作后就没多问了
项目(烂大街web服务器)
- epoll
- epoll有没有对拷贝做优化
- epoll中使用的数据结构
- 请求数比较小,系统资源(内存)比较少的场景,epoll还高效吗(应该是select
Linux
- 查看内存/CPU占用
- 查看硬盘占用
- 查看进程信息
算法题:
- 链表判断是否有环:判断链表中是否有环_牛客题霸_牛客网 (nowcoder.com)
- 二叉树根节点到叶子节点的所有路径和:二叉树根节点到叶子节点的所有路径和_牛客题霸_牛客网 (nowcoder.com)
反问
- 评价(回答要自信,用肯定语气,不要用”应该“,”可能“或疑问句)
- 需要学习的方面(分布式,缓存等)
二面
23.4.6
大概45分钟
自我介绍
C++相关:
- C++的析构函数为什么要设置为虚的
- 线程池有哪些比较重要的成员
操作系统相关:
- select/poll/epoll(I/O多路复用)
- epoll为什么比poll好
- 线程和进程的区别
下面是针对他们组(搞搜索的)的相关的问题,主要是针对大量数据的场景
- 对于数据量很大的集合怎么找中位数 (引导:从小数据量的排序和双堆到快排思路再到大量数据的分治)
- 对于很多个有序数组怎么合并成一个整体有序的数组(说了归并,但是好像不满意,他又引导到堆:问怎么找前k大的数)
- 对于两个数据量很多的集合,找一个集合中另一个集合也出现了该数
算法
看到一面的时候做了两个算法,就没有具体做题,就问了一个“一百二十”这种字符串,怎么转为整数120。乱讲了一个思路,他也没多做评价。
反问:
如果能实习,能参与到什么工作。(然后他介绍了他们组是干啥的:大数据,索引计算、特征提取、数据分析等)
需要学习的东西。(大数据的框架,比如Spark和Flink;还有就是JAVA)
4.7更新
收到offer call啦,希望能顺利收到offer邮件
#我的实习求职记录#