阿里电话面试(凉凉)


昨天刚做了阿里的笔试,两道编程题都不太会做,本来以为没下文了,结果...

今天晚上正在吃饭突然接到阿里电话面试,桌上的饭菜突然就不香了呢......

自我介绍

上来就先让我自我介绍,慌乱之中赶紧清了清嘴里的食物(手动笑哭...),虽然没有提前准备过讲稿,但家中有粮,心里不慌,拿出简历现讲^.^

大概就是讲了讲个人项目经历以及获得荣誉吧。不再细说了,赶紧回忆一下知识点。

数据结构的知识

我是非计算机科班出身啊啊啊啊!!!数据结构纯自学。。还没学完555

一、哈希表

hash表的实现主要包括构造哈希处理哈希冲突两个方面:

对于构造哈希来说,主要包括直接地址法平方取中法除留余数法随机数法等。

对于处理哈希冲突来说,最常用的处理冲突的方法有开放定址法再哈希法链地址法建立公共溢出区等方法。

在链地址法中,哈希表的桶个数使用质数,可以最大程度减少冲突概率,使哈希后的数据分布的更加均匀。如果使用合数,可能会造成很多数据分布会集中在某些点上,从而影响哈希表效率。

二、二叉树

深度优先遍历:

先序遍历:先访问根节点,然后再前序遍历其左子树,再前序遍历其右子树。

中序遍历:先中序遍历左子树,然后访问根节点,最后中序遍历右子树。

后序遍历:先后序遍历左子树,再后序遍历右子树,最后访问根节点。

广度优先遍历:

又叫层序遍历,从树的第一层,也就是根节点开始从上而下对每一层依次访问,在每一层中,从左往右访问结点。

 三、排序

快速排序:

堆排序:

操作系统的知识

进程和线程区别

C++的知识

虚函数:

一时间给我问懵了,不知道从何讲起,我回答了关于多态虚函数表的内容...

左值和右值:

引用和指针区别(参考牛客网):

1.指针有自己的一块空间,而引用只是一个别名,不是对象;

2.使用sizeof看一个指针的大小是4,而引用则是被引用对象的大小;

3.指针可以被初始化为NULL,而引用必须被初始化且必须是一个已有对象的引用;

4.作为参数传递时,指针需要被解引用才可以对对象进行操作,而直接对引 用的修改都会改变引用所指向的对象;

5.可以有const指针,但是没有const引用;

6.指针在使用中可以指向其它对象,但是引用只能是一个对象的引用,不能被改变;

7.指针可以有多级指针(**p),而引用至于一级;

8.指针和引用使用++运算符的意义不一样;

9.如果返回动态内存分配的对象或者内存,必须使用指针,引用可能引起内存泄露。

智能指针:

四个智能指针: auto_ptr, shared_ptr, weak_ptr, unique_ptr (第一个已经被C++11弃用)

作用:管理一个指针。因为若动态开辟的内存空间忘记释放,会造成内存泄漏。由于智能指针是一个类,当超出了类的作用域,类会自动调用析构函数来释放资源。所以智能指针的作用原理就是在函数结束时自动释放内存空间,不需要手动释放内存空间。

shared_ptr:允许多个指针指向同一个对象。当进行拷贝或赋值操作时,每个shared_ptr会记录有多少其他的shared_ptr指向相同的对象,称为引用计数。一旦一个shared_ptr的计数器变为0,它就会通过析构函数自动释放所管理的对象。

unique_ptr:则“独占”所指向的对象。

计算机网络的知识

TCP/IP三次握手,为什么不能两次或者4次,断开链接为什么要4次

这个网上很多

规划题(重点考察思路)

从香港出发,香港广州杭州上海北京,再回到香港,飞机票价不一定,求小于1000块的所有乘机方式。

 

以上。

昨晚笔试题本来就已感觉自己凉凉了,没想到还有电话面试。就当作是增加经验了,确实还有很多不足,需要加强学习。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM