部门是计算平台,貌似实习没过直接转为校招了,不知道这个算内推还是正式校招。
说是半个小时,实际讲了快一个小时,都比较基础,问的太多了,题目顺序有点乱。
1.空结构体sizeof的返回值。
2.int i=1;sizeof(i++); i的值变为多少;
2.5 数组里面的大小可以为0吗;那-1呢。
3.一个char跟int的结构体大小是多少
4.C+构造函数能抛异常吗,析构呢
5.volatile关键字
6.explicit关键字
7.模板熟不熟,为什么模板的定义跟声明要在同一个文件中。
8.讲下模板偏特化,定义了int偏特化的话,对double类型的模板有效吗
9.讲下虚函数的机制
10.讲下虚继承
11.unsigned char a=-1,printf("%d",a)输出什么;int b=a; printf("%d",a)输出什么。(牛客选择题,模糊)
12.访问类private成员的方法,比如编写单元测试,私有成员没有暴露接口。
13.std::string怎么实现的,有什么机制保证size等操作;线程安全吗,中间有'\0'时cout输出;用printf的输出、
14.vector怎么实现,增长方式,为什么list不能下标随机访问,vector可以。(内存连续)
15.了解C++11吗,讲下auto关键字与类中的delete。
16.讲讲函数参数是多个参数怎么传递,比如说printf的参数,怎么确定大小(压栈,牛客选择题,模糊),一个int型printf%s会出什么情况。
17.gcc跟vs哪个比较熟,问了gdb的断点怎么实现的。C++里用过asm汇编吗,想起来好像是中断。
18.讲讲同步跟异步,举了网络编程的例子,没太讲好。追问同步、异步阻塞非阻塞这些概念怎么联系起来
19.顺着问了下select,epoll的区别。
20.顺着问了网络字节序
21.网络编程处理了多大的并发,10k问题?
22.Tcp头部校验的原理,安全吗,可以仿造吗
23.多线程里一个线程sleep,实质上是在干嘛,忙等还是闲等。
24.线程通信互斥这种原子操作,底层是怎么实现的。
25.讲讲用户态内核态,以send函数跟recv为例子。
26.malloc跟new是否线程安全,答不清楚,说你自己的理解。
27.有没有用过free指令,里面的buff/cache是什么意思与区别
28.程序从编译到运行经历哪几个阶段。运行的时候怎么找到函数的地址。
29.dll,so这种动态库在运行的时候可不可以删掉,会被保护吗。(可以,因为载入内存了,但是退出可能会有问题),跑程序时进一步一个大文件(10G)载入内存可以删掉吗,小的文件呢,删掉空间会释放吗。
30.写过脚本语言吗,10G大小的文件分成十份用什么命令。
31.二叉树遍历,描述下层序遍历。
32.单链表的翻转
33.项目中用过什么开源的东西。。答没有,只说了openssl;分布式一致呢,说了一大堆hadoop什么的都说没搞过。
34.Mysql呢,acid这些特性懂不懂,innodb呢,我说只知道事务安全,目前这个用的最多。
35.闲聊了下项目
.