百度后端开发日常实习一二三面面经
部门:自动驾驶技术部-高精地图团队
一面9.26
1.c++多态
2.堆栈区别
3.static用法
4.tcp链接过程
5.拥塞控制
6.进程线程区别
7.select和epoll区别
8.服务器端使用socket分哪几步
9.将一个函数中的局部变量声明为静态局部变量,函数调用结束后会不会释放空间
10.new和malloc
11.构造函数为啥不能是虚函数析构函数为啥一般是虚函数
12.项目里服务器端和客户端如何发送接收数据的
13.数据库插入数据,就知道insert其他的实操忘的七七八八直接说数据库实操忘完了,后面也就没问其他数据库相关
14.如何创建子线程
15.用过哪些锁?只用过互斥,知道自旋还有读写锁,让详细解释
算法题:反转链表,合并两个有序链表,给出两个矩形的左上顶点和右下顶点判断这两个矩形是否重合
最后一个算法题写了半小时好像,最后写出来的时候面试官都不耐烦了也没问我代码具体过程让我画图给他说了思路
一面完一个小时约了今天的二面
二面1h 9.28
1.函数重载和重写,严重怀疑是因为我一面这部分没答好所以又问了,所以复盘很重要🙃
2.流量控制,同样是一面没答好的地方
3.子类对象调用类中非虚成员函数的过程
4.程序在进入main函数之前干了啥(不会,开辟堆栈?初始化全局变量?)
5.给你大量坐标点和一个区域,如何判断每个点是否在区域内
6.tcp为什么四次挥手
7.数据库了解吗?实操不行,但是我知道存储引擎索引存储结构是b+树以及为什么用b+树不用其他结构(求生欲极强🧐),然后就让细讲,从链表二叉树avl红黑树b树一顿输出,最后面试官说讲的不错(长出一口气)
8.为什么要有虚拟内存,假如一个程序运行需要两个g,内存只有1个g,程序可以运行吗(可以?会触发缺页异常?答的不好)
算法:给一个二叉树,输出右视图,共享屏幕写代码并逐行解释代码
电脑摄像头出了点问题刚开始调了很久也没弄好,感觉面试官怕我作弊,然后就让我特别详细特别详细讲自己写的代码,幸亏之前写过这个不然感觉要gg
二面完让我等了几分钟就接着三面
三面40min
上来先问摄像头的事,赶紧解释(我也很无辜啊我第一次用这个会议软件☹️)
接着问项目
1.线程同步怎么实现的,我说只用过信号量,条件变量和互斥锁,详细说一下都是如何调用的
2.现在有一个线程a在读数据,一个线程b在写数据,同时有多个用户在向线程b发数据,怎么实现同步?这个刚开始没理解意思很懵,我说用信号量吧等a读取结束了通知b写入,面试官又重申问题,我说那读写锁?让写操作优先?面试官说有很多用户这个时候想写入,怎么保证写入操作的次序和正确性,我说开辟一个缓冲区,每次写入的时候先判断缓冲区是否为空在进行下一步操作,然后就过了
3.详细介绍项目
4.海量数据找出第N大,我说先分N份每份用堆排找出最大值再把这N个值汇总进行一次堆排,最小值就是第N大(事后感觉答错了😕)问了时间复杂度是多少
5.最后一个问我学过图形学吗,我说本科学过现在全还回去了,问了一个三维空间怎么判断两条线段是否相交,想了一下回答可以判断这两条线段在三个平面内的映射是否相交,如果都相交那么这两条线段就是相交的(好像也不太对)
反问:部门介绍?后端在部门里负责哪些工作?什么时候能给答复?
最后说了尽量国庆假之前给答复,最晚不超过国庆假结束
求求了给个hr面吧在牛客许愿就没灵过😭之前大厂基本都死在二面今天终于摆脱二面终结者称号了哈哈哈
—— —— —— —— —— —— —— —— —— ——
9.29收到消息说面试通过,正在走流程
希望别出什么差错圆我大厂梦
许愿许愿许愿
————————————————————
10.13
收到offer
#实习##百度##面经#