京東2016實習生招聘 PHP開發工程師
1關於軟件質量特性,指軟件所實現的功能滿足用戶需求的程度的是(正確性)
2在MySql中,如果要修改表的列名,下列語句的語法正確的是(ALTER TABLE 表名字 CHANGE 列名字新列名字)
3不同系列的機器之間,實現軟件移植途徑不包括(用統一的匯編語言)
4有一語法制導翻譯如下所示: S→bAb {print"1"} A→(B {print"2"} A→a {print"3"} B→Aa) {print"4"} 若輸入序列為b(((aa)a)a)b,且采用自底向上的分析方法,則輸出序列為( 34242421 )
解析:
null null b(((aa)a)a)b
null b (((aa)a)a)b
3 b(((A a)a)a)b A→a {print"3"}
4 b(((Aa) a)a)b B→Aa) {print"4"}
2 b(((B a)a)b A→(B {print"2"}
4 b((Aa) a)b B→Aa) {print"4"}
2 b((B a)b A→(B {print"2"}
4 b(Aa) b B→Aa) {print"4"}
2 b(B b A→(B {print"2"}
1 bAb null S→bAb {print"1"}
5windows系統口令配置文件是( c:\windows\system32\config\SAM )
解析:SAM文件即賬號密碼數據庫文件。
當我們登錄系統的時 候,系統會自動地和Config中的SAM自動校對,
如發現此次密碼和用戶名全與SAM文件中的加密數據符合時,
你就會順利登錄;如果錯誤則無法登錄。
如果你不用管本來系統卡包含的任意賬號,而且有兩個操作系統的話,可以使用另外一個能訪問NTFS的操作系統啟動電腦,或者雖然沒有安裝兩個系統,但可以使用其他工具來訪問NTFS。然后刪除C:\\WINNT\\system32\\config目錄下的SAM文件,重新啟動。這時,管理員Administrator賬號就沒有密碼了。當然,取下硬盤換到其他機器上來刪除SAM文件也算個好辦法。
小提示:WindowsNT/2000/XP中對用戶賬戶的安全管理使用了安全賬號管理器(Security AccountManager,SAM)的機制,安全賬號管理器對賬號的管理是通過安全標識進行的,安全標識在賬號創建時就同時創建,一旦賬號被刪除,安全標識也同時被刪除。安全標識是惟一的,即使是相同的用戶名,在每次創建時獲得的安全標識都是完全不同的。因此,一旦某個賬號被刪除,它的安全標識就不再存在了,即使用相同的用戶名重建賬號,也會被賦予不同的安全標識,不會保留原未的權限。 安全賬號管理器的具體表現就是%SystemRoot%\\system32\\config\\sam文件。SAM文件是WindowsNT/2000/XP的用戶賬戶數據庫,所有用戶的登錄名及口令等相關信息部會保存在這個文件中。
小提示:MBR俗稱主引導區,它的作用是讀取磁盤分區表(Partition Table)里面所設定的活動分區 (Active Partition),位於硬盤的柱面0、磁頭0、扇區1的位置,也即俗你的0磁道位置。它是由分區命令fdisk產生的。MBR包括硬盤引導程序和分區表這兩部分。MBR結束標志為55AA,用殺毒軟件KV3000的F6功能即可查看,其默認畫面即為MBR。如果MBR找不到活動分區,就會在屏幕上顯示像Missing operating System等錯誤訊息,所以,如果你的WindowsXP無法正常開啟。而你又在屏幕上看到類似這樣的錯誤訊息,原因大多就是出在這里了。
7在一個長度為n的帶頭結點的單鏈表h上,另設有尾指針r(指向尾結點),在單鏈表最后一個元素之后插入一個新元素p,執行的操作( r->next=p;p->next=NULL; r=p; )
8后綴算式5 3 2+ * 8 2/ -的值為( 21 )
后綴表達式
不包含括號,運算符放在兩個運算對象的后面,所有的計算按運算符出現的順序,嚴格從左向右進行(不再考慮運算符的優先規則,如:(2 + 1) * 3 , 即2 1 + 3 *
這里我給出一個中綴表達式:a+b*c-(d+e)
第一步:按照運算符的優先級對所有的運算單位加括號:式子變成了:((a+(b*c))-(d+e))
第二步:轉換前綴與后綴表達式
前綴:把運算符號移動到對應的括號前面
則變成了:-( +(a *(bc)) +(de))
把括號去掉:-+a*bc+de 前綴式子出現
后綴:把運算符號移動到對應的括號后面
則變成了:((a(bc)* )+ (de)+ )-
把括號去掉:abc*+de+- 后綴式子出現
9在分塊查找中,若索引表各塊內均用順序查找,則有324個元素線性表若分成9塊,其平均查找長度為( )
若以順序查找方式來確定元素所在的塊,則平均查找長度為:(b+1)/2+(s+1)/2
其中b代表索引表的長度(即總塊數)
s代表塊內所含元素的個數
所以:(9+1)/2+(324/9+1)/2=23.5
10
有一個有序表為{1,5,8,11,19,22,31,35,40,45,48,49,50},當二分查找值為48的結點時, 查找成功需要比較的次數( 4 )
一共13個數,將其分別標號為1~13:
low和high分別指向待查元素所在范圍的下界和上界,mid指向區間的中間位置,
第一次比較:low=1,high=13,mid=7,31<48,未找到
第二次比較:low=mid+1=8,high=13,mid=10,45<48,未找到
第三次比較:low=mid+1=11,high=13,mid=12,49>48,未找到
第四次比較:low=11,high=mid-1=11,mid=11,48=48.找到,結束。
13
分析下面的HTML代碼段,該頁面在瀏覽器中的顯示效果為( 從右向左滾動顯示“Welcome!” )
<HTML> <body> <marquee scrolldelay="300" direction="left">Welcome!</marquee> </body> </HTML>
14在HTML5中,sessionStorage保存數據的方法正確的是( sessionStorage.setItem("鍵名","鍵值"); )
setItem存儲value
用途:將value存儲到key字段
用法:.setItem( key, value)
代碼示例:
sessionStorage.setItem("key", "value"); localStorage.setItem("site", "js8.in");
getItem獲取value
用途:獲取指定key本地存儲的值
用法:.getItem(key)
代碼示例:
var value = sessionStorage.getItem("key"); var site = localStorage.getItem("site");
removeItem刪除key
用途:刪除指定key本地存儲的值
用法:.removeItem(key)
代碼示例:
sessionStorage.removeItem("key"); localStorage.removeItem("site");
clear清除所有的key/value
用途:清除所有的key/value
用法:.clear()
代碼示例:
sessionStorage.clear(); localStorage.clear();
15
若表單提交時采用的是Get方法,則服務器端要獲得表單所提交的數據,應采用:(Request.QueryString(”表單域名”))
16
下面代碼加入下面那個函數后返回TRUE:
return ? == 'A';
(chr(65))
17
執行下面的代碼后,
<?php echo function_exists('print'); ?>
得到的輸出是:(空)
返回false echo為空
18
如果沒有為Cookie指定失效時間,則設置的Cookie將在何時失效?( 結束當前會話時 )
19
下面程序的運行結果為?( thizlinux )
<? $a=“thiz”; function change(&$a) { $a.=“linux”; } change($a); echo $a; ?>
20
語句for($k=0;$k=1;$k++);
和語句for($k=0;$k==1;$k++);
執行的次數分別是:(無限和0)
21
9個元素 ABCDEFGHI 被依次push入棧中,pop操作有可能在任何時候進行,那么以下那種出棧次序是不正確的( IHGFEABCD )
22
以下函數的時間復雜度是多少?( O(NlogN) )
int foo(int N) { int result =0; for(int i = 1; i <= N; ++i) for(int j = 1; j<= N; j += i) result += (i+j); return result; }
第一次是n個,第二次由於每次加2,所以是n/2次,第三次由於每個加3是n/3....
抽出n
變成n(1+1/2+1/3+....)
根據歐拉公式
1+1/2+1/3+...=ln n
所以就是n ln n
也就是nlogn
23
當x=2015時,以下函數的返回值是多少?( 10 )
int func(x) { int count = 0; while(x) { count++; x = x&(x-1); } return count; }
2015是11111011111
其中共有10個1
這個過程可以看做是把1變為0的過程,每次都有一個1變成0,共有10個1,所以需要十次x將變為0
所以此時conut為10
24
當我們在局域網內使用 ping www.jd.com 時,那種協議沒有被使用?( TCP )
1、因為ping的話 后面跟的是地址,所以要先將域名轉換為ip地址,即用到了DNS
2、獲取到ip地址后,在數據鏈路層是根據MAC地址傳輸的,所以要用到ARP解析服務,獲取到MAC地址
3、ping功能是測試另一台主機是否可達,程序發送一份ICMP回顯請求給目標主機,並等待返回ICMP回顯應答,(ICMP主要是用於ip主機、路由器之間傳遞控制信息,控制信息是指網絡通不通,主機是否科大)
4、TCP的話,不涉及數據傳輸,不會用到
25
有5個人ABCDE排隊,排好后他們決定重新排隊,每個人都不在原來的位置上,那么總共有多少種排法?( 44 )
n個人每個人都不站在原來的位置的方法數有:
f(n)=n!(1/2!-1/3!+1/4!+..+(-1)^n/n!)
此公式的推導過程要用到篩法公式,而且推導過程很復雜,除了競賽高考肯定不會出現,對於n不大於4時可采用枚舉法.一般只需記住n不大於5的情況即可
f(2)=1,f(3)=2,f(4)=9,f(5)=44