2021.3.15:
无提前通知,突然打电话,我称之为摸底面。
- 虚函数和虚函数表,虚函数表存储的位置(在gcc编译器的实现中虚函数表vtable存放在可执行文件的只读数据段.rodata中)
- 数据库中,主键和索引的区别
- 计算机网络中,time_wait状态位的含义,以及出现的原因
- delete和delete[] 的区别
由于基本上都没回答上来,面试官没再继续深问,所以这次摸底面直接给我摸没了,四分钟结束!
2021.4.2:
qq浏览器二面:
-
源码到可执行文件的过程(自作孽提到的),链接过程做了什么,答错了!
-
面向对象指什么
-
排序算法都有什么,时间复杂度?归并和排序适用的场景?快排最坏情况?如何避免?
-
堆和栈区别?栈溢出?
-
linux下输入一条指令,指令从输入到完成的过程?
-
磁盘读取方式,SSD读取方法
-
多层缓冲的作用
-
GIt使用过吗?如何合作适用
-
算法:给定字符串,是一个计算公式,有+ - * / ( ) ,返回计算结果。
-
算法:实现字符串转int,即stoi函数,要求尽量排除特殊情况,不符合要求返回-1.
2021.4.7:
qq浏览器三面:
- 英语成绩(一脸懵!)
- ARM和x86内存区别?大小端区别?如何判断?union和指针两种方法?
- 字节对齐?有什么用?关掉有什么问题?(关掉会降低数据读取速度,例如对于int型,在非整数倍地址上可能会读取两次才能读到数据)
- extern C什么用?为什么?C++有函数重载,编译时函数名+变量类型,C无函数重载,只有函数名
- C语言编译后的内存布局?bbs段内容?为什么?存未初始化的全局变量和静态变量;bss段主要是为了节省程序的目标文件或者说可执行文件所占的磁盘空间。未初始化数据段只在运行的初始化阶段才会产生,因此它的大小不会影响目标文件的大小;https://www.zhihu.com/question/432000161
- volatile关键字作用?保证可见性、有序性
- 线程通讯方式?无锁方法?自旋锁作用,应用场景?在多CPU的环境中, 对持有锁较短的程序来说,使用自旋锁代替一般的互斥锁往往能够提高程序的性能。线程并不希望在重新调度上花太多的成本。
- 26个字母输出子集?