24百度提前批-C++后端-一面

都是些基础八股,问的很浅很多,记不全,一共60min

C++:

  • C++智能指针
  • STL基本容器用过哪些
  • sizeof一个空的结构体,返回什么
  • malloc/free和new/delete区别
  • 有了new是不是可以就不用malloc了?

计网:

  • TCP三次握手四次挥手
  • TCP能不能改成2次握手
  • OSI七层网络模型
  • HTTP1.1, 2.0区别

操作系统:

  • 进程通信方式
  • 死锁的必要条件是什么(描述了死锁的情况,但不满意,一直问必要条件是什么,麻了)
  • 进程调度算法有哪些,最短作业优先怎么样的,有什么弊端
  • 讲一下select/pool/epoll
  • 讲一下同步(阻塞,非阻塞)IO/异步IO

MySQL:

  • 用过哪些数据库,了解NOSQL吗
  • MySQL有哪些索引
  • 主键索引和唯一索引区别
  • 一个联合索引(a,b,c),查询(a,c),能用到索引吗
  • 事物的特性

项目:(问的很少)

场景题:两个包含5亿URL的文件,找两个文件的重复URL,内存只有4G。

算法:数组中找第K大的数

全部评论
sizeof一个空的结构体,返回什么 答:1。这是因为在 C++ 中,每个对象都必须有一个独一无二的地址,所以即使结构体中没有任何成员,它也必须占用至少 1 个字节的空间,以便能够被区分开来。 然而,我发现在有的编译器上如下代码是可以运行的: struct a{ char b[0]; }; int main(){ a b; cout << sizeof(b) << endl; printf("%p\n",&b); a c; cout << sizeof(c) << endl; printf("%p\n",&c); return 0; } 并且输出如下: 0 0x7fff2e25db36 0 0x7fff2e25db37 所以说即使sizeof返回为0了,仍然占用了1个字节的大小。我觉得很神奇,有大佬帮忙解释以下吗
3 回复 分享
发布于 2023-07-21 17:33 北京
过了吗
1 回复 分享
发布于 2023-07-21 15:47 江苏
蹲一下等个后续
1 回复 分享
发布于 2023-07-21 16:21 吉林
有了new是不是可以就不用malloc了? 这题怎么答呀?在C++里面好像确实不需要malloc了吧,C语言的话因为没有new关键字所以只能使用malloc。
1 回复 分享
发布于 2023-07-21 16:54 北京
请问佬是哪个部门呀
点赞 回复 分享
发布于 2023-07-21 16:39 新加坡
m
点赞 回复 分享
发布于 2023-07-22 08:30 陕西
八股在哪看啊
点赞 回复 分享
发布于 2023-07-23 18:04 陕西
深圳爷
点赞 回复 分享
发布于 2023-07-25 18:41 山东
感谢分享
点赞 回复 分享
发布于 2023-07-25 21:08 广东
这场景题怎么搞
点赞 回复 分享
发布于 2023-07-26 06:52 黑龙江

相关推荐

joe2333:怀念以前大家拿华为当保底的日子
点赞 评论 收藏
分享
评论
32
200
分享
牛客网
牛客企业服务