1. 程式人生 > >程式設計師筆試題---搜狐

程式設計師筆試題---搜狐

今天下午進行了搜狐公司實習生研發崗的筆試,題目都很基礎,HR妹妹也很漂亮,也很溫柔哦!

一、判斷題

1.c語言中,int型別佔4個位元組。

這個具體的要看編譯器的位數:


2.IPv4佔4個位元組,IPv6佔6個位元組。

 iPv4佔4個位元組,IPv6佔128位,就是16個位元組

3.CPU佔用的地址都是虛擬記憶體地址。

還有六道記不起來了,都是一些很基礎的。

二、不定項選擇題

1.c語言中,swith(c),c的型別可以是:byte,short,char,int  注意(long是不行的)

2.多執行緒的題目。

3.資料庫的死鎖方面的知識。

同時select沒有問題。但是有些情況不行如:select,update,select

4.歐氏距離,馬氏距離相關概念。

5.哈弗曼編碼的知識(這個好多公司考)

6.二分查詢。500個記錄從大到小排列,最壞的情況下,要比較多少次記錄。

7.排列組合的問題。(這個有2-3道題目)

8.表示式的字首式和字尾式。

9.C語言中巨集的定義和替換。

10.50個球隊,採用淘汰制,每一局比賽就將失敗的隊伍淘汰,問最後的冠軍,一共參加了幾場比賽。

11.序列49,38,65,97,76,13,27,50.用快速排序的方式,需要幾趟可以將之排成有序的。

12.一個二叉樹的高度為8,則該二叉樹最多的節點數是多少?

13.在路由器互聯的多個區域網中,通常要求每個區域網的資料鏈路層協議和物理層協議都可以不相同。

and so on。 都是一些基礎知識。

三、填空題

1.linux下,介面shell的兩種方式是?

2.4個執行緒併發執行,都需要5個資源A,則為了防止死鎖,最少需要幾個資源A?

3.從1-9中選出6個數,組成三個兩位數並且都是質數,他們的和也是質數,問這個和最小是多少?

13、29、47--->89
17、29、43--->89

4.http請求資源,除了GET方式,還有哪三種?

  • OPTIONS 
    返回伺服器針對特定資源所支援的HTTP請求方法。也可以利用向Web伺服器傳送'*'的請求來測試伺服器的功能性。
  • HEAD 
    向伺服器索要與GET請求相一致的響應,只不過響應體將不會被返回。這一方法可以在不必傳輸整個響應內容的情況下,就可以獲取包含在響應訊息頭中的元資訊。
  • GET 
    向特定的資源發出請求。注意:GET方法不應當被用於產生“副作用”的操作中,例如在Web Application中。其中一個原因是GET可能會被網路蜘蛛等隨意訪問。
  • POST 
    向指定資源提交資料進行處理請求(例如提交表單或者上傳檔案)。資料被包含在請求體中。POST請求可能會導致新的資源的建立和/或已有資源的修改。
  • PUT 
    向指定資源位置上傳其最新內容。
  • DELETE 
    請求伺服器刪除Request-URI所標識的資源。
  • TRACE 
    回顯伺服器收到的請求,主要用於測試或診斷。
  • CONNECT 
    HTTP/1.1協議中預留給能夠將連線改為管道方式的代理伺服器。

5.多項式演算法,成為什麼演算法。

6.linux下,獲取pid等於1800的命令是什麼?

7.一種動物,活到25歲以上的概率是0.7,活到30歲以上的概率是0.3,現在一個動物現年26歲,他活到30歲的概率是多少?

  3/7

8.七層模型是哪七層,每層模型的協議有哪些?

從下到上:

TCP/IP: 
網路介面層:ARP,RARP
網路層: IP,ICMP,IGMP
傳輸層:TCP ,UDP,UGP
應用層:Telnet,FTP,SMTP,SNMP.

OSI:
物理層:EIA/TIA-232, EIA/TIA-499, V.35, V.24, RJ45, Ethernet, 802.3, 802.5, FDDI, NRZI, NRZ, B8ZS
資料鏈路層:Frame Relay, HDLC, PPP, IEEE 802.3/802.2, FDDI, ATM,  IEEE 802.5/802.2
網路層:IP,IPX,AppleTalk DDP
傳輸層:TCP,UDP,SPX
會話層:RPC,SQL,NFS,NetBIOS,names,AppleTalk,ASP,DECnet,SCP
表示層:TIFF,GIF,JPEG,PICT,ASCII,EBCDIC,encryption,MPEG,MIDI,HTML
應用層:FTP,WWW,Telnet,NFS,SMTP,Gateway,SNMP
OSI和TCP/IP
物理層,資料鏈路層,網路層,傳輸層,應用層。

9.restful是什麼?

四、論述題

1.淺談雲端計算和移動互聯

2.講下GC的常用三種演算法。

  • 引用計數(Reference Counting)
    比較古老的回收演算法。原理是此物件有一個引用,即增加一個計數,刪除一個引用則減少一個計數。垃圾回收時,只用收集計數為0的物件。此演算法最致命的是無法處理迴圈引用的問題。
  • 標記-清除(Mark-Sweep)
    此演算法執行分兩階段。第一階段從引用根節點開始標記所有被引用的物件,第二階段遍歷整個堆,把未標記的物件清除。此演算法需要暫停整個應用,同時,會產生記憶體碎片。
  • 複製(Copying)
    此演算法把記憶體空間劃為兩個相等的區域,每次只使用其中一個區域。垃圾回收時,遍歷當前使用區域,把正在使用中的物件複製到另外一個區域中。次演算法每次只處理正在使用中的物件,因此複製成本比較小,同時複製過去以後還能進行相應的記憶體整理,不過出現"碎片"問題。當然,此演算法的缺點也是很明顯的,就是需要兩倍記憶體空間。
  • 標記-整理(Mark-Compact)
    此演算法結合了"標記-清除"和"複製"兩個演算法的優點。也是分兩階段,第一階段從根節點開始標記所有被引用物件,第二階段遍歷整個堆,把清除未標記物件並且把存活物件"壓縮"到堆的其中一塊,按順序排放。此演算法避免了"標記-清除"的碎片問題,同時也避免了"複製"演算法的空間問題。
  • 增量收集(Incremental Collecting)
    實施垃圾回收演算法,即:在應用進行的同時進行垃圾回收。不知道什麼原因JDK5.0中的收集器沒有使用這種演算法的。
  • 分代(Generational Collecting)
    基於對物件生命週期分析後得出的垃圾回收演算法。把物件分為年青代、年老代、持久代,對不同生命週期的物件使用不同的演算法(上述方式中的一個)進行回收。現在的垃圾回收器(從J2SE1.2開始)都是使用此演算法的。

3.虛擬函式在C++中的含義,多型對於面向物件有什麼意義?

4.用非遞迴演算法,求解斐波那契函式。

5.一個有序的序列,x1,x2,x3,,,xn.從中選出若干個數,使其和與給定的M最接近。寫出思想。

這次搜狐的題目,出的整體很基礎,我相信大家只要基礎牢固的話,什麼這些題目都是小case。

對答案有見解的童鞋,歡迎留言哦!

我的答案稍後奉上!嘿嘿!