賽碼網刷題筆記


京東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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM