阿里一面.

一开始是晚上七点半,直接一个电话过来就开始面试》。。

窝说不方便,又约了周末下午或者晚上,然后周六上午来了电话....。。。。于是又约了周天下午。。。

然后窝从两点开始等。。。等到六点半。。。决定去教室写报告。。。然后刚到教室电话就来了orz...

先是常规的简单自我介绍。。

然后先是问了一些cpp的问题。。

问了一些cpp的问题:

先是问了c和cppneicu内存的区别。。。我:????? 内存区别什么鬼。。

然后就回答了malloc,free,delete,new的区别。。。好像就是这个问题。。。

第二个问题是什么时候会内存泄露。。

我说申请了内存没释放blablabla...

第三个问题是cpp哪些函数不能为虚函数:

我说构造函数。。。面试官姐姐问还有呢。。。。窝说不知道了orz...

第四个问题问了指针和引用的区别。。。

我回答了三方面。。。初始化。。。赋值。。还有类型转化上。。。

面试官姐姐问还有呢。。。。我:喵喵喵喵喵?。。。不知道了。。。给点提示可?

面试官姐姐说在作为参数传递的时候。。。

我说传数组只能用指针。。不能用引用。。。

第五个问题问了栈和堆在xx方面的区别。。。(xx我不记得原词是什么了。。大概是说使用场合?)

我说一个是系统用。。一个是程序员用。。。(???

第六个问题是问我面向对象的特性。。。

我说是继承。。封装。。多态。。个人认为最核心的是多态blablabla...

然后面试官姐姐就问cpp多态的体现。。。

我说分动多态和静多态。。。。。。然后把模板,,,函数重载。。。虚函数什么的说了一下。。。

这大概是第一部分。。。第二部分问了我数据结构。。。

先问了我堆排。。。

给我一串无序数。。让我构造一个大根堆。。。。

我。。竟然。。。一脸智障。。。。。。

真的不记得了。。。。虽然记得这题数据结构考试还考过吧。。。

最后在面试官姐姐的提示下。。蒙出来了。。。人生污点啊。。。orz

然后问我复杂度。。。稳定性。。。

又问了快排。。让我给他讲一下快排。。。

我就说了取pivot的几种策略。。。然后复杂度的平均和最坏情况。。。以及避免最坏情况的方法。。。

然后面试官姐姐问我最坏情况的数据是怎么样的。。。

这个经典问题我竟然也。。。。(人生污点*2

答案是基本单调的。。。

然后问我一个有序的数组。。找index=value的值。。数组没有重复元素。。。

其实一开始没说单调。。。我问了一句她才说漏了个条件2333.

单调。。那就二分呗。然而我口头描述了下二分的代码。。。

就是l和r的值什么要注意一下吧。。。

然后问我有单调有重复怎么办。。。

一开始没过脑子。。。说了个两次二分出一个区间。。事实证明是错误的。。。

然而实际上只要稍微修改下二分代码就好了。。。。

之后问我一棵二叉树。。如何in-place 按照前序遍历转化成单项链表。。。想了一会。。。还是不会orz。。。

这大概是leetcode的套路题吧。。。由于觉得leetcode太恶心。。。刷了80+就没再刷了。。。QAQ

然后第三部分。。。问我我OS的东西。。。

问我了内核态和用户态的区别。。。

然后问我linux的blablabla....我说我不会QAQ  面试官姐姐就没再问这方面了。。。

后来面试官姐姐说这方面她也不太懂。。。

第四部分。。。问了我数据库。。?

就问了一个 事务的特性。。。

我就回答了acid...每个解释了一下。。。

然后就没了吧。。。