題意大概如下:
筆試:
1用ssh終端仿真軟件遠程運行linux程序,網絡中斷後,遠程程序會退出。原因?解決方案
2寫堆排序程序
3寫全排列程序,輸入[1,2,3],輸出[1,2,3]、[1,3,2]、[2,1,3]、[2,3,1]、[3,1,2]、[3,2,1]
4寫組合排列程序,輸入[1,2,3],輸出[[]]、[[1]]、[[1,2]]、[[1,3]]、[[2]]、[[2,3]]、[[3]]、[[1,2,3]]
5數字編碼,數字N編碼成M,M滿足一下條件:(1)M各位數字之和與N的各位數字之和相等,(2)M和N的位數相等,(3)M是滿足以上條件且比N大的最小數,(4)N的位數可能達到1000,N<10^500。如果不能轉換,則輸出-1。輸出S(N)序列:S(1)=f(N)=M,S(2)=f(M),S(3)=f(f(M)),直到輸出-1
6 Hash函數,A的任意區間均勻穩定分佈到B區間,如A區間100%,粒度0.1,A區間的10%均勻分佈到B區間,即B區間的每個10%都含1%A的10%區間?若A爲第一層,B第二層,如何?
7設計題,URL存儲,每一項有如下結構
Item1、count1、URL11、URL12…
Item2、count2、URL21、URL22…
Item2爲序號,count1爲後面URL的個數
設計以上結構的存儲和訪問方式,輸入Item1返回後面的URL,且支持AND、OR、()操作,如(Item1)AND((Item2)OR(Item3))
面試:
1 寫出strncpy的函數、與strcpy區別
2有一個數組,已知一個數出現的次數超過了一半,用O(n)時間複雜度、O(1)空間複雜度的算法找出這個數
3 m個人圍成一圈,按1234..n(n<=m)次序循環報數,報到n的離開,最後一個離開的是原先的第幾個人? 時間複雜度O(n)
4以下代碼有什麼問題
{
char* p = malloc(size);
…(內存操作)
}
5進程通信方式及區別
6 客戶端和服務器間通信過程
還有項目、實習經驗之類的