一、 在MySQL的HASH索引是什麼javascript
其實,hash就是一種(key=>value)形式的鍵值對,如數學中的函數映射,容許多個key對應相同的value,但不容許一個key對應多個value。正是因爲這個特性,hash很適合作索引,爲某一列或幾列創建hash索引,就會利用這一列或幾列的值經過必定的算法計算出一個hash值,對應一行或幾行數據(這裏在概念上和函數映射有區別,不要混淆)。在java語言中,每一個類都有本身的hashcode()方法,沒有顯示定義的都繼承自object類,該方法使得每個對象都是惟一的,在進行對象間equal比較,和序列化傳輸中起到了很重要的做用。css
二、 輸入0和非0開頭的數字,其正則表達式是html
三、 判斷一個序列是否爲堆前端
答:進行二叉樹進行排序,判斷是否孩子結點都大於父節點都大於稱爲大根堆,或者孩子結點都小於父結點稱爲小根堆。java
四、 js開箱即用的小部件和UI部件是mysql
答:開箱即用的小部件有ExtJS、YUI;開箱不即用的部件有Prototype、jQuery、MooToolsjquery
五、 Js文本域支持的事件有,題目選出不支持的正則表達式
tabindex, accesskey, onfocus, onblur, onselect, onchange,
onclick, ondblclick, onmousedown, onmouseup, onmouseover,
onmousemove, onmouseout, onkeypress, onkeydown, onkeyup算法
六、 abc +*表明的表達式sql
參考:http://blog.csdn.net/antineutrino/article/details/6763722/
舉例:
(3 + 4) × 5 - 6 就是中綴表達式
- × + 3 4 5 6 前綴表達式
3 4 + 5 × 6 - 後綴表達式
中綴表達式:經常使用的算術表示形式
前綴表達式(前綴記法、波蘭式)
前綴表達式的運算符位於操做數以前。
前綴表達式的計算機求值:
從右至左掃描表達式,遇到數字時,將數字壓入堆棧,遇到運算符時,彈出棧頂的兩個數,用運算符對它們作相應的計算(棧頂元素 op次頂元素),並將結果入棧;重複上述過程直到表達式最左端,最後運算得出的值即爲表達式的結果。
例如前綴表達式「- × + 3 4 5 6」:
(1) 從右至左掃描,將六、五、四、3壓入堆棧;
(2) 遇到+運算符,所以彈出3和4(3爲棧頂元素,4爲次頂元素,注意與後綴表達式作比較),計算出3+4的值,得7,再將7入棧;
(3) 接下來是×運算符,所以彈出7和5,計算出7×5=35,將35入棧;
(4) 最後是-運算符,計算出35-6的值,即29,由此得出最終結果。
能夠看出,用計算機計算前綴表達式的值是很容易的。
後綴表達式(後綴記法、逆波蘭式)
後綴表達式與前綴表達式相似,只是運算符位於操做數以後。
後綴表達式的計算機求值:
與前綴表達式相似,只是順序是從左至右:
從左至右掃描表達式,遇到數字時,將數字壓入堆棧,遇到運算符時,彈出棧頂的兩個數,用運算符對它們作相應的計算(次頂元素 op 棧頂元素),並將結果入棧;重複上述過程直到表達式最右端,最後運算得出的值即爲表達式的結果。
例如後綴表達式「3 4 + 5 × 6 -」:
(1) 從左至右掃描,將3和4壓入堆棧;
(2) 遇到+運算符,所以彈出4和3(4爲棧頂元素,3爲次頂元素,注意與前綴表達式作比較),計算出3+4的值,得7,再將7入棧;
(3) 將5入棧;
(4) 接下來是×運算符,所以彈出5和7,計算出7×5=35,將35入棧;
(5) 將6入棧;
(6) 最後是-運算符,計算出35-6的值,即29,由此得出最終結果。
七、 基於比較的經常使用排序算法
選擇排序、冒泡排序、插入排序、希爾排序、歸併排序、快速排序、堆排序
八、 PDA分析圖在功能、結構、在什麼時期使用
PAD圖(problem analysis diagram,問題分析圖):
與方框圖同樣,PAD圖也只能描述結構化程序容許使用的幾種基本結果。它用二維樹形結構的圖表示程序的控制流,以PAD圖爲基礎,遵循機械的走樹(Tree Walk)規則就能方便地編寫出程序,用這種圖轉換爲程序代碼比較容易。
其特徵爲:
1)結構清晰,結構化程度高;
2)易於閱讀
3)最左端的縱線是程序主幹線,對應程序的第一層結構;每增一層PAD圖向右擴展一條縱線,幫程序的縱線數等於程序層次數。
4)程序執行:從PAD圖最左主幹線上端結點開始,自上而下、自左向右依次執行,程序終止於最左主幹線。
九、 DHCP向客戶端發送的消息
DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)是一個局域網的網絡協議,使用UDP協議工做,主要有兩個用途:給內部網絡或網絡服務供應商自動分配IP地址,給用戶或者內部網絡管理員做爲對全部計算機做中央管理的手段
DHCP使用客戶端/服務器模式,請求配置信息的計算機叫作DHCP客戶端,而提供信息的叫作DHCP的服務器。DHCP爲客戶端分配地址的方法有三種:手工配置、自動配置、動態配置。
十、 SNMP報文共有哪幾部分組成
由三部分組成:版本號、團體名、協議數據單元PDU
參考:http://blog.csdn.net/shanzhizi/article/details/11606767
十一、 Vsftpd服務器流量的控制參數
十二、 決策樹對於噪聲的敏感度小
1三、 下列地址中哪一個地址與86.32/12沒法匹配
86.32/12的含義是前12位是網絡地址,只需看IP地址的前12位是否是與之相同便可。
1四、 已知文法G[S]
S->AdB
A->a|
B->b|Bdb|
則G[S]的活前綴是:
1五、 一個c語言程序在一臺32位機器上運行,定義兩個變量x,y,
其中x的數據類型爲int,y的數據類型爲float,已知x=2013,y=201.3,則在一個32bit的機器中執行下列表達式時,結果爲真的有(BCD)這是一個多選題
Y =(float)(int)y
Y =(float)(double)y
X =(float)(int)x
X =(int)(float)x
編程題:一、求A,B兩個集合的並集 ; 還有一個編程題忘了,也不會作
1111111111
三、問答題
一、談談優雅降級和漸進加強的區別
答:漸進加強 progressive enhancement:針對低版本瀏覽器進行構建頁面,保證最基本的功能,而後再針對高級瀏覽器進行效果、交互等改進和追加功能達到更好的用戶體驗。
優雅降級 graceful degradation:一開始就構建完整的功能,而後再針對低版本瀏覽器進行兼容。
區別:優雅降級是從複雜的現狀開始,並試圖減小用戶體驗的供給,而漸進加強則是從一個很是基礎的,可以起做用的版本開始,並不斷擴充,以適應將來環境的須要。降級(功能衰減)意味着往回看;而漸進加強則意味着朝前看,同時保證其根基處於安全地帶。
二、解釋盒模型,行內元素與塊級元素的概念
盒模型:盒模型是CSS的核心知識點之一,它指定元素如何顯示以及如何相互交互。頁面上的每一個元素都被當作一個矩形框,這個框由元素的內容、內邊距、邊框和外邊距組成。
塊級元素:塊狀元素排斥其餘元素與其位於同一行,能夠設定元素的寬(width)和高(height),塊級元素通常是其餘元素的容器,可容納塊級元素和行內元素。常見的塊級元素有div, p ,h1~h6等。
行內元素:行內元素不能夠設置寬(width)和高(height),但能夠與其餘行內元素位於同一行,行內元素內通常不能夠包含塊級元素。行內元素的高度通常由元素內部的字體大小決定,寬度由內容的長度控制。常見的行內元素有a,span,em ,strong等。
三、簡述cookies\sessionstoage和localstorage的區別
共同點:都是保存在瀏覽器端,且同源的。
區別:(1)存儲位置不一樣,cookie數據始終在同源的http請求中攜帶(即便不須要),即cookie在瀏覽器和服務器間來回傳遞。而sessionStorage和localStorage不會自動把數據發給服務器,僅在本地保存。
(2) 存儲大小限制也不一樣,cookie數據不能超過4k,同時由於每次http請求都會攜帶cookie,因此cookie只適合保存很小的數據,如會話標識。sessionStorage和localStorage雖然也有存儲大小的限制,但比cookie大得多,能夠達到5M或更大。
(3) 數據有效期不一樣,sessionStorage:僅在當前瀏覽器窗口關閉前有效,天然也就不可能持久保持;localStorage:始終有效,窗口或瀏覽器關閉也一直保存,所以用做持久數據;cookie只在設置的cookie過時時間以前一直有效,即便窗口或瀏覽器關閉。
(4) 做用域不一樣,sessionStorage不在不一樣的瀏覽器窗口中共享,即便是同一個頁面;localStorage在全部同源窗口中都是共享的;cookie也是在全部同源窗口中都是共享的。
四、如何進行前端優化,簡述幾種經常使用的方法
第一:面向內容的優化
1. 減小 HTTP 請求
網頁請求時將會頻繁的與服務器創建鏈接,與釋放鏈接,這一定會形成資源的浪費,且每一個HTTP請求都會對服務器和瀏覽器產生性能負擔。
2. 減小 DNS查找
DNS信息會保存在操做系統的DNS緩存中(如windows上的DNS Client Service)。大多數瀏覽器有本身的緩存,與操做系統的緩存有所不一樣。只要瀏覽器在本身的緩存上面保留DNS記錄,它不會向操做系統請求DNS記錄。
當咱們在瀏覽器的地址欄輸入網址(譬如: www.baidu.com) ,而後回車,回車這一瞬間到看到頁面到底發生了什麼呢?
域名解析 --> 發起TCP的3次握手-->創建TCP鏈接後發起http請求-->服務器響應http請求,瀏覽器獲得html代碼-->瀏覽器解析html代碼,並請求html代碼中的資源(如js、css、圖片等)-->瀏覽器對頁面進行渲染呈現給用戶。
3. 避免重定向
重定向用於將用戶從一個URL從新路由到另外一個URL。當頁面發生了重定向,就會延遲整個HTML文檔的傳輸。在HTML文檔到達以前,頁面中不會呈現任何東西,也沒有任何組件會被下載。
經常使用的重定項類型:(1)301永久重定項(2)臨時重定項(3)Not Modified
4. 使用 Ajax緩存
Ajax在發送的數據成功後,會把請求的URL和返回的響應結果保存在緩存內,當下一次調用Ajax發送相同的請求時,它會直接從緩存中把數據取出來,這是爲了提升頁面的響應速度和用戶體驗。當前這要求兩次請求URL徹底相同,包括參數。這個時候,瀏覽器就不會與服務器交互。
這種設計使客戶端對一些靜態頁面內容的請求,好比圖片,css文件,js腳本等,變得更加快捷,提升了頁面的響應速度,也節省了網絡通訊資源。
5. 預先載入組件
資源預拉取(prefetch)則是另外一種性能優化的技術。經過預拉取能夠告訴瀏覽器用戶在將來可能用到哪些資源。
7. 減小 DOM元素數量
考慮大量DOM元素中循環的性能開銷,在循環結束時一次性寫入。減小對DOM元素的查詢和修改,查詢時可將其賦值給局部變量。
第二:面向 Server
1. 壓縮內容 (Gzip Components)
對於絕大多數站點,這都是必要的一步,能有效減輕網絡流量壓力。
2. 設置 Etags (Configure ETags)
對於 Etag,多是多數網站維護者都會忽略的地方。在這一系列優化規則出現以前,可能互聯網上絕大多數站點都對這個問題忽略了。
第三:面向cookies
1. 縮小 Cookie
若是須要用Cookie,那麼應該儘量使其體積小一些。
這樣作的緣由是:
若是對某個域(Domain)保存了Cookie,那麼針對這個域的全部請求,都會發送這些全部的Cookie(哪怕當前請求根本用不着,例如針對圖片的請求),大量地、重複地發送Cookie毫無疑問會增長網絡的流量,並所以而下降請求被執行的性能。
2. 針對 Web組件使用域名無關性的
這個話題在此前針對 Web 圖片服務器的討論中曾經說起。這裏說的 Web 組件(Component),多指靜態文件,好比圖片CSS等,客戶端請求靜態文件的時候,減小了Cookie的反覆傳輸對主域名的影響。
五、如何設計開發一個圖片輪播組件,簡述要點或寫代碼。