1. 程式人生 > >2014人人校招 筆試總結

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就應該是去除冗餘後的總行數。

剛剛結果出來了,不幸,也在意料之中,沒有我。。