C++一面凉经 做java的投了C++面经

让我进二面吧,我一定加速学习C++,让二面时,基础问题不出错


1.
//在64位结果是什么
struct node{
    int i;
    int *p;
}
int main(){
    node a;
    cout<<sizeof(a.i)<<sizeof(a.p)<<sizeof(a)<<endl;
}
我答得4,4,8;不过int *p应该是8
2.    什么是虚函数
3.         32位和64位下,基础数据类型有什么不同
4.        在一千万个数中找一百个最大值(采用最小堆构建前100个值,从101个开始遍历并调整最小堆,整个时间复杂度是nlogn)
5.反转链表(3分钟写了reverse,12分钟在构造链表还错了,就因为我忘了new node/malloc(siezof))
6.        冒泡排序最坏的时间复杂度(n^2);
7.   快速排序最坏的时间复杂度(nlogn),【54321】使用快排 正序的时间复杂度是(我觉得就是nlogn,因为需要partiton)
8.    一个节点为n的数,最坏情况的深度是多少,最好是多少?(n,logn+1)
9.   char的取值范围(忘了是问的值范围还是字符范围了)
10. unordered_map、unordered_set、set、map的底层是什么,他们有什么区别?(按照java源码,我说这两个set的底层都是map,而map的底层就是hash表,区别一点都没答出来)
11.hash解决冲突方法(线性探查法、链地址法)
12.hash表负载因子过大怎么办?(我说成倍数扩容,也不知道对不对)
13.了解红黑树吗?(还没看)
14.说说AVL树。(搜索二叉树的改进版,他的左右子树高度不超过1)

应该是还有题,不过我忘了

#深信服校招##面经#
全部评论

相关推荐

点赞 5 评论
分享
牛客网
牛客企业服务