2018京東前端筆試題
一樊展、單選題+多選題
1、匹配頁面中輸入的字符串,范圍需要是[0.5,500],小數(shù)位后最多保留兩位己英,以下正則表達(dá)式不能實(shí)現(xiàn)該需求的是(B)
A. (^[0]\.([5-9]\d?)$)|(((^[0-9])|(^[1-9]\d)|(^[1-4]\d{2}))(\.\d{1,2})?$)|(^500$)
B. (^[0].([5-9]\d?)$)|((0|(^[1-9]?\d?)|(^1-4{2}))(.\d{1,2})?$)|(^500$)
C. (^[0].([5-9]\d?)$)|((0|(0\d{0,2})|(^1-4{2}))(.\d{1,2})?$)|(^500$)
D. ^[0].([5-9]\d?)$)|(((^[0-9])|(^1-9{1})|(^1-4{2}))(.\d{1,2})?$)|(^500$)
2、HTTP的標(biāo)準(zhǔn)端口是(A)
A. 80
B. 21
C. 443
D, 8080
解析:HTTP服務(wù)器吴旋,默認(rèn)端口號(hào)為80/tcp损肛;HTTPS(securely transferring web pages)服務(wù)器厢破,默認(rèn)端口號(hào)為443/tcp? 443/udp;Telnet(不安全的文本傳送)治拿,默認(rèn)端口號(hào)為23/tcp摩泪;FTP,默認(rèn)的端口號(hào)為21/tcp劫谅;TFTP(Trivial File Transfer Protocol)见坑,默認(rèn)端口號(hào)為69/udp;JBOSS捏检,默認(rèn)端口號(hào)為8080鳄梅;TOMCAT,默認(rèn)端口號(hào)為8080未檩;Oracle XDB(XML 數(shù)據(jù)庫),默認(rèn)的端口號(hào)為8080粟焊;
3冤狡、有如下兩個(gè)div
?<div id="b1">XXXX</div>
<div id="b2"><img src="1.gif"/></div>
下面哪一項(xiàng)可以將b1顯示在1.gif上面:(C)
A. #b1{position:absolute;z-index:-1;}
B. #b1{position:relative;z-index:1;}
C. #b1{position:absolute;z-index:1;}
D. #b1{position:relative;z-index:-1;}
4、下列關(guān)于軟連接正確的是(C)
A.不能對(duì)目錄創(chuàng)建軟連接
B.不可以對(duì)不存在的文件創(chuàng)建軟連接
C.保存了其代表的文件的絕對(duì)路徑项棠,是另外一種文件悲雳,在硬盤上有獨(dú)立的區(qū)塊,訪問時(shí)替換自身路徑
D.與普通文件沒什么不同香追,inode都指向同一個(gè)文件在硬盤中的區(qū)塊
解析: 軟鏈接又叫符號(hào)鏈接合瓢,這個(gè)文件包含了另一個(gè)文件的路徑名⊥傅洌可以是任意文件或目錄晴楔,可以鏈接不同文件系統(tǒng)的文件。軟鏈接文件只是其源文件的一個(gè)標(biāo)記峭咒,當(dāng)刪除了源文件后税弃,鏈接文件不能獨(dú)立存在,雖然仍保留文件名凑队,但卻不能查看軟鏈接文件的內(nèi)容了则果。軟鏈接不直接使用inode號(hào)作為文件指針,而是使用文件路徑名作為指針(軟鏈接:文件名 +? 數(shù)據(jù)部分-->目標(biāo)文件的路徑名)漩氨。軟鏈接有自己的inode西壮,并在磁盤上有一小片空間存放路徑名。因此叫惊,軟鏈接能夠跨文件系統(tǒng)款青,也可以和目錄鏈接! 其二赋访,軟鏈接可以對(duì)一個(gè)不存在的文件名進(jìn)行鏈接可都,但直到這個(gè)名字對(duì)應(yīng)的文件被創(chuàng)建后缓待,才能打開其鏈接。?
軟連接可以對(duì)目錄進(jìn)行連接渠牲。軟連接可以對(duì)一個(gè)不存在的文件名進(jìn)行連接 旋炒。
硬鏈接: 與普通文件沒什么不同,inode 都指向同一個(gè)文件在硬盤中的區(qū)塊軟鏈接: 保存了其代表的文件的絕對(duì)路徑签杈,是另外一種文件瘫镇,在硬盤上有獨(dú)立的區(qū)塊,訪問時(shí)替換自身路徑答姥。
5铣除、打電話使用的數(shù)據(jù)傳輸方式是(),手機(jī)上網(wǎng)使用的數(shù)據(jù)傳輸方式是(B)
A.分組交換鹦付,電路交換
B.電路交換尚粘,電路交換
C.分組交換,分組交換
D.電路交換敲长,分組交換
解析:電路交換(Circuit Switching):獨(dú)享連接郎嫁,用之前要先建立一條路。建立這條路需要時(shí)間祈噪。例子:吃之前要預(yù)訂泽铛,去到就可以上桌吃飯了。分組交換(packet switching):按需使用辑鲤。例子:不用預(yù)訂盔腔,去到飯店可能可以直接上桌點(diǎn)餐,但也可能因?yàn)槿硕嘁抨?duì)等候月褥。
6弛随、關(guān)于HTTP的POST方法,以下描述錯(cuò)誤的是(B)
A.POST方法在請(qǐng)求時(shí)會(huì)產(chǎn)生兩個(gè)數(shù)據(jù)包
B.通過訪問在瀏覽器的網(wǎng)址欄中輸入的網(wǎng)址吓坚,能夠發(fā)出POST請(qǐng)求
C.POST方法用于提交要被處理的數(shù)據(jù)
D.POST的請(qǐng)求參數(shù)是放在Repost Body中
解析:GET請(qǐng)求在URL中傳送的參數(shù)是有長(zhǎng)度限制的撵幽,而POST沒有。
GET比POST更不安全礁击,因?yàn)閰?shù)直接暴露在URL上盐杂,所以不能用來傳遞敏感信息。
GET參數(shù)通過URL傳遞哆窿,POST放在Request body中链烈。
GET請(qǐng)求參數(shù)會(huì)被完整保留在瀏覽器歷史記錄里,而POST中的參數(shù)不會(huì)被保留挚躯。
GET請(qǐng)求只能進(jìn)行url編碼强衡,而POST支持多種編碼方式。
GET請(qǐng)求會(huì)被瀏覽器主動(dòng)cache码荔,而POST不會(huì)漩勤,除非手動(dòng)設(shè)置感挥。
GET產(chǎn)生的URL地址可以被Bookmark(書簽),而POST不可以越败。
GET在瀏覽器回退時(shí)是無害的触幼,而POST會(huì)再次提交請(qǐng)求。
GET產(chǎn)生一個(gè)TCP數(shù)據(jù)包究飞;POST產(chǎn)生兩個(gè)TCP數(shù)據(jù)包置谦。對(duì)于GET方式的請(qǐng)求,瀏覽器會(huì)把http header和data一并發(fā)送出去亿傅,服務(wù)器響應(yīng)200(返回?cái)?shù)據(jù))媒峡;而對(duì)于POST,瀏覽器先發(fā)送header葵擎,服務(wù)器響應(yīng)100 continue谅阿,瀏覽器再發(fā)送data,服務(wù)器響應(yīng)200 ok(返回?cái)?shù)據(jù))酬滤。
GET - 從指定的資源請(qǐng)求數(shù)據(jù)奔穿。POST - 向指定的資源提交要被處理的數(shù)據(jù)。
一般在瀏覽器輸入一個(gè)網(wǎng)址訪問網(wǎng)站都是GET請(qǐng)求
7敏晤、(多選)在日常生活中,隨處都可以看到顯示日期的地方缅茉,如果現(xiàn)在有一款網(wǎng)站嘴脾,需要在頂部顯示日期,怎樣才能是日期顯示的是正確的格式(蔬墩?)
A.var reg = /^(\d{1,4})(-|\/)(\d{1,2})(\d{1,2})(\d{1,2}):(\d{1,2}):(\d{1,2})$/;
????if(!reg.test(str)){
????????alert('日期格式不正確!');
????}
B.var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})(\d{1,2}):(\d{1,2}):(\d{1,2})$/;
????if(!str.match(reg)){
????????alert('日期格式不正確!');
????}
C.var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})(\d{2}):(\d{2}):(\d{2})$/;
????if(!reg.test(str)){
????????alert('日期格式不正確!');
????}
D.var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})(\d{2}):(\d{2}):(\d{2})$/;
????if(!str.match(reg)){
????????alert('日期格式不正確!');
????}
8译打、下列輸出結(jié)果為
?<!DOCTYPE html>
<html>
<body>
? ? <p>hello<q>html</q></p>
</body>
</html>
輸出:?hello"html"
9、HTTP狀態(tài)碼403表示的含義是(D)
A. Unauthorized
B. Bad Gateway
C. Bad Request
D. Forbidden
解析:401 錯(cuò)誤 - 未授權(quán)(Unauthorized)拇颅;502 Bad Gateway是指錯(cuò)誤網(wǎng)關(guān)奏司,無效網(wǎng)關(guān);
400 Bad Request的意思是你的請(qǐng)求是無效的樟插。
10韵洋、當(dāng)在進(jìn)行前端界面和后臺(tái)服務(wù)進(jìn)行交互時(shí),常常需要從后臺(tái)服務(wù)中獲取一組數(shù)據(jù)黄锤,現(xiàn)在將要將一組數(shù)據(jù)放入到數(shù)組中搪缨,正確的是(C)
A.var arr = new array(); for(var i = 0;i < data.length; i++){ arr.shift(data[i]); }
B.var arr = new array(); for(var i = 0;i < data.length; i++){ arr.add(data[i]); }
C.var arr = new array(); for(var i = 0;i < data.length; i++){ arr.push(data[i]); }
D.var arr = new array(); for(var i = 0;i < data.length; i++){ arr.pop(data[i]); }
11、在開發(fā)中鸵熟,往往會(huì)碰到需要對(duì)用戶名進(jìn)行修改的需求副编,那么,怎樣才能將已經(jīng)存在的用戶名對(duì)其進(jìn)行更改(D)
A.var val = document.getElementByName("us"); val.value = str;
B.var val = document.getElementByTagName("us"); val.value = str;
C.var val = document.getElementByTagClassName("us"); val.value = str;
D.var val = document.getElementById("us"); val.value = str;
解析:getElementById()方法——通過ID獲取元素流强。標(biāo)簽的id屬性值是唯一的痹届。
getElementsByName()方法----返回帶有指定名稱的節(jié)點(diǎn)對(duì)象的集合呻待。返回的是元素的數(shù)組。
getElementsByTagName()方法----返回帶有指定標(biāo)簽名的節(jié)點(diǎn)對(duì)象的集合队腐。返回元素的順序是他們?cè)谖臋n中的順序蚕捉。Tagname是標(biāo)簽的名稱,如p香到、a鱼冀、img等標(biāo)簽名。
getElementByTagClassName()方法----使用指定的calss屬性值返回相關(guān)元素的集合
12悠就、在做移動(dòng)開發(fā)的時(shí)候千绪,頁面上顯示了一個(gè)數(shù)據(jù)列表,要求在頁面的左側(cè)顯示數(shù)據(jù)的標(biāo)題梗脾,右側(cè)顯示一張導(dǎo)航圖標(biāo)荸型,該怎么來做(?)
A.<div>文本標(biāo)題</div><div>圖標(biāo)</div>
B.<div style="display:box">文本標(biāo)題</div><div style="display:box">圖標(biāo)</div>
C.<div style="float:left">文本標(biāo)題</div><div style="float:left">圖標(biāo)</div>
D.<div style="float:left">文本標(biāo)題</div><div style="float:right">圖標(biāo)</div>
13炸茧、(多選)已知message是一個(gè)字符串瑞妇,以下VUE數(shù)據(jù)綁定寫法能正確顯示的是(AB)
A.{{message}}
B.{{message}}
C.{{message}}
D.{{message}}
解析:v-text:{{}}是v-text的簡(jiǎn)寫形式。用于操作純文本梭冠,將數(shù)據(jù)解釋為普通文本辕狰。
v-bind:動(dòng)態(tài)地綁定一個(gè)或多個(gè)特性,或一個(gè)組件 prop 到表達(dá)式控漠。
v-html:指令可以更新元素的文檔結(jié)構(gòu)(innerHTML),但是不支持?jǐn)?shù)據(jù)綁定蔓倍。
v-model:指令用于在表單控件元素上面創(chuàng)建雙向數(shù)據(jù)綁定
14、下面關(guān)于angular盐捷、vue偶翅、react的說法正確的是(A)
A.都可以使用虛擬DOM
B.自身都有過濾器
C.都是MVVM模式
D.都默認(rèn)使用雙向數(shù)據(jù)綁定
解析:MVC的界面和邏輯關(guān)聯(lián)緊密,數(shù)據(jù)直接從數(shù)據(jù)庫讀取碉渡。MVVM的界面與viewmodel是松耦合聚谁,界面數(shù)據(jù)從viewmodel中獲取。所以angularjs更傾向于mvvm滞诺。自帶過濾器形导。
react是單向數(shù)據(jù)綁定。angular习霹、react和vue都使用虛擬DOM骤宣。
react專注的層面為View層,不包括數(shù)據(jù)訪問層或者那種Hash路由(不過React 有插件支持)序愚,與Angularjs憔披,Emberjs等大而全的框架不同,React專注的中心是Component,即組件芬膝。
15望门、(多選)下列關(guān)于Canvas和SVG圖形的區(qū)別說法錯(cuò)誤的是(BC)
A.SVG為了之后的操作,需要記錄坐標(biāo)锰霜,所以比較緩慢
B.Canvas和分辨率無關(guān)
C.Canvas繪制的形狀都能被記憶和操作
D.Canvas不能使用繪制對(duì)象的相關(guān)事件處理筹误,因?yàn)槲覀儧]有他們的參考
解析:SVG可縮放矢量圖形(Scalable Vector Graphics)基于可擴(kuò)展標(biāo)記語言(XML),是一種和圖像分辨率無關(guān)的矢量圖形格式癣缅。Canvas 通過 JavaScript 來繪制 2D 圖形厨剪,它是逐像素進(jìn)行渲染的。
SVG這個(gè)就好像繪制和記憶友存,換句話說任何使用SVG繪制的形狀都能被記憶和操作祷膳,瀏覽器可以再次顯示;Canvas就像繪制和忘記屡立,一旦繪制完成你不能訪問像素和操作它
SVG對(duì)于創(chuàng)建圖形例如CAD軟件是良好的直晨,一旦東西繪制,用戶就想去操作它膨俐;Canvas在繪制和忘卻的場(chǎng)景例如動(dòng)畫和游戲是良好的
SVG因?yàn)闉榱酥蟮牟僮饔禄剩枰涗涀鴺?biāo),所以比較緩慢焚刺;Canvas因?yàn)闆]有記住以后事情的意向敛摘,所以更快
SVG我們可以用繪制對(duì)象的相關(guān)事件處理;Canvas我們不能使用繪制對(duì)象的相關(guān)事件處理乳愉,因?yàn)槲覀儧]有他們的參考
SVG分辨率無關(guān)着撩;Canvas分辨率相關(guān)
16、若要設(shè)置一個(gè)表單不會(huì)因?yàn)槠聊坏母淖兌绊懕韱物@示匾委,現(xiàn)要設(shè)置表單的最小寬度為76元素像素,所有元素靠左顯示氓润,并且表單距離屏幕有一定的距離赂乐,如何設(shè)置(?)
A.min-width:76dp; text-align:left; margin:1em;
B.min-width:76px; align:left; margin:1em;
C.min-width:76px; text-align:left; margin:1em;
D.min-width:76dp; align:left; margin:1em;
解析:
17咖气、日期類轉(zhuǎn)換到原始值能用什么方法(B)
A.String.toLowerCase()
B.valueOf()
C.String.toUpperCase()
D.toString()
解析:日期類的toString返回一個(gè)可被JS解析的日期和時(shí)間字符串挨措。如果它返回一個(gè)原始值,js將其轉(zhuǎn)換為字符串崩溪,并返回這個(gè)字符結(jié)果浅役。
var date = new Date();date.toString();? ? // "Sat Nov 05 2016 14:41:43 GMT+0800 (中國(guó)標(biāo)準(zhǔn)時(shí)間)"
valueOf()如果存在任意原始值,就默認(rèn)將對(duì)象轉(zhuǎn)換為表示它的原始值伶唯。
18觉既、下面是一段關(guān)于計(jì)算變量s的算法:1變量s的初值是0;2變量從1起循環(huán)到n,此時(shí)變量s的值由下面的式子表達(dá)式計(jì)算:3 s = s + (-1)*i; 4輸出變量s的值瞪讼。這個(gè)計(jì)算s值的算法中钧椰,s的代數(shù)式表示是(B)
A.1 - 2 + 3 - 4 + ... + (-1)n * (n-1)
B. -1 - 2 - 3 - 4 - ... - n
C. 1 - 2 + 3 - 4 + ... + (-1)n - 1 * n
D. 1 + 2 + 3 + 4 + ... + (n-1) + n
解析:示例代碼如下:
function cal(){ var s = 0; for(var i = 0; i < 6; i++){? s = s + (-1)*i;? }? console.log(s);? }? ? cal();
19、字符串“ABCD”和字符串“DCBA”進(jìn)行比較符欠,如果讓比較的結(jié)果為真嫡霞,應(yīng)選用關(guān)系運(yùn)算符(D)
A. >=
B. >
C. =
D. <
解析:兩個(gè)操作數(shù)都是字符串,則比較兩個(gè)字符串對(duì)應(yīng)的字符編碼值(ASCII值)希柿。"A"的碼位值65诊沪,小于D
20、關(guān)于遞歸的說法不正確的是(B)
A.程序結(jié)構(gòu)更簡(jiǎn)潔
B.遞歸法比遞推法的執(zhí)行效率更高
C.占用CPU的處理時(shí)間更多
D.要消耗大量的內(nèi)存空間曾撤,程序執(zhí)行慢端姚,甚至無法執(zhí)行
解析:遞推法比遞歸算法效率更高。遞推法是一種根據(jù)遞推關(guān)系來一步步遞推求解的問題求解策略盾戴。遞歸法是一種問題規(guī)模的遞推寄锐,屬于一種編程技術(shù)。
21尖啡、(多選)一臺(tái)客戶端有三百個(gè)客戶與三百個(gè)客戶端有三百的客戶對(duì)服務(wù)器施壓橄仆,有什么區(qū)別?(ABCD)
A. 300個(gè)用戶在一個(gè)客戶端上衅斩,需要更大的帶寬
B. 線程之間可能發(fā)生干擾盆顾,而產(chǎn)生一些異常
C. 用戶分布在不同的客戶端上,需要考慮使用調(diào)度器來整體調(diào)配不同客戶機(jī)上的用戶
D. 所有用戶在一個(gè)客戶端上畏梆,不必考慮分布式管理的問題
解析:補(bǔ)充:300個(gè)用戶在一個(gè)客戶端上您宪,會(huì)占用客戶機(jī)更多的資源,而影響測(cè)試的結(jié)果奠涌。IP地址的問題宪巨,可能需要使用IP Spoof來繞過服務(wù)器對(duì)于單一IP地址最大連接數(shù)的限制。用戶分布在不同的客戶端上溜畅,需要考慮使用控制器來整體調(diào)配不同客戶機(jī)上的用戶捏卓。同時(shí),還需要給予相應(yīng)的權(quán)限配置和防火墻設(shè)置慈格。
22怠晴、權(quán)重分別為9、3浴捆、2蒜田、8的結(jié)點(diǎn),構(gòu)造一棵哈夫曼樹选泻,該樹的帶權(quán)路徑長(zhǎng)度是(A)
A.40
B.45
C.36
D.46
解析:帶權(quán)路徑長(zhǎng)度最小的二叉樹就稱為哈夫曼樹或最優(yōu)二叉樹冲粤。
wpl = 葉子結(jié)點(diǎn)對(duì)應(yīng)的權(quán)值*分支數(shù) =根節(jié)點(diǎn)的權(quán)值
= 3 * 3 + 2 * 3 + 8 * 2 + 9 * 1 =? 40
23美莫、(多選)采用哪種遍歷方法可唯一確定一棵二叉樹(BC)
A.給定一棵二叉樹的先序和后序遍歷序列
B.給定一棵二叉樹的后序和中序遍歷序列
C.給定一棵二叉樹的先序和中序遍歷序列
D.給定先序、中序和后序遍歷序列的任意一個(gè)即可
解析:先序+后序不能唯一確定一棵二叉樹色解,其他兩種組合先序+中序和中序+后序可以唯一確定一顆二叉樹茂嗓。由先序序列和后序序列不能唯一確定一棵二叉樹,因無法確定左右子樹兩部分科阎。反例:任何結(jié)點(diǎn)只有左子樹的二叉樹和任何結(jié)點(diǎn)只有右子樹的二叉樹述吸,其前序序列相同,后序序列相同锣笨,但卻是兩棵不同的二叉樹蝌矛。
24、一棵二叉樹的葉子結(jié)點(diǎn)有5個(gè)错英,出度為1的節(jié)點(diǎn)有3個(gè)入撒,該二叉樹的結(jié)點(diǎn)總個(gè)數(shù)是(B)
A.11
B.12
C.13
D.14
解析:二叉樹總節(jié)點(diǎn)數(shù) N = n0 + n1 + n2 。
二叉樹性質(zhì):終端結(jié)點(diǎn)(葉子節(jié)點(diǎn))個(gè)數(shù)n0 = 度為2的節(jié)點(diǎn)(有2個(gè)孩子)個(gè)數(shù)n2 + 1
即n0 = n2 + 1.
3個(gè)出度為1的結(jié)點(diǎn)椭岩。5個(gè)葉子結(jié)點(diǎn)茅逮。度為2的節(jié)點(diǎn)=5-1=4。所以總個(gè)數(shù) = 3 + 5 +4= 12
25判哥、(多選)關(guān)于虛擬DOM的說法錯(cuò)誤的是(A)
A.現(xiàn)在的MVVM框架采用了虛擬DOM方式
B.首次渲染大量DOM時(shí)献雅,由于多了一層虛擬DOM的計(jì)算,會(huì)比innerHTML插入慢
C.虛擬DOM最終表現(xiàn)在DOM上的修改只是變更的部分塌计,可以保證非常高效的渲染
D.虛擬DOM并不是真正的DOM節(jié)點(diǎn)挺身,而僅僅是Javascript對(duì)象
解析:虛擬DOM是在DOM的基礎(chǔ)上建立了一個(gè)抽象層,對(duì)數(shù)據(jù)和狀態(tài)所做的任何改動(dòng)锌仅,都會(huì)被自動(dòng)且高效的同步到虛擬DOM章钾,最后再批量同步到DOM中。
在React中热芹,render執(zhí)行的結(jié)果得到的并不是真正的DOM節(jié)點(diǎn)贱傀,而僅僅是JavaScript對(duì)象,稱之為虛擬DOM伊脓。
虛擬DOM具有批處理和高效的Diff算法府寒,可以無需擔(dān)心性能問題而隨時(shí)“刷新”整個(gè)頁面,因?yàn)樘摂MDOM可以確保只對(duì)界面上真正變化的部分進(jìn)行實(shí)際的DOM操作丽旅。
優(yōu)點(diǎn):最終表現(xiàn)在DOM上的修改只是變更的部分,可以保證非常高效的渲染纺棺。
缺點(diǎn):首次渲染大量DOM時(shí)榄笙,由于多了一層虛擬DOM的計(jì)算,會(huì)比innerHTML插入慢祷蝌。
26茅撞、http協(xié)議中使用GET方法時(shí),參數(shù)是通過什么方式傳遞的(C)
A.請(qǐng)求的header中
B.GET請(qǐng)求無法傳參
C.URL參數(shù)
D.請(qǐng)求的body中
27、電腦已經(jīng)安裝好vue-cli米丘,下面可以創(chuàng)建一個(gè)項(xiàng)目的命令是(A)
A. vue init programName
B. vue install programName
C. vue run programName
D. vue creat programName
28剑令、分析下面JavaScript的代碼段:
var s1 = "qpzm";
var s2 = "qp"+"zm";
if( s1 == s2){
????document.write("s1 == s2 return true");
}else{
????document.write("s1 == s2 return false");
}
if(s1.equals(s2)){
????document.write("s1.equals(s2) return true");
}else{
????document.write("s1.equals(s2) return false");
}
請(qǐng)問運(yùn)行完此函數(shù),最后顯示的結(jié)果是(D)
A. s1 == s2 return true拄查;s1.equals(s2) return true
B. s1 == s2 return false
C. s1 == s2 return true吁津; s1.equals(s2) return false
D. s1 == s2 return true
解析:“equals()”指的是兩個(gè)對(duì)象的值相等。不能用于基本數(shù)據(jù)類型的變量堕扶,如果沒有對(duì)equals()方法進(jìn)行重寫碍脏,則比較的是引用類型變量所指向的對(duì)象的地址。
==:如果比較的對(duì)象是基本數(shù)據(jù)類型;則比較的是值是否相等 稍算。如果比較的是引用數(shù)據(jù)類型,則比較的是對(duì)象的地址值是否相等
String類型有兩種內(nèi)存方式: (1) String str = “string”; //是將變量值存放到常量池 (2) String str2 = new String(“string”);//是在堆內(nèi)存中
29典尾、在做頁面框架布局時(shí),經(jīng)常會(huì)需要使頁面中每個(gè)部分的內(nèi)容所占的空間大小相同糊探,如果要使用彈性盒子模型的概念來寫一個(gè)相同比例空間的元素钾埂,該怎樣來實(shí)現(xiàn)(?)
A. .flat{display:-webkit-box; position:relative; -webkit-box-flex:1; box-flex:1;}
B. .flat{display:-webkit-box; position:relative; -webkit-box-flex:1;}
C. .flat{position:relative; -webkit-box-flex:1; box-flex:1;}
D. .flat{display:-webkit-box; position:relative; box-flex:1;}
解析: box-flex是css3新添加的盒子模型屬性科平,它的出現(xiàn)打破了我們經(jīng)常使用的浮動(dòng)布局褥紫,實(shí)現(xiàn)垂直等高、水平均分匠抗、按比例劃分故源。它使元素實(shí)現(xiàn)水平分布,而且不需要使用浮動(dòng)float屬性就能實(shí)現(xiàn)水平布局汞贸。
30绳军、有如下div
{
? ? margin-top:20px;
????margin-right:30px;
????margin-bottom:40px;
????margin-left:50px;
}
請(qǐng)問下列選項(xiàng)與該div實(shí)現(xiàn)了相同效果的是(A)
A. div{margin:20px 30px 40px 50px};
B. div{margin:20px 40px 50px 30px};
C. div{margin:20px 50px 40px 30px};
D. div{margin:20px 40px 30px 50px};
解析:margin 簡(jiǎn)寫屬性在一個(gè)聲明中設(shè)置所有外邊距屬性。該屬性可以有 1 到 4 個(gè)值矢腻。允許使用負(fù)值门驾。四個(gè)屬性順序依次為:上、右多柑、下奶是、左(順時(shí)針)
四、尋找中位數(shù)
題目描述:
數(shù)學(xué)課上竣灌,老師揪出了老是和旁邊同學(xué)交頭接耳的小Q聂沙,為此老師提出了一個(gè)問題看小Q是否對(duì)知識(shí)有所掌握。
老師給了小Q n個(gè)整數(shù)初嘹,要求小Q往其中加入一個(gè)數(shù)及汉,但數(shù)列的中位數(shù)保持不變。
輸入
第一行一個(gè)數(shù) n(1≤n≤100)屯烦。
第二行n個(gè)數(shù)Ai坷随,表示n個(gè)整數(shù)(1≤Ai≤100)房铭,保證互不相同。
輸出
一個(gè)數(shù)温眉,小Q需要加入的數(shù)缸匪。
如果是整數(shù),直接輸出类溢。如果是小數(shù)凌蔬,請(qǐng)不要輸出多余的后綴0
樣例輸入
6
3 2 9 10 4 5
樣例輸出
4.5
Hint
輸入樣例2
5
3 2 9 10 11
?輸出樣例2
9
樣例解釋
對(duì)于樣例1:
原數(shù)列:2 3 4 5 9 10,中位數(shù)為4.5
新數(shù)列:2 3 4 4.5 5 9 10豌骏,中位數(shù)為4.5
程序:
va rline1 = read_line();
varline2 = read_line();
var strArr = line2.split(' ');
var input = newArray();
for(var i=0;i < strArr.length; i++) {
? ? input.push(parseInt(strArr[i]));
}
input.sort(NumAscSort)
print(findMedian(input));
function NumAscSort(a,b)
{
? ? return a - b;
}
?
function findMedian(ary) {
? ? if (ary.length%2 == 0) {
? ? ? ? var mid = ary.length/2;
? ? ? ? return(ary[mid] + ary[mid-1])/2;
? ? }
? ? else{
? ? ? ? var mid = Math.floor(ary.length/2);
? ? ????return(ary[mid]);
? ? }
}
五龟梦、修路
題目描述:
A國(guó)有n個(gè)城市,他們計(jì)劃修建n-1條長(zhǎng)度為1的道路連接兩個(gè)城市窃躲,城市規(guī)劃已經(jīng)給出计贰,最終使得n個(gè)城市互相連通,從i城市到j(luò)城市有且只有一條唯一路徑蒂窒。
有一家施工隊(duì)計(jì)劃承包兩段道路的修建工作躁倒,要求這兩段道路不經(jīng)過相同的城市(包括路徑端點(diǎn)),他們可以獲得的利潤(rùn)是兩段道路長(zhǎng)度的乘積洒琢,現(xiàn)在要使得利潤(rùn)最大化秧秉,問最大能獲得多少利潤(rùn)。
輸入
輸入共有n行衰抑,第一行包含一個(gè)整數(shù)n象迎,表示城市的數(shù)量。(n<=200)
接下來有n-1行呛踊,每行有兩個(gè)整數(shù),a,b,表示在a城市和b城市之間存在一條長(zhǎng)度為1的道路砾淌。
輸出
輸出包含一行,表示最多可以獲得的利潤(rùn)是多少
樣例輸入
4
1 2
2 3
3 4
樣例輸出
1
Hint
輸入樣例2
6
1 2
2 3
2 4
5 4
6 4
?輸出樣例2
4
樣例解釋
樣例2應(yīng)該選取1-2-3和5-4-6,這樣一來兩條道路的長(zhǎng)度都為2谭网,利潤(rùn)最大為2*2=4.
程序: