【互联网行业-哔哩哔哩】哔哩哔哩 C/C++ 开发工程师(多媒体方向)一二面(已凉)
内推的, 直接免了笔试, 8.23晚上面试一个小时
24号上午通知的二面
8.23 哔哩哔哩 C/C++ 开发工程师一面(多媒体方向)(45分钟面经, 15分钟写代码)
自我介绍
一个int8_t类型的数转换为uint8_t的值是多少, 例如-1转换为uint8_t是多少, 一个int8_t类型的-2加上uint8_t类型的8答案是6吗
C++空类会默认生成那些函数
如何不使用额外空间交换两个变量的值, 说了相加, 又问有什么弊端, 又答了缺点以及答了异或
new, malloc, delete, free的关系和区别
数组和指针的区别, sizeof(char *)和sizeof(a[10])(a为char类型数组)
C++中的多态, 如何实现的, 虚函数和虚函数表, 如何禁止使用构造函数, 应该如何使用这种类
C++引用一个C语言的库应该如何操作, C++和C语言编译出来的函数有什么区别, 答了C++函数可以重载, 因为重载会导致有区别
vector, list和map插入元素的时间复杂度
内存泄露和内存溢出
三次握手四次挥手, 如果四次挥手最后没有等待2MSL会发生什么, 为什么在接收到客户端的FIN包的时候就立马返回ACK包
select, poll和epoll
进程间通信方式, OSI七层模型简介, 传输层的功能, 表示层的功能
常量指针和指针常量
当遍历list的时候如果删除了某一个元素erase, 会出现什么问题
手撕代码, 两个经典题目, 第一个题目是层序遍历二叉树, 写出二叉树的定义和核心代码即可, 第二个题目是找到链表的倒数第k个节点,写出链表定义以及核心代码即可
能否用变量来指定数组的长度, 为什么, 例如: int a = 4; int b[a];, 说了不合法, 必须为const才可以
问完就一个小时了, 也没有反问环节, 希望能过
8.26 C/C++ 开发工程师二面(多媒体方向)(30分钟, 挂)
自我介绍, 项目中的挑战介绍一下, 实验室项目的应用场景
代码题, 口述的题目, 一个二维矩阵中只有0和1, 然后输出一个大小相等的矩阵, 矩阵每一个位置的值为最近的0的距离长度(没想出来, 面试官提示之后还是没有做出来, 最后是bfs, 首先将所有为0的位置入队, 然后出队的时候将上下左右位置检索)
微服务与无服务的区别
智能指针的原理, 和其他有GC的编程语言相比的优缺点
如何看待B站, 为什么来
反问一般是三轮面试, 过了不一会儿就流程终止了