2014人人校招 筆試總結
2014人人校招,今天參加了筆試,主要內容包括作業系統、資料結構、計算機網路一共12道選擇題,一道關於Sql的問答題(較複雜,刪除重複的內容),三道編碼題(字串處理、轉換數字為中文形勢、大檔案有重複且考慮記憶體情況下統計行數)。
下面說一下我都做錯了哪些吧!還有一些重點
1.粗心做錯
對於類的“+”的過載,一道選擇題,一不小心選錯了,class A,正常過載成員函式原型為:
A A::operator +(const A &A2);
2.基礎不夠
(1)友元函式的訪問,一個類的友元函式能夠通過(類物件引數)訪問類的所有成員。
(2)程序轉換可能有哪些?如圖記住就好
(3)網路協議
ARP 地址解析協議(資料鏈路層),ARP為通過IP地址對映到到MAC地址
RARP 逆地址解析協議(資料鏈路層),RARP一般用於無盤工作站啟動時通過硬體地址獲得IP地址。
順便對於網路協議總結一下
計算機網路中五層協議分別是(從下向上):
1) 物理層 2)資料鏈路層 3)網路層 4)傳輸層 5)應用層
其功能分別是:
1)物理層主要負責在物理線路上傳輸原始的二進位制資料;
2)資料鏈路層主要負責在通訊的實體間建立資料鏈路連線;
3)網路層主要負責建立邏輯鏈路,以及實現資料包的分片和重組,實現擁塞控制、網路互連等功能;
4)傳輸曾負責向用戶提供端到端的通訊服務,實現流量控制以及差錯控制;
5)應用層為應用程式提供了網路服務。
一般來說,物理層和資料鏈路層是由計算機硬體(如網絡卡)實現的;
網路層和傳輸層由作業系統軟體實現;
而應用層由應用程式或使用者建立實現。
3. 難度上升
(1) 資料庫操作,刪除一個表中的冗餘資料,這個比較複雜,因為沒有主鍵,只有兩個欄位id和name,而且name冗餘,想了好久也沒想到是怎麼刪除的,最後胡亂寫了一個。現在查詢資料之後有了一些思路:根據rowid刪除,每一條記錄都有唯一的rowid。可以通過下面語句檢視想要刪除的row的rowid
SELECT a.*,rowid FROM a;
(2)大檔案行數統計,這個想到了一個比較好的思路,就是利用userid範圍建立一個int陣列,全部初始化a[n]=n, 迴圈讀,每次讀出一個數字符合就賦值為0,同時count++,如果a[n]==0,說明前面已經讀過,忽略這次的結果繼續讀,最後的count就應該是去除冗餘後的總行數。
剛剛結果出來了,不幸,也在意料之中,沒有我。。