天天看點

亞信科技2019屆實習生招聘筆試題(前端)

亞信來我們學校宣講,讓我們做了筆試題,我選擇了前端方向,下面是我的試題整理還有我的答案(不一定正确)以及知識點整理,如果有錯誤請大神們指正。這份筆試題涉及到了HTML CSS JavaScript jQuery 資料結構 前端工具,其實都是比較基礎的題目,當然有一部分知識我确實不是很清楚,是以也寫不出很好的解析,這部分以後一定會來更新補充。

1.這段代碼輸出什麼
    if (new Boolean(false)) {
	console.log('True');
    }else{
	console.log('False');
    }
           
 A.True
 B.False
           

答案:A.True

解析:涉及到邏輯環境中的自動類型轉換

a. 當數字在邏輯環境中執行時,會自動轉為布爾類型。 0/-0和NaN會自動轉為false,其餘數字都被認為是true b.當字元串在邏輯環境中執行時,也會被轉為布爾類型。空字元串會被轉為false,其它字元串都會轉為true c.當undefined和null在邏輯環境中執行時,都被認為是false d.對象在邏輯環境中執行時,隻要目前引用的對象不為空,都會被認為是true e.使用包裝類執行個體的時候,引擎隻會判斷其引用是否存在,不會判斷内部的值(對于Boolean類,有一個特别需要注意的是,當傳入一個字元串時,它不會去解析字元串内部的值,而是做個簡單地判斷,隻要不是空字元串,都會被認為是true) 具體可見文章:https://www.cnblogs.com/liuhe688/p/5918589.html

2.c的值是什麼?
    var a = function(){
	this.b = 1;
    }
    var b = function(){
	var b = new a().b;
	return 5 + b;
    }
    var c = b();

           
    A.5
    B.null
    C.代碼運作時會報錯
    D.6
    E.undefined
           

答案:D.6

解析:這題我還沒怎麼弄懂,再去看看預編譯 全局 this部分的知識點以後再來答好了,有大神解析的話就更好了

3.怎樣讀取一個字元串的第一個字元?
           
A.data.charAt(1);
B.data.charAt(0);
C.data.slice(1);
D.data.substr(0);
E.data.substring(1);
           

答案:B.data.charAt(0);

解析:charAt() :傳回指定位置的字元;

         文法:stringObject.charAt(index)

         注意:字元串中第一個字元的下标是0.如果參數index不在0與string.length之間,該方法将傳回一個空字元串。

         slice() :提取字元串的某個部分,并且以新的字元串傳回被提取的部分;

         文法:stringObject.slice(start, end)

         注意: slice(start從該位開始截取, end截取到該位不包括該位) ,start和end可以為負,在數組中同樣适用  

         substr() :在字元串中提取從start下标開始的指定數目的字元;

         文法:stringObject.substr(start, length)

         注意: substr不建議使用(ECMAscript中未标準化),參數start中包括start指的該字元,當length不填時,預設截取到字元串的結尾;

         subString() :提取字元串中指定下标間的字元

         文法:stringObject.subString(start, end)

         注意: subString(start從該位開始截取, end截取到該位不包括該位) ,start和end不可以為負,長度為end-start,當end 不填時,預設截取到字元串的結尾;

         總結:slice()和subString()都是通過下标來截取字元串,但slice參數可以為負數,substr()是通過長度來截取字元串。

4.x的值是什麼?
  var x = "1" + 2 + 3;
           
A.語句會報錯
B.123
C.15
D.6
           

答案:B.123

解析:JavaScript中 +運算符 用于把文本值或者字元串變量連接配接起來

5.下面哪個String原型方法的入參是正規表達式?
           
A.charCodeAt()
B.search()
C.indexOf()
D.All of these
           

答案:B.search()

解析:charCodeAt() 與 charAt() 類似,不過charCodeAt()是傳回指定位置的字元的Unicode編碼

         search() :用于檢索字元串中指定的子字元串,或者正規表達式,傳回第一個比對到的子串的起始位置

         文法:stringObject.search(regexp)

         indexOf() :傳回某個指定的字元串值在字元串中首次出現的位置

         文法:stringObject.indexOf(searchvalue, fromindex)

         注意:該方法對大小寫敏感;從頭到尾開始檢索,若沒有檢索到,則傳回-1;

6.x的值是什麼?
var str = "What is this";
var x = str.search("is");
           
A.4		B.7		C.6		D.5		E.1
           

答案:D.5

解析:見第五題解析

7.下面哪一個函數聲明是正确的?
           
A.function myFunc(arg1,arg2) 
B.function myFunc(arg1,arg2) {}
C.func myFunc(arg1 as string, arg2 as int) {}
           

答案:B.function myFunc(arg1,arg2) {}

解析:JavaScript是弱類型語言,變量定義中不需要使用到string int等等;

8.____操作符傳回一個字元串,辨別它所操作對象的類型
           
A.Type 		B.typeof 	C.TypeOf 	D.getType 	E.typename
           

答案:B.typeof

解析:typeof操作符傳回一個字元串,表示未經計算的操作數的類型,其餘選項不存在

9.操作符“&”是:
           
A.指派操作符		B.位移操作符		C.位于操作符		D.條件操作符
           

答案:C.位于操作符

解析:&表示and,是一個位操作符,類似的還有 |;

10.有a,b兩個數組,下面哪個選項可以把a,b合成一個新數組
var a = ["a", "b", "c"];
var b = ["d", "e", "f"];
           
A.全不正确
B.var c = a.push() + b.push(); 
C.var c = a.concat(b); 
D.var c = a.join(b); 
           

答案:C.var c = a.concat(b);

解析:push():在數組最後一位添加資料,可以直接添加多位,改變原數組,傳回新的長度;

         是以答案B中c=6;

         concat():連接配接兩個或兩個以上數組,不改變原數組,傳回一個新的數組,參數可以是值也可以是數組;

         join():不改變原數組,把數組中的所有元素放入一個字元串,由傳入的參數進行分割,若忽略該參數,那麼用","進行分割

         是以答案D中c="ad,e,fbd,e,fc"      

11.關于下面的代碼,哪個選項說明是正确的?
function test(){
    var foo = bar = 5;
}
test();
           
A.報SyntaxError
B.foo和bar都是全局變量
C.foo和bar是局部變量
D.foo是局部變量,bar是全局變量
           

答案:D.foo是局部變量,bar是全局變量

解析:和預編譯有關,到時候新寫一篇

12.執行下面的語句後,x等于什麼?
           
var x = 1 == '1';
A.1		B.undefined		C.false 	 D.1(字元)    	  E.true
           

答案:E.true

解析:和資料類型轉換有關,過兩天整理完了以後專門寫一篇。

1.URL的中文名稱是“統一資源定位符”
A.對		B.錯
           

答案:A.對

解析:Uniform Resource Locator

2.定義表元的HTML是
A.<tr>
B.<td>
C.<table>
           

答案:C.<table>

解析:表元的意思即為表格的單元,是以為<table>

         <tr>:表格的行

         <td>:每行中的若幹單元格

         <th>:表格的表頭,大多數浏覽器會把它設定為粗體居中的文本

3.下面關于新樣式對話框的說法錯誤的是:
A.在樣式表中自定義的元素樣式不可以在整個HTML中被調用
B.可以選擇Use CSS Selector(CSS給定的選擇用樣式)
C.可以選擇Redefine HTML Tag(HTML标簽選擇器)
D.可以選擇Make Custom Style(自定義樣式)
           

答案:A.在樣式表中自定義的元素樣式不可以在整個HTML中被調用

解析:Dreamweaver中的操作,不太懂

4.第四題漏截圖找不到了
           
5.若要是設計網頁的背景圖像為bg_360ds.jpg,以下标記中正确的是
A.<body image="bg_360ds.jpg">
B.<body background="bg_360ds.jpg">
C.<body bjround="bg_360ds.jpg">
           

答案:B.<body background="bg_360ds.jpg">

6.不屬于按鈕對象的屬性的是
A.status表示該對象的status屬性
B.value表示該對象的value屬性
C.form表示該對象的form屬性
D.type表示該對象的type屬性
E.name表示該對象的name屬性
           

答案:A.status表示該對象的status屬性

解析:<button>屬性見下:

亞信科技2019屆實習生招聘筆試題(前端)
7.HTML文檔中,哪裡可以引用外部CSS樣式表
A.在<head>中
B.在<footer>中
C.在HTTP headers中
D.在<body>中
           

答案:A.在<head>中

解析:CSS的三種引用方式:

1.行内樣式 <div style="width:100px"></div>
2.内嵌式
	<head>
	    <style>
		    .wrapper{width:100px;}
	    </style>
	</head>
	<body>
	    <div class="wrapper"></div>
	</body>		
3.外聯式
	<head>
	    <title></title>
	    <link rel="stylesheet" href="demo/demo.css" target="_blank" rel="external nofollow" >
	</head>
           
2.CSS樣式,font-family屬性用來做什麼
A.指定字型顔色
B.告訴你跟字型相關的東西
C.指定用什麼字型
D.制定字型大小
           

答案:C.指定用什麼字型

解析:font屬性

  • font-style:字型樣式(标準、斜體等)
  • font-weight:字型粗細
  • font-size/line-height:字型大小
  • font-family:字型系列
3.CSS樣式,下面哪一個元素能夠達到最大寬度,且前後各有一個換行
A.Square Element
B.Block Element
C.Box Element
D.Side Element
           

答案:B.Block Element

解析:塊級元素block:a. 獨占一行,其寬度自動填滿其父元素寬度

                                b.能夠達到最大寬度,前後各有一個換行

                                c.可以包含行内元素和塊級元素

                                d.可以通過css改變寬高

        (div p ul li ol form address)

          行級元素、内聯元素 inline:

                 a.不會獨占一行,相鄰的行内元素會排列在同一行,直到一行排不下才會換行,内容決定元素所占位置

                 b.不能包含塊級元素

                 c.不能改寬高

         (span strong em a del)

           行級塊元素 inline-block:

                  a.内容決定大小

                  b.可以改寬高

4.哪個答案最好地描述了CSS規則:a{text-decoration:none}
A.它是無效的
B.連結沒有下劃線
C.段落的文字将被隐藏
D.it's an anchor with no ship
           

答案:B.連結沒有下劃線

5.CSS樣式,邊距:10px 20px 40px 30px; 哪一個是底邊距
A.10px;        B.20px;        C.30px;        D.40px;
           

答案:C.30px;

解析:

亞信科技2019屆實習生招聘筆試題(前端)
6.CSS樣式,下面哪個答案與這個語句的效果一緻:h1{font-family:sans-serif;}h2{font-family:sans-serif;}h3{font-family:sans-serif;}
A.h1,h2,h3{font-family:sans-serif;}
B.h*{font-family:sans-serif;}
C.這些都不對
D.h1 h2 h3{font-family:sans-serif;}
           

答案:A.h1,h2,h3{font-family:sans-serif;}

7.CSS樣式,聲明區域的開始字元和結束字元是什麼
A.用{開始,用}結束
B.用{開始,用)結束
C.用"開始,用"結束
D.用#開始,用#結束
           

答案:A.用{開始,用}結束

8.CSS樣式表檔案的預設擴充名是什麼
A、 .css 	B、 .main 	C、 .style 	  D、 .styles
           

答案:A. .css

解析:預設擴充名的意思就是預設擴充名

1.通過下面的哪些方法可以擷取頁面的html元素(多選)
A.document.querySelector
B.document.getElementById
C.document.querySelectorAll
D.document.getElementByClassName
           

答案:ABCD

解析:JS擷取DOM元素的方法(8種)

  1. 通過ID擷取(getElementById)
  2. 通過name屬性(getElementsByName)
  3. 通過标簽名(getElementsByTagName)
  4. 通過類名(getElementsByClassName)
  5. 擷取html的方法(document.documentElement)
  6. 擷取body的方法(document.body)
  7. 通過選擇器擷取一個元素(querySelector)
  8. 通過選擇器擷取一組元素(querySelectorAll)
2.JSON對象obj有屬性a,下面擷取屬性正确的是(多選)
A. obj['a']		B. obj{a}		C. obj.a 	  D.obj('a')
           

答案:A. C

解析:JSON通路對象值的兩種方式:1.點号.    2.中括号[]

3.DOM事件流:将事件分為三個階段:捕獲階段、目标階段、冒泡階段,這三者的執行順序是
A.捕獲階段、目标階段、冒泡階段
B.捕獲階段、冒泡階段、目标階段
C.冒泡階段、捕獲階段、目标階段
D.冒泡階段、目标階段、捕獲階段
           

答案:A.捕獲階段、目标階段、冒泡階段

解析:

亞信科技2019屆實習生招聘筆試題(前端)
4.下清單達式最後列印結果是
for (var i = 0; i < 5; i++) {
    (function(i){
	setTimeout(function(){
		console.log(i);
	},1000);
    })(i)
}
A.每隔一秒依次列印0,1,2,3,4
B.每隔一秒依次列印5,5,5,5,5
C.依次列印5,5,5,5,5
D.依次列印0,1,2,3,4
           

答案:D.依次列印0,1,2,3,4

解析:涉及到閉包的問題。到時候單獨寫一篇

1.在jQuery中,有以下代碼
    $(".btn").click(function(){
	var json = [
	    {"S_Name":"周顔", "S_Sex":"男"},
	    {"S_Name":"周穎", "S_Sex":"女"}
	];
	$.each(json,function(index, s) {
	    alert(s.S_Name + "," + s.S_Sex);	--語句1
	});
    );
A.語句1會被執行1次
B.$.each()函數的用法有誤
C.此代碼不會正常運作
D.語句1會被執行2次
           

答案:D.語句1會被執行2次

解析:我還不是很懂。。。

2.請看下列html代碼:
    <ul id="u_item">
        <li>item1</li>
	<li>item2</li>
	<li>item3</li>
    </ul>
使用jQuery計算<li>的個數,下列代碼正确的是:
A.var $obj = $('li'); alert($obj.length);
B.var $obj = $('#li'); alert($obj.length);
C.var $obj = $('#li'); alert($obj.length());
D.var $obj = $('ul li'); alert($obj.length());
           

答案:A.var $obj = $('li'); alert($obj.length);

3.哪一個可以作為串聯式jQuery指令的示例
A. $("box").fadeOut().fadeIn()
B. $("<#box>").fadeOut().fadeIn()
C. $(#box).fadeOut().fadeIn()
D. $("#box").fadeOut().fadeIn()
           

答案:D. $("#box").fadeOut().fadeIn()

4.在jQuery中,函數()能夠實作元素顯示和隐藏的互換
A. fade()	B.hide()	C.show()	D.toggle()
           

答案:D.toggle()

1.webpack的熱更新會不會重新整理浏覽器
A.會			B.不會
           

答案:B.不會

解析:暫時還沒有接觸到webpack,不懂,以後再來補充吧。。

2.下面對于前端建構工具gulp.js的了解正确的是
A.Gulp遵循CommonJS規範,并且遵循代碼優于配置政策
B.Gulp.js是基于Node.js建構的
C.Gulp.js利用Node.js強大的流,不需要往磁盤中寫中間檔案,可以快速建構項目并減少頻繁的IO操作,更快地完成建構
D.以上三者都是
           

答案:D.以上三者都是

解析:暫時還沒有接觸到gulp.js,不懂,以後再來補充

1.以下答案中,有關ICMP最不正确的是
A.如果一個ICMP包被清除,另一個新的ICMP包就會産生
B.ICMP被IP資料包封裝
C.ICMP的主要功能是用于路由器和伺服器間的錯誤通知
D.ICMP是網絡控制消息協定的縮寫
           

答案:A.如果一個ICMP包被清除,另一個新的ICMP包就會産生

解析:ICMP消息被封裝在IP資料包内,通過IP傳送的ICMP消息主要是涉及錯誤操作的報告和回送給源節點的關于IP資料包處理情況的消息;

          ICMP是(Internet Control Message Protocol)Internet控制封包協定。它是TCP/IP協定族的一個子協定,用于在IP主機、路由器之間傳遞控制消息。控制消息是指網絡通不通、主機是否可達、路由是否可用等網絡本身的消息。這些控制消息雖然并不傳輸使用者資料,但是對于使用者資料的傳遞起着重要的作用。

2.TCP連接配接釋放過程,叙述不正确的是:
A.釋放連接配接采用了改進的三次握手機制
B.當一方釋放連接配接後另一方即不能繼續發送資料
C.隻有雙方均釋放連接配接後,該連接配接才被釋放
D.通過設定FIN來表示釋放連接配接
           

答案:B.當一方釋放連接配接後另一方即不能繼續發送資料

解析:

對于一個已經建立的連接配接,TCP使用改進的三次握手來釋放連接配接(使用一個帶有FIN附加标記的封包段)。TCP關閉連接配接的步驟如下: 第一步,當主機A的應用程式通知TCP資料已經發送完畢時,TCP向主機B發送一個帶有FIN附加标記的封包段(FIN表示英文finish)。 第二步,主機B收到這個FIN封包段之後,并不立即用FIN封包段回複主機A,而是先向主機A發送一個确認序号ACK,同時通知自己相應的應用程式:對方要求關閉連接配接(先發送ACK的目的是為了防止在這段時間内,對方重傳FIN封包段)。 第三步,主機B的應用程式告訴TCP:我要徹底的關閉連接配接,TCP向主機A送一個FIN封包段。 第四步,主機A收到這個FIN封包段後,向主機B發送一個ACK表示連接配接徹底釋放。

1.n個頂點的生成樹有幾條邊
A.n-1  	B.n/2 	 C.n 	D.n+1
           

答案:A.n-1

解析:關于生成樹的概念可以看看這個,相對比較通俗,https://blog.csdn.net/qq_33060405/article/details/78536847

2.用單循環連結清單示隊列,正确的說法是
A.可設一個頭指針使入隊、出隊都友善
B.無論如何,隻可能使入隊友善
C.必須設頭尾指針才能使入隊、出隊都友善
D.可設一個尾指針使入隊、出隊都友善
           

答案:D.可設一個尾指針使入隊、出隊都友善

解析:不明白,資料結構沒學好,隻能以後補充了。