楼主FDU弱鸡,绩点不到3.0,记录一下春招过程。
3.9华为一面:
自我介绍
问我做过什么项目(大一大二欠的课太多,一直在补之前的课,没做过什么项目,就没继续问)
虚函数和纯虚函数(纯虚函数大概意思说出来了,但没说虚函数写法是=0,想不起来了,还好说完没细问)
全局变量和局部变量分别在内存的位置
new、delete和malloc、free有什么区别
stl用过么,说说map、set分别干什么的
表示同样大小的数据,数组和链表哪个占用空间大
如果有一个常量,是定义为宏常量好还是定义为const常量(这个我答错了,应该是定义为const常量,宏常量的话符号会被替换掉不易查错。使用const定义,既可以保证值的唯一性,又便于调试,同时还可以对数据类型进行检查,借助编译器来减少错误的发生)
写代码,两个分数相加返回约分后的结果,代码是写对了但是有点瑕疵,时间效率不够好。(在IDE写分享屏幕给面试官)
瞎鸡儿写的:
一共差不多50分钟,面试官全程戴口罩,语气也比较柔和,感觉挺好的。
3.11 华为二面:
自我介绍
学过数据结构没有,我说有。那说下排序算法,大概说了冒泡、选择、插入、堆排序、归并排序、快速排序以及对应稳定性。
手撕代码4选1:
第一个,一面砖墙,画一条竖线,哪里画线穿过的砖块最少。
第二个,https://leetcode-cn.com/problems/house-robber/打家劫舍原题,条件改成相距为2及以下的不能一起偷。
第三个,https://leetcode-cn.com/problems/number-of-islands/岛屿数量原题
第四个,求一个二叉树所有的左叶子节点(求和还是返回统计数组忘了)
我选的2,简单DP
对华为加班怎么看,我:????这不是hr面的问题吗
你还有什么问题吗
感受:太水了,我还准备了好久的OS计网,结果就问了个排序。。。
3.11跟谁学一面凉经:
自我介绍
我自我介绍里说了我学过的专业课程,问你喜欢哪一门,我说数据结构和计算机网络都可以。
TCP和UDP的区别,举一些使用二者的栗子。我说UDP的例子DNS、DHCP,应用的话流式视频、视频聊天等。使用TCP的比如金融、涉及钱的、实时游戏。
使用过什么socket函数,我说我只使用过python的socket函数,recvfrom、send、listen等等。还有没有底层一点的函数,比如操作系统的socket接口,我说没有。
继续问udp传输视频会丢包为什么不使用tcp,我说tcp建立连接费时间,他说关系不大。我又说udp是尽力而为,传的快,TCP还要视网络状况调整速率。还是关系不大。我又说流媒体DASH技术,可以防止丢包。还是不对。
我说那可能会使用P2P技术,这样用户之间互相传递可以少占用服务器资源减少丢包。最后说你这样用UDP最后还是要在上层实现数据一致,为什么不直接用TCP。我说那我不知道了,此话题终结。
用没用过Linux,我说用得少,基本命令会。
平时用什么ide,我说vscode。那你是g++命令行还是内置编译器,我说我内置mingw。gcc编译文件的参数知道吗,我说只知道几个-o -s -i。
说说gcc编译文件的过程。说说链接是干嘛的。说说静态库动态库干嘛的。
说说线程间通信的方法。
两个进程共享数据可不可以直接将一个进程中的指针传给另一个进程,为什么。这里我知道他是想问虚拟内存。然后我说了虚拟内存和物理内存的区别。之后一路追问我如何实现,页表、MMU、TLB等等,最后问我MMU是硬件还是操作系统实现的。
归并排序和快排有什么区别,除了时间复杂度。我说快排更快,然后说了下STL的sort是先快排再堆排再插排。然后问我为什么要这样。我答插排在小数据量的时候快,并且之前已经快排划分过,所以相对有序。追问说插排排的也是划分过的左右子区间,并没有相对有序。想了半天还是回答不出,此话题结束。(我就不该提STL的sort)
vector从空pushback到一百万,复杂度是多少。讨论了15分钟,最后一次我终于说对了,此话题结束。
共享腾讯文档写代码:一个升序数组,长度n,目标m,如果不存在返回-1,存在则返回下标。
就普通二分,一分钟写完了。大致如下:
问,while里可以不可以写一个else if(==m){break;}来提前退出。哪种好。
我说如果m存在肯定你的好,不存在我这个好,因为elseif判断也要时间。
说跟这个没关系,假设数据完全随机而且存在,我说那应该还是你这个好(复杂度都是logn,我是真不知道他想问啥),因为如果某个区间中点正好是目标值可以提前退出。
还是说和这个没关系,再想想。我说我真想不出来,代码讨论结束。
还有什么问题吗?我问还有几面,没了。
总结来说,还有很多问的东西没想起来。这位面试官是那种打破砂锅问到底型的,一个问题抛过来,一旦我稍微深入解释一下,就一路直接问到最底层实现直到我不会为止。反正我是招架不住了,还是华为简单。。。
3.13华为三面(主管面):
3.23字节跳动一面:
3.24米哈游一面:
3.27字节跳动二面: