1、簡答題(30分)
一、簡述數據庫操做的步驟(10分)
二、TCP/IP的四層結構(10分)
三、什麼是MVC結構,簡要介紹各層結構的做用(10分)
2、算法與程序設計(45分)
一、由a-z、0-9組成3位的字符密碼,設計一個算法,列出並打印全部可能的密碼組合(可用僞代碼、C、C++、Java實現)(15分)
二、實現字符串反轉函數(15分)
三、百度鳳巢系統,廣告客戶購買一系列關鍵詞,數據結構以下:(15分)
User1 手機 智能手機 iphone 臺式機 …
User2 手機 iphone 筆記本電腦 三星手機 …
User3 htc 平板電腦 手機 …
(1)根據以上數據結構對關鍵詞進行KMeans聚類,請列出關鍵詞的向量表示、距離公式和KMeans算法的總體步驟
(2)計算給定關鍵詞與客戶關鍵詞的文字相關性,請列出關鍵詞與客戶的表達符號和計算公式
3、系統設計題(25分)
一維數據的擬合,給定數據集{xi,yi}(i=1,…,n),xi是訓練數據,yi是對應的預期值。擬使用線性、二次、高次等函數進行擬合
線性:f(x)=ax+b
二次:f(x)=ax^2+bx+c
三次:f(x)=ax^3+bx^2+cx+d
(1)請依次列出線性、二次、三次擬合的偏差函數表達式(2分)
(2)按照梯度降低法進行擬合,請給出具體的推導過程。(7分)
(3)下圖給出了線性、二次和七次擬合的效果圖。請說明進行數據擬合時,須要考慮哪些問題。在本例中,你選擇哪一種擬合函數。(8分)
(4)給出實驗方案(8分)算法
第一部分 填選題數據庫
(選擇題全都是不定項選擇)編程
1. e1, e2, e3, e4按順序依次入棧,如下可能的出棧順序有()數組
A. e2, e3, e4, e1服務器
B. e1, e2, e4, e3數據結構
C. e3, e2, e4, e1iphone
D. e2, e4, e3, e1機器學習
ABCDsocket
2. 運算式X=A+B*(C-D)/E可能的後綴表達式()tcp
A. XABCDE/-*+=
B. XABC-DE/*+=
C. XABCD-*E/+=
D. XAB+CD/E-*=
畫出表達式樹而後後序遍歷(*和+可交換左右子樹),只有C知足
3. 非穩定排序有()
A. 冒泡排序 B歸併排序 C快速排序 D堆排序 E希爾排序
冒泡是穩定的,歸併沒有需交換也是穩定的,快牌須要非相鄰交換不穩定,堆排是選擇排序的變種也須要非相鄰交換不穩定,希爾的不一樣插入排序過程當中元素可能被交換也是不穩定的,答案CDE。
4. 一個有n個結點的四叉樹,每個結點都有4個指向子節點的指針,問有多少個空指針_______。
答:初始1個結點,4個空指針,每多1個結點則多3個空指針。4+3*(n-1)=3n+1
5. 一個函數,求運行結果
A15 B16 C17 D18
函數實現的是二進制下1的個數,一共15個選A。
6. 進程和線程的區別()
A. 操做系統只能調度進程,不能調度線程
B. 線程能夠共享內存地址空間,進程不能
C. 線程能夠共享內存數據,進程不能
D. 進程能夠用IPC進行通訊,線程不行
操做系統能夠調度線程;進程能夠經過共享內存進行通訊;進程的進程間通訊IPC不必定適用於線程(關於進程線程通訊,能夠看看wonder的這篇總結http://blog.csdn.net/wonderwander6642/article/details/8008241)。答案D。
7. 關於段頁式管理,哪一個說法是正確的()
A. 每一個進程一個段表,一個頁表
B. 每一個進程一個段,一個頁
C. 每一個進程一個段表,每段一個頁表
D. 每一個進程一個頁表
爲實現段頁式存儲管理,系統應爲每一個進程設置一個段表,包括每段的段號,該段的頁表始址和頁表長度。每一個段有本身的頁表,記錄段中的每一頁的頁號和存放在主存中的物理塊號。C
8. 關於TCP協議,哪一個說法是錯誤的()
A. 當鏈接關閉過程當中,兩端socket都要通過TIME_WAIT狀態
B. 一個established的TCP鏈接,shutdown可讓主動調用端進入半關閉
C. TCP協議默認保證了當一端崩潰,另外一端能自動檢測失效
D. 只有established的鏈接能夠收發信息,其餘都不能
主動關閉的Socket端會進入TIME_WAIT狀態,而且持續2MSL(maximum segment lifetime最大分節生命期)時間長度;
舉個例子,說明客戶端shutdown關閉socket過程:客戶端調用shutdown,客戶端向服務器發送了FIN,服務器確認ACK,而後發送完tcp對列中的數據PSH ACK,客戶端確認ACK,而後向客戶端發送FIN標誌,客戶端確認ACK。與closesocket關閉鏈接不一樣,shutdown關閉了發送數據通道,而沒有關閉接收數據通道,所以主動調用端近日半關閉;
對於每一個TCP鏈接,TCP管理4個不一樣的定時器。
(1)重傳定時器用於當但願收到另外一端的確認。
(2)堅持定時器使窗口大小信息保持不斷流動,即便另外一端關閉了其接收窗口。
(3)保活定時器可檢測到一個空閒鏈接的另外一端什麼時候崩潰或重啓。
(4) 2MSL定時器測量一個鏈接處於TIME_WAIT狀態的時間。
答案A
9. 關於主鍵Primary Key和索引index,如下說法錯誤的有()
A. 惟一索引列容許爲NULL
B. 一個關係表中的外鍵必爲另外一表的主鍵
C. 一個關係表只能有一個惟一性索引
D. 索引只用於查詢操做,對插入操做影響不大
若是某列有多行包含 NULL 值,則不能在該列上建立惟一索引。一樣,若是列的組合中有多行包含 NULL 值,則不能在多個列上建立惟一索引。在建立索引時,這些被視爲重複的值。而主鍵的值不可重複,也不可爲空(NULL)。
|
主鍵 |
外鍵 |
索引 |
定義: |
惟一標識一條記錄,不能有重複的,不容許爲空 |
表的外鍵是另外一表的主鍵, 外鍵能夠有重複的, 能夠是空值 |
該字段沒有重複值,但能夠有一個空值 |
做用: |
用來保證數據完整性 |
用來和其餘表創建聯繫用的 |
是提升查詢排序的速度 |
個數: |
主鍵只能有一個 |
一個表能夠有多個外鍵 |
一個表能夠有多個唯一索引 |
10. 數據庫中事務隔離分爲4個級別,其中容許「不可重複讀」的有()
A. SERIALIZABLE
B. READ COMMITTED
C. READ UNCOMMITTED
D. REPEATABLE READ
事務的隔離級別,從級別低到高依次爲:
READ UNCOMMITTED 幻像讀、不可重複讀和髒讀都容許。111
READ COMMITTED 容許幻像讀、不可重複讀,但不容許髒讀。110
REPEATABLE READ 容許幻像讀,但不容許不可重複讀和髒讀。InnoDB默認級別。100
SERIALIZABLE 幻像讀、不可重複讀和髒讀都不容許。000
關於髒讀,不可重複讀,幻象讀定義能夠參閱http://blog.csdn.net/memray/article/details/8051893
答案BC
11. 若是F(n)表示數列的第n項,其中定義以下
F(1)=1, F(2)=2, F(n)=F(n-1)+F(n-2) (n>=3)
請寫出一個函數求解F(n),並列出運算複雜度,要求運算複雜度小於O(n^2)。
答:編程實現題,只要不用F(n){F(n)=F(n-1)+F(n-2);}這種暴力遞歸就行(複雜度O(2^n))就行。
第二部分 專業知識(簡答題)
1. 數據預處理在數據挖掘中是一個重要的步驟,請你談談你對數據預處理的理解
2. 請說出你對中文分詞的理解,並談談它的難點和切分算法
3. 請列舉並說明幾個知名的分類算法
4. 請闡述K-均值聚類算法
5. 若是設計一個商品推薦系統,請談談你的思路
6. 請你談談你對觀點挖掘的理解
1、簡答題30分
一、靜態數據庫和動態數據庫的優缺點?10分
二、輪詢任務調度和搶佔式任務調度?10分
三、n折交叉驗證的思想?10分
2、算法與程序題45分
一、對一個正整數,找到比它大的最小的不重複數,其中不重複數就是相臨的兩個數不一樣,好比1101 是重複數,1231不是重複數?15分
二、很長的一串字符串,求最長迴文子串。15分
三、數組a[0],a[1]…a[n-1]是數軸上從左到右的n個數字點,長爲L的繩子最多能覆蓋幾個點?15分
3、系統設計25分 記不清了!!好像以下:
查詢q,將樣本分爲兩類xi和xj兩個集合,yi和yj是對應相關函數,yi比yj更相關則記爲xi>xj;fi(xi)和fj(xj),定義損失函數爲 L=log(1+e^(fj-fi));xi>xj
1,求L關於fj,fi的導數;
2.損失函數的缺陷,從新設計