上一篇將試卷的上半部分做以解析髓绽,現(xiàn)在就將剩下的選擇題和編程題做以解析
9.下面哪些屬于JavaScript的typeof運(yùn)算符的可能結(jié)果:()
A.symbol B.NaN C.boolean D.null E.array F.undefined G.string
解析:這道題我在牛客網(wǎng)刷題時(shí)見(jiàn)了三回暴凑,所以答案就很快選出來(lái)了,選A,C,F,G
下面是所有typeof的值:
alert(typeof (Symbol())); //"symbol"
alert(typeof (123)); //"number"
alert(typeof (‘123’)); //"string"
alert(typeof (function())); //"function"
alert(typeof (Object())); //"object"
alert(typeof (false)); //"boolean"
alert(typeof (null)); //"object"
alert(typeof (undefined)); //"undefined"
10.老王有兩個(gè)孩子申尼,已知至少有一個(gè)孩子是在星期二出生的男孩寂曹。問(wèn):兩個(gè)孩子都是男孩的概率是多大感憾?
A.13/27 B/7/9 C.1/2 D.1/3
解析:這道題是一個(gè)概率題也是排列組合題,我當(dāng)時(shí)是硬算的境钟,就是說(shuō)首先判斷滿足“已知至少有一個(gè)孩子是在星期二出生的男孩”的條件锦担,兩個(gè)孩子可以按性別分四種關(guān)系
兄弟:哥哥在周二出生,弟弟出生有7種可能慨削,弟弟在周二出生洞渔,哥哥出生有7種可能,但重復(fù)了一種“兄弟同時(shí)在周二出生”缚态,所以總共有7+7-1=13種可能
兄妹:哥哥是周二生磁椒,妹妹有7種可能
姐弟:弟弟是周二生,姐姐有7種可能
姐妹:很顯然pass
所以:滿足“已知至少有一個(gè)孩子是在星期二出生的男孩”的條件有13+7+7=27種可能玫芦,但滿足都是男孩的只有13種浆熔,因此:P(兩個(gè)孩子都是男孩)=13/27
選擇A選項(xiàng)
11.下列說(shuō)法正確的有:()
A.visibility:hidden;所占據(jù)的空間位置仍然存在,僅為視覺(jué)上的完全透明桥帆;
B.display:none;不為被隱藏的對(duì)象保留其物理空間医增;
C.visibility:hidden;與display:none;兩者沒(méi)有本質(zhì)上的區(qū)別;
D.visibility:hidden;產(chǎn)生reflow和repaint(回流與重繪)老虫;
解析:這道題也是出現(xiàn)很多次叶骨,考察visibility:hidden和display:none的區(qū)別,第一個(gè):看不見(jiàn)祈匙,摸得著忽刽,第二個(gè):看不見(jiàn),摸不著,display是dom級(jí)別的跪帝,可以渲染和重繪宝剖。 visiblity不是dom級(jí)別的,只能重繪歉甚。
選擇A.B選項(xiàng)
12.TCP斷開(kāi)連接的四次揮手中万细,第四次揮手發(fā)送的包會(huì)包含的標(biāo)記,最正確的描述是纸泄?()
A.FIN B.FIN,PSH C.ACK D.FIN,ACK
解析:考察TCP四次握手流程赖钞,不廢話,上圖
很顯然了聘裁,選C選項(xiàng)
13.頁(yè)面有一個(gè)按鈕button id為button1雪营,通過(guò)原生的js如何禁用?()
A.document.getElementById(“button1”).setAttribute(“Readolny”,true);
B.document.getElementById(“button1”).setAttribute(“disabled”,”true”);
C.document.getElementById(“button1”).Readolny=true;
D.document.getElementById(“button1”).disabled=true;
這道題考察怎樣禁用input元素
readonly 是把輸入字段設(shè)置為只讀衡便,注意是輸入字段献起,如text textarea等
disabled 是禁用input元素
而禁用方式可以直接設(shè)置disabled為真,也可以通過(guò)setAttribute設(shè)置disabled屬性為真
14.關(guān)于下列CSS選擇器:ID選擇器镣陕、類選擇器谴餐、偽類選擇器、標(biāo)簽名稱選擇器呆抑,排序正確的是:()
A.ID選擇器>Class選擇器>偽類=標(biāo)簽名稱選擇器
B.ID選擇器>偽類>Class選擇器>標(biāo)簽名稱選擇器
C.ID選擇器>Class選擇器>偽類>標(biāo)簽名稱選擇器
D.ID選擇器>Class選擇器=偽類>標(biāo)簽名稱選擇器
解析:又一個(gè)基礎(chǔ)題岂嗓,在選擇器優(yōu)先級(jí)中
1.style權(quán)重最高(1000) 2.id選擇器(100)
3.類選擇器,偽類選擇器(10) 4.標(biāo)簽(1)
所以選D選項(xiàng)
15.假設(shè) a 是一個(gè)由線程 1 和線程 2 共享的初始值為 0 的全局變量,則線程 1 和線程 2 同時(shí)執(zhí)行下面的代碼鹊碍,最終 a 的結(jié)果不可能是()
boolean isOdd = false;
for(int i=1;i<=2;++i)
{
if(i%2==1)isOdd = true厌殉;
else isOdd = false;
a+=i*(isOdd?1:-1)侈咕;
}
A.-1 B.-2 C.0 D.1
解析:這道題我是蒙的C公罕,結(jié)果錯(cuò)了,答案是D
在此給出大神的解析過(guò)程耀销,
第一種
解析說(shuō) -1楼眷,-2好得到,0比較難但也可以得到
第二種
易知:每個(gè)線程對(duì)a 均做了兩次讀寫(xiě)操作树姨,分別是 “ +1 ” 和 “ -2 ”
而題目問(wèn)了是最終a 的結(jié)果摩桶,所以 a 的結(jié)果取決于各自線程對(duì) a 的先后讀寫(xiě)的順序
結(jié)論:a的可能取值為-1、0帽揪、-2
如圖:
編程題
1.給定整數(shù)n和m, 將1到n的這n個(gè)整數(shù)按字典序排列之后, 求其中的第m個(gè)數(shù)硝清。
對(duì)于n=11, m=4, 按字典序排列依次為1, 10, 11, 2, 3, 4, 5, 6, 7, 8, 9, 因此第4個(gè)數(shù)是2.
對(duì)于n=200, m=25, 按字典序排列依次為1 10 100 101 102 103 104 105 106 107 108 109 11 110 111 112 113 114 115 116 117 118 119 12 120 121 122 123 124 125 126 127 128 129 13 130 131 132 133 134 135 136 137 138 139 14 140 141 142 143 144 145 146 147 148 149 15 150 151 152 153 154 155 156 157 158 159 16 160 161 162 163 164 165 166 167 168 169 17 170 171 172 173 174 175 176 177 178 179 18 180 181 182 183 184 185 186 187 188 189 19 190 191 192 193 194 195 196 197 198 199 2 20 200 21 22 23 24 25 26 27 28 29 3 30 31 32 33 34 35 36 37 38 39 4 40 41 42 43 44 45 46 47 48 49 5 50 51 52 53 54 55 56 57 58 59 6 60 61 62 63 64 65 66 67 68 69 7 70 71 72 73 74 75 76 77 78 79 8 80 81 82 83 84 85 86 87 88 89 9 90 91 92 93 94 95 96 97 98 99 因此第25個(gè)數(shù)是120…
解析:這道題我是用hashmap做的,將數(shù)據(jù)以<key,value>(key=value)的形式放入hash表转晰,然后運(yùn)用hashmap自帶的sort()函數(shù)芦拿,這個(gè)排序是字典序排序士飒,所以直接用然后輸出,但是問(wèn)題是測(cè)試用例數(shù)據(jù)達(dá)10^18次級(jí)蔗崎,所以數(shù)據(jù)溢出酵幕,所以求讀者大神進(jìn)行解答:
我的代碼(用例通過(guò)50%,數(shù)據(jù)溢出):
import java.util.*;
public class Main {
public static void main(String[] args)
{
Scanner s=new Scanner( System.in );
inta=s.nextInt();
HashMap hashMap= new HashMap(a);
int b=s.nextInt();
for(inti=1;i<=a;i++)
{
String x=String.valueOf( i );
hashMap.put( x,x );
}
Collection keyset= hashMap.keySet();
List list =newArrayList(keyset);
//對(duì)key鍵值按字典升序排序
Collections.sort(list);
System.out.println(list.get( b-1));
}
}
到此試卷就解析完了缓苛,難度適中但是重基礎(chǔ)芳撒,個(gè)人感覺(jué)還是需要對(duì)基礎(chǔ)知識(shí)加以鞏固,才能在以后測(cè)試中取得比較滿意的成績(jī)未桥。