1. 程式人生 > >百度測試開發--一面(技術)

百度測試開發--一面(技術)

正在實驗室做實驗,一個電話讓我心驚膽戰,之前應該是有內推的過程,一個大哥哥打來電話,原來是百度的測試開發工程師,問我什麼時候有時間可以準備測試開發崗的實習面試,搞得我有點懵,糊里糊塗得說了一個第二天中午,掛完電話之後瞬間感覺這下尷尬了,我都不是很清楚測試開發是幹什麼的,怎麼就要明天面試了。 接下來也就是糊里糊塗的準備了一下,因為我的主語言是C++,所以我大概看了一些C++方面的基礎(動態記憶體分配,面向物件的特點--封裝,繼承,多型,還有指標陣列和陣列指標的區別,智慧指標。。。)看得也是雲裡霧裡,還有Linux的一些網路命令等等。 第二天中午,忐忑不安得按時接到了大哥哥的電話。 1.剛開始還是自我介紹(把自己的專案經歷以及主要擅長的方面介紹一下) 2.講自己的專案經歷,把做過的一些專案包括架構,業務流程,實現過程中的一些技術難點(我們這個肯定比較水,大概講了一下業務流程)講了一遍,這個過程中有問了一下多個本地資料庫訪問遠端資料庫的衝突解決(我說的是在訪問本地資料庫之前設定有許可權,即不同的本地資料庫的訪問許可權不同),又問了介面如何於客戶端進行的通訊(我們用的是QT,所以大概講了一下通訊的過程,QSoctet 利用TCP進行資料傳輸,訪問服務端主機的IP和埠號建立通訊) 3.又問了關於語言的方面的:C++,JAVA 的區別、什麼是面向物件、面向物件的特點(封裝,繼承,多型)、分別解釋每個特點(對多型答的不是很全面)、針對封裝中(private,public,protect)進行解釋、C++中三種動態記憶體分配的方式(我只知道兩個malloc,new)、malloc和new的分配記憶體方式(堆分配還是棧分配)、全域性變數的記憶體分配方式是堆分配還是棧分配、堆分配和棧上分配記憶體兩者有什麼區別和聯絡。(基本沒答上) 4.接下來問了關於網路方面的:ISO七層模型和TCP/IP四層模型、分別哪些層、每一層都是幹什麼的、TCP的三次握手、TCP傳輸和UDP的傳輸資料區別、TCP的傳輸是在哪一層。 5.問了演算法方面:給一個大檔案,裡面存一些詞語,使用者輸入關鍵詞,用什麼方式可以快速查詢到使用者想要的單詞?(我說了一個建立索引表,他就問資料庫裡的索引是怎麼實現的--不會)、那一些插入的演算法時間複雜度O(1)(折半插入大概o(nlgn),快排的方式實現插入,最好情況是(o(1)),紅黑樹)。 6.如何測試搜尋引擎的好壞(大概說了兩點:1.響應時間2.檢索詞條內容。是在時菜,想不出來了) 7.最後的瞭解一下Linux的使用情況,這裡僅僅會一些簡單的命令列操作。 一面下來45分鐘,電話面試。主要還是基礎,總之不會的千萬不要裝懂,因為他會沿著你說的持續問下去,深入擴充套件,有了解的一定主動把知道的說出來。不要裡面裝有大量自己不理解的詞語,不然會死的很慘。