面试复盘|美团后端开发 C++ 一面

面试时长:75分钟

  1. 开局自我介绍
  2. 部门技术栈是java,可以转吗?可以,面试官说:我当时面试时候也是C++面试的
  3. 说一下C++的面向对象吧,详细的说一下
  4. 说一下单继承时候的虚函数表内存分布情况
  5. 说一下菱形继承时候的虚函数表分布情况
  6. 说一下模版的底层实现,从指令集的角度来说,怎么实现的模版实例化。 不太懂
  7. 说一下模版实例化之后,底层汇编是怎么做的,比如如何jump之类的?不太懂
  8. 熟悉STL库是吧,说一下STL的仿函数设计原理及其底层实现..这个有点偏僻的我有点忘,说的不好
  9. 说一下vector的底层实现?说一下优先级队列的实现方法?
  10. C++本身没有多线程吧?有
  11. 说一下linux的多线程,pthread_XX这些和C++的thread库,底层实现的区别?
  12. 或者说,说一下thread库的底层封装逻辑?
  13. 从操作系统角度看,pthread_xxx和C++ thread创建线程有区别吗?
  14. 从指令集的角度来说一下,linux怎么实现的进程和线程?我从linux系统代码角度说了一下最初版的线程和现在的线程区别,具体的指令集啥的不太懂
  15. IPC,说一下有哪些进程间通信的技术?你用过那些?
  16. socket编程,select底层是怎么实现的,或者简单来说一下select的流程
  17. epoll底层怎么实现的,是基于回调机制的吗?
  18. 讲一下其他系统下的高性能IO多路复用方法都有什么?
  19. 熟悉linux命令吗?说一下比如我们要分析系统的状态,一般都用什么命令。如何查找一个文件?
  20. 说一下mysql的事务吧?ACID?ACID都是什么,哪个是因哪个是果?
  21. mysql实现到了ACID中的哪些?
  22. mysql如何实现的?
  23. 说一下间隙锁,什么时候会触发间隙所?
  24. 了解redis的实现吧,说一下SDS底层如何实现的?
  25. 说一下redis的跳表?
  26. 了解git吧,说一下git分支,我们一般怎么用
  27. git的三种状态说一下,分别什么时候对应什么状态?
开局算法题:

106. 从中序与后序遍历序列构造二叉树

25. K 个一组翻转链表

给定时间12分钟,思考+编码+调试,第一次遇见时间这么紧的算法题,12分钟没有写完两个,又申请了5分钟,最后花了15分钟写完的两个。

反问:部门,技术栈?
反反问:能转java吗?

以上就是能想到的面试题目了,这次有一些偏僻的没有回答上来,比如thread库是怎么包装的线程,菱形继承的虚函数表,还有指令集的部分。希望能过吧,许愿~
#面试复盘##面经##美团##C++工程师#
全部评论
老哥这问的也太难了
7 回复
分享
发布于 2021-09-01 13:49
这也太难了。。。
6 回复
分享
发布于 2021-09-01 14:28
联想
校招火热招聘中
官网直投
这也太难了。。
1 回复
分享
发布于 2021-09-01 16:25
确实好难,要是Java出身的这些更不会了
1 回复
分享
发布于 2021-09-01 17:43
明天美团二面,看到这瑟瑟发抖
1 回复
分享
发布于 2021-09-01 22:53
动不动指令集汇编 然后进去转java 所以这是要干嘛
4 回复
分享
发布于 2021-09-01 17:03
678三题直接干碎了,还有仿函数、指令集、线程库第层实习什么的完全没了解过啊
点赞 回复
分享
发布于 2021-09-01 15:21
什么部门
点赞 回复
分享
发布于 2021-09-01 15:56
这是校招么
点赞 回复
分享
发布于 2021-09-01 20:34
老哥啥时候面的,什么部门啊
点赞 回复
分享
发布于 2021-09-01 21:12
好难啊这个。。。。
点赞 回复
分享
发布于 2021-09-01 23:04
你这个一面比我美团三轮技术面加起来都难,我也是c++的
点赞 回复
分享
发布于 2021-09-02 00:25
老哥 你有实习经历吗
点赞 回复
分享
发布于 2021-09-02 21:41
l z有消息了吗
点赞 回复
分享
发布于 2021-09-23 18:03
楼主这也太强了
点赞 回复
分享
发布于 2021-09-26 10:16
这个比社招的难度还大
点赞 回复
分享
发布于 2021-10-03 23:30
楼主c++学了多久哇
点赞 回复
分享
发布于 2021-10-19 12:35

相关推荐

1. 手撕算法给你一个数组, 2 1 3 7 9 2,如果相邻两个数相加是10,那么两个数可以消掉。问最后还剩几个数?比如这个,3和7消掉,还剩2 1 9 2,1和9还可以再消一次,还剩2 2,最后答案就是2。(思路:栈。新元素和栈顶元素相加为10,就弹栈,否则进栈,输出栈的大小。)2. 项目●介绍水平分表过程、大表拆分的过程。●Redis有没有可能丢数据?怎么解决?●你还有什么其他的方式来保证Redis的可靠性?(主从复制、哨兵、集群一通甩出来)●RabbitMQ如何保证消息不丢失?(没保证,再加强)●RabbitMQ如何做削峰填谷?3. 八股●InnoDB中一个三层的B+树能存多少数据?●MySQL的索引怎么存储的?每个索引一个B+树,还是多个索引放一个B+树?●每个叶子节点能存放多少条数据?(虽然没问,但是差点问到,mark一下,回去复习)●叶子节点中存的是什么数据?●B+树的范围查找怎么做的?●分库分表具体的分片策略是怎么做的?●表存满了之后怎么扩表?●id是怎么生成的?(分布式自增主键)●有没有其他的分布式id生成算法?(雪花),具体怎么实现的?(我不清楚,了解而已)●Redis保证incr命令原子性的原理是什么?(不清楚)●Redis数据的可靠性怎么保证?(持久化)●介绍AOF持久化的过程?●AOF重写期间命令可能会写入两次,会造成什么影响?(忘记了)●讲一下JVM的内存模型?●new一个对象存放在哪里?(运行时数据区),局部变量存在JVM哪里(不知道)●JVM垃圾回收机制?(没学到)●Linux系统的8080端口有多少个TCP连接,怎么看?(不知道)●如何看Linux进程或CPU使用情况?(top)●Linux查看内存情况?(free -h)●讲下TCP的TIME_WAIT(TCP最熟的地方忘记了,可惜)●ConcurrentHashMap底层是怎么实现的?●HashMap为什么不能保证线程安全?●进程间通信的方式?●共享内存的方式如何保证并发安全?(我的回答是加锁)●这个锁具体怎么实现的?(比较抽象,我回答了如果是我,我会怎么设计)4. 反问●技术栈●对于实习生如何培养●GoLang在CSIG用来做什么?●Base成都?●作息?●团建?旅游?●实习生进来之后会做些什么?
点赞 评论 收藏
转发
10 120 评论
分享
牛客网
牛客企业服务