热门话题白皮书HR资料
牛客面经 | 实习没过转为校招,阿里C++岗30+面试真题分享
2024.05.24


阿里C++一面面经



作者:TheBestIsYetToCome-

来源:牛客网


部门是计算平台,貌似实习没过直接转为校招了,不知道这个算内推还是正式校招。


说是半个小时,实际讲了快一个小时,都比较基础,问的太多了,题目顺序有点乱。


——然后就挂了


  • 空结构体sizeof的返回值。

  • int i=1;sizeof(i++); i的值变为多少

  • 一个char跟int的结构体大小是多少

  • C+构造函数能抛异常吗,析构呢

  • volatile关键字

  • explicit关键字

  • 模板熟不熟,为什么模板的定义跟声明要在同一个文件中。

  • 讲下模板偏特化,定义了int偏特化的话,对double类型的模板有效吗

  • 讲下虚函数的机制

  • 讲下虚继承

  • unsigned char a=-1,printf("%d",a)输出什么;

  • 访问类private成员的方法,比如编写单元测试,私有成员没有暴露接口

  • std::string怎么实现的;线程安全吗,中间有'\0'时cout输出;用printf的输出

  • vector怎么实现,增长方式,为什么list不能下标随机访问,vector可以

  • 了解C++11吗,讲下auto关键字与类中的delete

  • 讲讲函数参数是多个参数怎么传递,比如说printf的参数,怎么确定大小等,一个int printf%s会出什么情况

  • gcc跟vs哪个比较熟,问了gdb的断点怎么实现的。C++里用过汇编语言吗。

  • 讲讲同步跟异步,举了网络编程的例子,没太讲好。追问同步、异步阻塞非阻塞这些概念怎么联系起来

  • 顺着问了下select,epoll的区别

  • 顺着问了网络字节序

  • 网络编程处理了多大的并发,10k问题?

  • Tcp头部校验的原理,安全吗,可以仿造吗

  • 多线程里一个线程sleep,实质上是在干嘛,忙等还是闲等

  • 线程通信互斥这种原子操作,底层是怎么实现的

  • 讲讲用户态内核态,以send函数跟recv为例子

  • malloc跟new是否线程安全,答不清楚,说你自己的理解

  • 有没有用过free指令,里面的buff/cache是什么意思与区别

  • 程序从编译到运行经历哪几个阶段。运行的时候怎么找到函数的地址

  • dll,so这种动态库在运行的时候可不可以删掉。跑程序时一个大文件(10G)载入内存可以删掉吗,小的文件呢。删掉空间会释放吗

  • 写过脚本语言吗,10G大小的文件分成十份用什么命令

  • 二叉树遍历,描述下层序遍历

  • 单链表的翻转

  • 项目中用过什么开源的东西;分布式一致呢,问了一大堆hadoop的都没听过

  • Mysql呢,acid这些特性懂不懂,innodb呢,我说只知道事务安全,目前这个用的最多

  • 闲聊了下项目



戳“阅读原文”,与作者交流,查看更多面经