面经详情

阿里巴巴一面100分钟,超详细cpp面试
我是下午3点50左右开始面试的,一直面试到下午5点半才结束。面试了整整100分钟。 之前投递过阿里巴巴的面试,不过我投递的是c++,然而来了一个面试官,面试我java,简直吐血啊。然后我挂了,所以面试官第一件事情就是问我,你以前投递java过? 然后开始面试c++。首先简单介绍一下自己做的项目(也就是发的论文)。 然后,开始面试c++,先面试c++基础,然后再面试c++内存对象模型,感觉问地超级详细,详细到菱形继承,以及虚函数表的存放位置,为什么会有的把vbtr存放在前面,为什么有的存放在后面,(g++和visual studio存放方式是不一样的),还问我如果我们不采用vbtr的方式,还是使用继承的原理,该怎么解决菱形继承的问题?这个题目我没有答出来。 然后是4中类型转换,详细说出各种类型转换时干什么的(估计这个时候面试官已经觉得我ok了,就问一下这个简单的问题,c++ primer上面有这个的答案。)。接下来,就大家聊一下对c++的看法。 然后,结束。 结束的时候,面试官说,小伙,别走,我直接带你去终面吧。 技术面试结束。
Q:c++对象模型中的多态问题?1条回答

相关推荐

匿名用户
C++
未通过未通过
1.讲一下Http包的解析过程。首先在Request请求包里面包括包括请求行、请求报头、空行、请求正文。在请求正文里包括请求方法、Uri、还有版本信息;在请求行报头中包含一些属性信息;空行分隔请求报头与请求正文;请求正文是post方式提交的参数。其次在send发送包里面包括状态行、响应包头、空行、响应正文。在状态行里分为版本号、状态码、状态码描述;响应报头包含一些属性信息;空行分隔响应包头与响应正文;响应正文中方响应内容; 2.vector与list有什么区别。vector的地址空间是连续的,list的地址空间是不连续的; 3.set和map的底层数据结构是什么?他们的底层数据结构都是红黑树; 4.在设计上为什么使用红黑树而不使用平衡二叉树。AVL的最大缺点在于他对于数据的结构要求的十分苛刻,左右高度差不能超过1,一旦数据量过大就会进行旋转平衡。红黑树对于数据结构的要求比AVL树的要求要低一点,平衡旋转没有那么频繁。对于数据的查找在红黑盅与AVL树中的时间,对于现代的计算已经没有什么区别了。 5.在C++中class与struct有什么区别。首先在C中struct是结构体,在C++中struct赋予了面向对象的能力,他可以实现封装,继承,多态。为什么常用用class不用struct,为了区别对待C与C++。class的默认访问限定符是私有,struct的默认访问限定符是公有。 6.struct与union有什么区别。在struct中,所有的成员都有自己的的存储空间,而且为了便于寻址和管理,所有数据都要遵循内存对其原则;在union中,所有的成员共用一块存储空间,以最大的类型作为空间,对于联合体的不同成员赋值,将会对它的其他成员重写,原来成员的值就不存在了。而对结构体的不同成员赋值是互不影响的。 ...查看更多
2 年前 发布
匿名用户
C/C++开发工程师
未通过未通过
一面:视频面,在线测评过了后官网一直显示面试中,一直以为面试会提前通知约好时间,没想到是电话突然袭击问现在方不方便视频面试,还没来得及复习数据结构算法还有计网一些知识,有点慌,然后急急忙忙打开电脑,打开邮件中的链接开始视频面,面试大概持续了1个半小时(1小时面试,半小时手写代码) 1、 自我介绍; 2、 总共介绍了3个项目,每个项目都问了一遍相关内容,觉得做的最好的地方。 3、 打的比赛也问了,什么流程做了些什么事情。 4、 C和C++区别; 5、 gcc和gdb用过吗,怎么用。 6、 堆和栈的区别; 7、 指针数组和数组指针的区别? 8、 动态分配内存的好处; 9、 源文件到可执行文件的过程。 10、 Static的作用?函数里变量加static什么用。 11、 Include和””的区别; 12、 什么是纯虚函数; 13、 抽象类和具体类的区别?举几个例子? 14、 指针数组和数组指针的区别? 15、 future用过吗?没有。C++11新特性; 16、 模板元编程的好处; 17、 一个char[20]数组,sizeof的值是多少,strlen的值是多少? 18、 静态链接与动态链接的区别; 19、 深拷贝和浅拷贝的区别?为什么要有这种东西20、 Linux下源文件怎么变成可执行文件; 21、 Linux下查看进程状态的命令?(后面说不太熟悉linux就到此为止了。。) 22、 Btree和B+tree的区别? 23、 Mysql增删改查的命令?添索引的命令? 24、 两个表怎么合并; 25、 视图有用过吗?(没有。) 26、 TCP三次握手,四次分手具体方式; 27、 TCP/IP几层?介绍每层; 28、 矩阵乘法算法; 29、 Dijkstra算法(忘记了。)说思路,在引导下还是不太记得,但面试官很和蔼说没关系比较复杂的算法一时半会想不起来也很正常。 30、 一个字符串,过滤掉中间不需要的字符; 31、 写二叉树的查找,自己写测试样例自己测试。 32、 有什么问题要问我的。面试官建议没回答上的地方后面加强一下,有嵌入式/linux开发经验会更好。 二面:二面是电话面试,在一面后不到一个星期,同样的也是突然袭击,好在有了第一次的经验已经准备好了,持续时间很短只有不到半小时。 1、 讲项目、比赛,最有挑战性的地方在哪。(debug,测试的时候,用日志输出来,打断点,一步步修改代码); 2、 进程同步互斥的方法; 3、 讲一下管程; 4、 TCP建立连接的过程; 5、 HTTP和HTTPS的区别; 6、 HTTPS怎么工作的; 7、 数据库索引,什么时候需要建立什么时候不需要建; 8、 索引失效的情况; 9、 堆和栈的区别; 10、 操作系统分给进程的内存多大; 11、 深拷贝和浅拷贝的区别; 12、 动态链接库和静态链接库区别; 13、 结构体和类的区别?C++和C结构体有什么区别? 14、 大概讲一下快速排序。 15、 大概讲一下动态规划原理。 16、 有什么问题要问我的二面结束两天后状态显示已回绝,可能有的地方还是没答详细、或者因为没有实习经验被刷了。 ...查看更多
2 年前 发布
1
匿名用户
C/C++开发工程师
未通过未通过
内推: 一面: 推荐简历之后的第二天接到一面,是蚂蚁金服部门打过来的,刚好是晚饭时间还让我把饭吃完再打过来了。大概持续了半小时左右,自我介绍,然后就开始计算机基础一个个的开始问。时间有些久了,我记不太清了,大概哈,进程和线程的区别?https和http是什么协议,区别,https是如何实现的?TCP协议介绍?加密算法?MD5是什么?C++构造函数和析构函数分别能否是虚函数以及其原因。多态是如何实现的。C++内存管理和栈,堆等等。最后问了一个简单的算法题。然后还给介绍了蚂蚁金服部门,包括杭州的和上海这边的,以及他们团队是做什么的,他所在组主要是用java,问我愿不愿意转java。 二面:二面是一个晚上差不多十点打过来的,面试官说加班很正常,哈哈。这次是蚂蚁金服在上海的团队打过来的,一面的面试官虽然说不是很懂C++但还是问的我C++,二面很直接,先是让我介绍我做的项目,就项目一问一答的聊了聊。然后问我会java么,我说我学过用过,但最近未用过,其实就是忘了差不多了,他还是问了我java的问题,我基本答不上来蛮尴尬的。之前做过web的项目,SSM框架,他让我介绍这个项目,解释浏览器输网址到得到页面结果,servlet的处理过程生命周期之类的, 问对MVC的理解, 还有spring框架,解释spring中的反射机制。 三面: 因为二面问的这些问题我真心无力,以为是挂了的,没想到隔了很久接到hr的电话,也是晚上,完全没在状态。时间很短,十五分钟吧,问最近在做的项目,你在里面承担了什么角色,你觉得整个过程自己做的最好的是什么,最不喜欢的过程是什么。以后的职业规划是怎么样的,实习的时间,等等。...查看更多
2 年前 发布

进入微信小程序

前往微信小程序,查看更多结果

立即前往
看准网阿里巴巴阿里巴巴面试经验阿里巴巴面试经验:阿里巴巴一面100分钟,超详细cpp面试