阿用里巴巴-面试详细记录.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
阿里巴巴一面: 1.有一个类A,类B和类C分别公有继承类A,是否可以用dynamic_cast把类B转化为类C。我说不能的,因为类B和类C不是一个继承层次,不能用dynamic_cast进行转换的,会抛出异常。然后它问我强制类型转换中有个reinterpreter_cast,使用它会不会抛出异常。我说,reinterpreter_cast只是告诉编译器这个在编译时需要对内存中的内容进行重新解释,并不会破坏数据的结构,不会抛出异常。 2.const关键字都有什么作用,你能依次列举出来吗?这个挺好列举的,然后我依次在使用const的各种场合枚举了一遍。他问我能够把const常量赋值给相应的变量,我说不能,那样会编译错误的。一般用const_cast关键字去除常量的常量性,但是const_cast只是让把const常量赋值给变量成为可能,并不会改变原const常量的常量性。 3.类中的构造函数能否为虚函数?类中的析构函数能否为虚函数?类中static静态函数能否为virtual?前面那两个挺好回答的。第三个问题可以稍微想下就能够回答了。static是属于类一级的,一个类的所有对象共享该函数,不能用this指针指向,而虚函数却告诉编译器,函数的具体 操作需要根据运行时指向的对象调用相对应的函数,需要由this指针指向,所有相互之间矛盾。因此static静态函数不能为virtual。然后面试官就点点头。 4.操作系统中cache的作用。一般人都能够回答得出cache的一般作用,但是要让面试官满意,必须对问的问题有个深入的解析。我说出了cache的作用,然后从空间局部性和时间局部性来指出cache的作用。面试官听完我说的,点点头说,非常对。然后就开始问我其他的了。 5.我笔试题中有一道关于LRU换页机制原理的题算错了。他说,这道题你算错了,你意识到了吗?其实这个我在做题的时候也跟另外一种方式弄混了,把结果算错了。他问我能否重算一遍,我想了想,能的。其实我做题的时候就是因为一个知识点弄混了,我抱着试试看的态度重算了下,用另外一种跟我笔试时候混淆的方法,小心翼翼的算了下,竟然算对了。让我挺意外的,感觉这应该算是人品了。幸亏笔试后我同学提醒我,否则如果我面试时候还是坚持说自己是对的,就蛮尴尬的。 6.不知道阿里巴巴一面是否问到数据库,好像每次面试都会遇到数据库,而且每次必见索引,让我相当惊讶。在我面去哪儿网的时候,我简历上明明写着了解数据库,没想到他们还问了我蛮多数据库方面的题,让我感觉有点难受。面去哪的时候他问我索引的底层实现是什么,什么时候会用到索引,索引的作用,还有一个关于索引的,说是假如一个数据库的主键为ID定义时候说是incream,能够支持随机ID号的插入。还有就是一个SQL查询语句的写法,查询出两张表中,表A含有而表B不含有的ID号。不能用exist和in,表示不太会。有点像在刁难。好像阿里巴巴没有问到这些。不过这些在面试中还是蛮重要的,需要有所了解,尽量能够答好些,毕竟优秀的人那么多,多答好一道题,多一份把握。 7.问了我一道算法题。有许多区间,区间之间可能会相互重叠,怎样去掉一些区间,让他们彼此之间都不重叠,而且剩下的区间总数尽可能的多。我想了想,感觉能够用贪心去做,需要对所有区间进行一次排序,然后依次往后贪心,剩下的区间相互之间不相互重叠,剩下的区间数最大。他说,你说的感觉蛮对的。你能否用数学归纳法证明下。我想了想,就证明了下,虽然证明出来了,但是不是特别像真正意义上的数学归纳法,面试官说如果你考研的话或许能够弥补你在这方面的空缺。后来又说,研究生能够证明的也没几个。 8.最后问了一道编码题,需要编出代码的。给你两个栈,一个栈中的数据无序,一个空栈,要求你把栈中的所有数据放到空栈中,而且使得空栈中的数据有序。我想了想,感觉蛮像冒泡排序的,每次倒出无序栈中的所有数据放到有序栈中,然后随便记录下其最大值,假设倒了N个,那么把无序栈倒空后,需要把最大值之外的N-1个全部倒入无序栈,然后把最大值放入有序栈。就是一个冒泡排序,不断冒泡,知道无序栈为空为止,代码并不难写。 9.中间好像问了一个关于strcpy函数的写法,这个好像也是每次面试必问的。蛮简单的,参照下标准写法就知道了。 10,STL好像也问了一些,如果你简历上有所提及STL。map和hashtable好像是必问的。问你map底层的实现,只要答是红黑树即可,然后又问,为什么要用红黑树?这个需要对红黑树稍微有所了解。不问问得很深。然后问下hash,这个也需要有所了解。变态的是去哪儿二面竟然让我写红黑树,感觉他真心不想要人了,百般刁难,这种公司可以忽略不计,只要对STL稍微有所了解即可。 11.STL知识点。问我是否知道deque底层的实现。我以前看到STL相关的书,好像deq

文档评论(0)

haoxianshen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档