9月23號進行的,我在成都參見的。一天都搞完了,三次面試。一面很過癮啊。拿到了淘寶的offer。希望給大家有些幫助吧。
1. 淘寶的筆試題目:
http://blog.csdn.net/randyjiawenjie/article/details/6796275
2. c/c++操作訪問數據,是堆中的數據快還是棧中的數據快?
3. 紅黑樹的查詢時間複雜度是多少?
4. 旋轉數組問題,求最快的查詢方法?100題目有這道題,但是想了半天,被提示了一下。然後要求寫出完整代碼?寫錯了兩處:while的條件和return,檢查了一下,過了。
5. C++的虛函數是怎樣實現的?
6. STL熟悉不?讀過STL的那些書?
7. 開始STL的問題了:Vector是怎麼實現的?List是怎麼實現的?
8. 現在我要統一一篇文章中的單詞的出現的次數,應該使用哪種容器?C++ primer上的一道例子。
9. 現在一個vector容納不下數據了,問vector此時會這麼辦?(三部曲)
10. allocator是什麼?有什麼用?(這個只知道是空間分配器,對容器進行分配空間的操作)問完以後,面試官一直在寫字,冷場了2分鐘。我打趣的說,我知道,allocator在侯捷的那本書中介紹得是最早的,比容器還早。
11. Map是怎樣實現的?(還是紅黑樹)
12. 多進程多線程熟悉不?知道概念。如果多個進程同時訪問hashtable,請問如何加鎖?hasttable的結構圖一畫出來就是了。這裏我愣住了,連續又是反問關於hashtable的知識:什麼事hashtable?什麼是同義詞?這個叫什麼?(關鍵字)(都是hashtable)的概念。粒度的概念?提示我當時做出的鎖住的對象,粒度過大。
13. 互斥鎖能不能在多線程中使用來鎖住資源?應該不行,多進程是共享數據,但是多線程之間不會共享,因爲進程是分配資源的最小單位。這個時候,就開始下一個問題了。
14. 有哪些進程同步的方法?主要是問過有沒有多線程使用的經驗?
15. 複製構造函數會在什麼時候被調用?還是c++ primer上的題目
16. 一道智力題:差點當場做出來,不容易啊。
現在有三個球,1個是黑球,2個白球。現在給你一個球,我有2個球。如果你想盡可能的要到黑球,問你要不要同我換球?我知道黑球是那個,我會給你揭開白球。
二面:
一個和藹的面試官。先問我android與java的關係,我說道j2se沒有問題,但是j2ee的東西我只是知道三個框架。OK,寫了一個java集合類的分佈。其餘的就是針對我的簡歷不斷問問題,其中間雜java一些概念,比如優化技術,比如對象池之類的。最後還讓我介紹了一下自己的論文:無線傳感器網絡的文章。
三面:
三面兩個人,一個HR,一個資深技術總監。恩,不斷地打壓我,說我做的東西沒啥技術含量,沒意思。我沉住氣,不斷地說我東西及其我的方向(無線客戶端)對於淘寶商城的重要意義。主要是問我對軟件的總體架構瞭解。