2017 阿里巴巴 C++后台開發一面 3.14


下午4點接到一個杭州打過來的電話,阿里巴巴一面。持續時間半個小時。

 

面試官是阿里雲KVStore組。

 

1.自我介紹,說一下項目

說了下之前在公司做的手繪幾何圖形規整輸出的項目,提了下當時遇到的問題,以及用到的解決方法。也說了下現在組里面在做的表情識別的項目。講了8分鍾的樣子。

2.C++STL標准庫里的知識

sort的時間復雜度。

這個好簡單,O(NlogN),然后我補充了下sort是快排的思想,然后是不穩定的排序算法,是基於泛型編程的思想,除了支持基本的STL中的數據類型,還支持自定義的數據類型進行排序。傳進去的是迭代器或者指針,直接操作的地址,然后支持重載,第三個參數可以重寫cmp排序規則。

Vector的增長模式。

首先vector是一種順序容器,動態數組,在聲明的時候可以調用構造函數直接開辟一定大小連續的空間。當空間滿的時候,重新申請一個2倍的空間,將原來的所有數據考唄過去。

Map底層

紅黑樹,比較復雜,和multimap的區別。

3.平常怎么調試代碼,主要在那個平台

平常主要用vs,Windows下,用過mac下的clion。編譯出錯,先看是不是語法錯誤,如果是邏輯錯我,通過打log、打斷點,定位錯誤的地方調試。

4.內存泄漏的問題

我只答出了數組越界,指針作用域之外指向地址不明,變野指針,復雜度太高遞歸次數太多爆棧。答得不好,后來查了下,發現還有好多沒說到,C++內存泄漏的幾種情況

5.有了解C++的發展么

現在出到了C++17,上一個版本是C++14,17不了解,出了什么智能指針,方便管理內存。我用過的只有aotu關鍵字。

6.網絡編程

問epoll和poll,最近在補,還沒看到那塊,說了下自己寫的TCP的Socket編程,服務器端和客戶端的業務邏輯。

7.Linux

同步互斥 文件加鎖解鎖,線程安全 猝。

 

我提問環節,讓面試官介紹了下他所在部門主要做哪方面。

KVStore,做redis數據存儲的,平常是在linux上對內核進行開發優化,也做一部分遠程運維。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM