面试题无答案,有些我会加上提示!
网易一面:
1.内存对齐,为什么编译器要内存对齐,有什么好处?
2.auto关键字在什么情况下使用?
3.内联函数声明了就一定是内联函数吗?
答案:是的,补充:如果你调用一个内联函数之前,这个函数一定要在之前有声明或者已定义未inline,如果在前面声明是普通函数,而在调用代码后面才定义成inline,可以通过编译但是没有实现内联。
4.虚函数的底层实现
答案:虚表,单继承,多继承
5.析构函数在什么情况下不设置成虚函数有问题?
6.堆排序代码
7.快排代码
8.无需数组找出前K个最大数
答案:堆排序,调整K次就得到了(不是最优解)
9.两个栈模拟队列的操作
编程题:
1.
#include <iostream>
#include <stdio.h>
int main() {
char a[1000];
int i;
for(i=0;i<1000;i++)
{
a[i] = -1-i;
// printf("%d ",a[i]);
}
printf("%d\n",strlen(a));
return 0;
}
这个题考查char一个字节的范围,输出255
2.
两个有序数组,找出两个数组的交集。
答案:用归并的方式。
3.
二叉查找树找出任意两个节点的最近公共祖先节点
4.
一位大佬贡献:
第16题的答案是不可以,因为虚函数是基于对象,而构造函数去创建一个对象,过程向逆。
一位同事贡献:
本文由 Ryan 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为:
2019/01/19 21:22