阿里電話面試(涼涼)


昨天剛做了阿里的筆試,兩道編程題都不太會做,本來以為沒下文了,結果...

今天晚上正在吃飯突然接到阿里電話面試,桌上的飯菜突然就不香了呢......

自我介紹

上來就先讓我自我介紹,慌亂之中趕緊清了清嘴里的食物(手動笑哭...),雖然沒有提前准備過講稿,但家中有糧,心里不慌,拿出簡歷現講^.^

大概就是講了講個人項目經歷以及獲得榮譽吧。不再細說了,趕緊回憶一下知識點。

數據結構的知識

我是非計算機科班出身啊啊啊啊!!!數據結構純自學。。還沒學完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