滴滴C++一二面面经

牛客sp专场   已经结束2周了
一面:
1.     C++的多态怎么实现的?
2.     虚表是类的还是对象的?
3.     有用过智能指针么?
4.     unique_ptr解决什么问题?怎么实现?shared_ptr呢解决什么问题,又会有什么问题(循环引用  资源无法释放),如何解决;随即引出weak_ptr,如何解决以上问题,weak_ptr怎么实现的
5.     C++有很多容器,介绍几个,map和unordered_map的底层数据结构。以及各自优缺点?你平时使用过吗,你会如何选择
6.     介绍你的项目。你负责哪一部分?,代码量?
7.     socket编程的流程,哪些函数会阻塞(send,recv,accept,connect这些,listen和bind不会)
8.     数据传输用什么协议(tcp,udp)?数据怎么组织的(逐层封装,应用层数据->tcp报头->ip报头->以太网帧 发送过去)?为什么不考虑一些通用的协议?(不会)
9.    TCP挥手的过程?
10.   服务器会有很多tcp连接,如何减少Timewait的数量?等待的目的是什么(为了保证客户端发送的最后一个ACK报文段能够到达服务器)?什么时候一定会到达,这样就可以不等待2msl  直接进入closed转态。答案:纯内网之间的通信没必要等待,纯内网不用走握手的流程,外网也有一些其它的方法
11.    代码题:合并两个有序链表 (赛码网, 头文件 链表的定义  int main() 输入输出全都自己写)


二面:
1.     为什么转行(机械专业) 计算机的了解吗  接受一下项目
2.     什么是死锁,出现死锁,怎么定位、解决、发现?(不知道如何定位和解决)
3.     进程和线程的区别?
4.     进程间怎么通信?(管道,消息队列,信号量,信号,共享内存,socket)
5.     几种通信方式哪种效率最高?共享内存(不需要建立额外的数据结构)共享内存会有什么问题(读写冲突,需要加锁)?如果一个进程挂了,它使用共享内存的一段区域,有影响吗
6.     有一亿个整数,要拿前一百个大数,如何让效率最高(时间)?(维护Top100的最大堆   时间复杂度nlogm  n为1亿  m为100)
7.     介绍C++11的智能指针,又讲了一遍?智能指针有什么缺点?
8.     指针函数了解吗,回调里释放某个对象,Callkback资源管理怎么解决?
9.     系统设计,找出经某个坐标下一公里内所有共享单车的位置。涉及数据结构,判断哪些区域?(共享单车的坐标建立空间索引的方法,以该点坐标去查找)

二面场景题较多   好几个都没回答上来  最后挂掉了
#滴滴SP专场##面经##滴滴##C++工程师##校招#
全部评论
纯内网不走握手是什么意思呀请问楼主
点赞 回复 分享
发布于 2021-08-19 15:00
感觉楼主你这都答上来了啊,这还挂沃日
点赞 回复 分享
发布于 2021-08-19 15:20
怎么知道挂了 给你感谢信了么?
点赞 回复 分享
发布于 2021-08-20 15:13

相关推荐

不愿透露姓名的神秘牛友
11-26 15:46
已编辑
字节国际 电商后端 24k-35k
点赞 评论 收藏
分享
10-09 09:39
门头沟学院 C++
HHHHaos:这也太虚了,工资就一半是真的
点赞 评论 收藏
分享
威猛的小饼干正在背八股:挂到根本不想整理
点赞 评论 收藏
分享
评论
1
19
分享
牛客网
牛客企业服务