成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

前端面試實(shí)習(xí)題目總結(jié):

Cciradih / 3859人閱讀

摘要:有種數(shù)據(jù)類型三種基本類型數(shù)字,字符串,布爾,兩種引用數(shù)據(jù)類型對(duì)象,數(shù)組,兩種特殊數(shù)據(jù)類型,。表示尚未存在的對(duì)象。第五步瀏覽器對(duì)該響應(yīng)進(jìn)行解碼,渲染顯示。談?wù)劰P試中會(huì)經(jīng)常碰到的一類問題排序算法冒擇路入兮希快歸堆。

以下是部分整理,有時(shí)間還會(huì)整理出其他的~~
(最近還在找實(shí)習(xí)嗚嗚~~)

1.JavaScript是一種弱類型語言,有什么優(yōu)點(diǎn)和缺點(diǎn)
https://blog.csdn.net/sinolze...
(1)強(qiáng)類型定義語言:強(qiáng)制數(shù)據(jù)類型定義的語言。也就是說,一旦一個(gè)變量被指定了某個(gè)數(shù)據(jù)類型,如果不經(jīng)過強(qiáng)制轉(zhuǎn)換,那么它就永遠(yuǎn)是這個(gè)數(shù)據(jù)類型了。舉個(gè)例子:如果你定義了一個(gè)整型變量a,那么程序根本不可能將a當(dāng)作字符串類型處理。強(qiáng)類型定義語言是類型安全的語言。
(2)弱類型定義語言:數(shù)據(jù)類型可以被忽略的語言。它與強(qiáng)類型定義語言相反, 一個(gè)變量可以賦不同數(shù)據(jù)類型的值。
強(qiáng)類型定義語言在速度上可能略遜色于弱類型定義語言,但是強(qiáng)類型定義語言帶來的嚴(yán)謹(jǐn)性能夠有效的避免許多錯(cuò)誤。另外,“這門語言是不是動(dòng)態(tài)語言”與“這門語言是否類型安全”之間是完全沒有聯(lián)系的! 例如:Python是動(dòng)態(tài)語言,是強(qiáng)類型定義語言(類型安全的語言); VBScript是動(dòng)態(tài)語言,是弱類型定義語言(類型不安全的語言);JAVA是靜態(tài)語言,是強(qiáng)類型定義語言(類型安全的語言)。


2.js的數(shù)據(jù)類型:
https://www.cnblogs.com/wu-we...

.類型定義

JS是一種弱類型語言。JS擁有動(dòng)態(tài)類型,相同的變量可以用作不同的類型。
JS有7種數(shù)據(jù)類型:三種基本類型(數(shù)字,字符串,布爾),兩種引用數(shù)據(jù)類型(對(duì)象,數(shù)組),兩種特殊數(shù)據(jù)類型(undefined,null)。JS有5種原始類型:數(shù)字,字符串,布爾,undefined,null。
typeof 運(yùn)算符就是檢測(cè)變量或值的數(shù)據(jù)類型。
1.1.undefined類型只有一個(gè)值,undefined.
所有已聲明但是沒有初始化的變量,默認(rèn)值都為undefined。
函數(shù)沒有明確返回值的時(shí)候,會(huì)默認(rèn)返回undefined。
1.2.null為空對(duì)象,只有一個(gè)值,null
undefined與null相等。
null表示尚未存在的對(duì)象。
當(dāng)函數(shù)返回的對(duì)象不存在時(shí),返回null。
當(dāng)某個(gè)對(duì)象不需要時(shí),可將值設(shè)為null。


3. 在js里call()與apply()有什么相同和不同?
call 方法:調(diào)用一個(gè)對(duì)象的一個(gè)方法,以另一個(gè)對(duì)象替換當(dāng)前對(duì)象。
call([thisObj,arg1, arg2, ...,argN)

參數(shù)thisObj:可選項(xiàng),將被用作當(dāng)前對(duì)象的對(duì)象。
arg1, arg2, …, argN:可選項(xiàng)。將被傳遞方法參數(shù)序列。
說明:call 方法可以用來代替另一個(gè)對(duì)象調(diào)用一個(gè)方法。call 方法可將一個(gè)函數(shù)的對(duì)象上下文從初始的上下文改變?yōu)橛?thisObj 指定的新對(duì)象。如果沒有提供 thisObj 參數(shù),那么 Global 對(duì)象被用作 thisObj。說明白一點(diǎn)其實(shí)就是更改對(duì)象的內(nèi)部指針,即改變對(duì)象的this指向的內(nèi)容。
call函數(shù)和apply方法的第一個(gè)參數(shù)都是要傳入給當(dāng)前對(duì)象的對(duì)象,及函數(shù)內(nèi)部的this。后面的參數(shù)都是傳遞給當(dāng)前對(duì)象的參數(shù),對(duì)于apply和call兩者在作用上是相同的,但兩者在參數(shù)上有區(qū)別的。
對(duì)于第一個(gè)參數(shù)意義都一樣,但對(duì)第二個(gè)參數(shù):apply傳入的是一個(gè)參數(shù)數(shù)組,也就是將多個(gè)參數(shù)組合成為一個(gè)數(shù)組傳入,而call則作為call的參數(shù)傳入(從第二個(gè)參數(shù)開始)。
如 func.call(func1,var1,var2,var3)對(duì)應(yīng)的apply寫法為:func.apply(func1,[var1,var2,var3])
同時(shí),使用apply的好處是可以直接將當(dāng)前函數(shù)的arguments對(duì)象作為apply的第二個(gè)參數(shù)傳入


4. XML和JSON有過了解吧?能說一下分別介紹一下他們嗎?JSON有什么優(yōu)勢(shì)

如果要表達(dá)數(shù)組呢?XML中可以在父節(jié)點(diǎn)下面累放節(jié)點(diǎn),而JSON則有[ ]這樣更直觀的方式。

如果字符串中有換行符怎么辦,JSON不存在這個(gè)問題,而XML必須引入CDATA解決問題
當(dāng)上面的standalone為yes的時(shí)候表示DTD直接寫到這個(gè)XML里面去,這樣,就不需要額外的DTD文件了,也就是說,這個(gè)文件不但是自解釋,還是自校驗(yàn)的了。而這一點(diǎn),JSON是不可能做到的。

另外,XML還可以有命名空間,可以通過xmlns屬性引入不同的定義文件,像編程語言的import來自由組合,這一點(diǎn),JSON也是做不到的
JSON的一大好處是有些語言可以原生支持,比如JavaScript,不需要一個(gè)JSON Parser這樣的東西,代碼里表示對(duì)象用的就是JSON格式的表達(dá)。但是直接支持XML的編程語言,好像沒有吧,倒是有像HTML等等標(biāo)記語言的解析器,可以處理任意DOM對(duì)象。


5.CSS3哪些新特性值得稱贊的特點(diǎn):
CSS3把很多以前需要使用圖片和腳本來實(shí)現(xiàn)的效果,只需要短短幾行代碼就能搞定CSS3作為CSS技術(shù)的升級(jí)版本,著力于模塊化發(fā)展,將規(guī)范分解為一些小的模塊,如選擇器、盒子模型、列表模塊、背景和邊框等;并加入了很多新的模塊和屬性,比如復(fù)雜選擇器、文字陰影、邊框圓角、邊框陰影、漸變、過渡、多欄布局、2D/3D 轉(zhuǎn)換、動(dòng)畫等。
其中,CSS3提供了一些復(fù)雜選擇器,用于實(shí)現(xiàn)頁面復(fù)雜情況下的元素選擇,如屬性選擇器、一些偽類和偽元素選擇器;漸變用于為元素設(shè)置漸變效果的背景;轉(zhuǎn)換可以實(shí)現(xiàn)元素的變換,比如位移、縮放、旋轉(zhuǎn)等;過渡可以實(shí)現(xiàn)簡(jiǎn)單的動(dòng)畫效果;而動(dòng)畫屬性則可以實(shí)現(xiàn)復(fù)雜的動(dòng)畫,可以實(shí)現(xiàn)逐幀制作動(dòng)畫。


6.在瀏覽器那里輸入一個(gè)網(wǎng)址,會(huì)發(fā)生什么?
第一步 瀏覽器查找該域名的 IP 地址
(用到ARP協(xié)議獲取物理地址 和DNS協(xié)議(Domain Name System,域名系統(tǒng)) 獲取網(wǎng)絡(luò)地址,即IP地址)
第二步 瀏覽器根據(jù)解析得到的IP地址向 web 服務(wù)器發(fā)送一個(gè) HTTP 請(qǐng)求。(用到TCP、IP、以太網(wǎng)協(xié)議報(bào)頭)
第三步 服務(wù)器收到請(qǐng)求并進(jìn)行處理
第四步 服務(wù)器返回一個(gè)響應(yīng)(服務(wù)器返回一個(gè) HTTP 響應(yīng),如果返回狀態(tài)碼304,瀏覽器可以直接使用之前緩存的資源。對(duì)于內(nèi)容響應(yīng),瀏覽器需要進(jìn)行響應(yīng)解碼,渲染顯示。)
第五步 瀏覽器對(duì)該響應(yīng)進(jìn)行解碼,渲染顯示。( 在瀏覽器沒有完整接受全部HTML文檔時(shí),(打開網(wǎng)頁,網(wǎng)頁顯示用到了表示層的HTML協(xié)議)它就已經(jīng)開始顯示這個(gè)頁面了,如果是個(gè)靜態(tài)的頁面,那到此就基本結(jié)束了。如果是是動(dòng)態(tài)的,那么在瀏覽器顯示HTML時(shí),會(huì)獲取嵌入在HTML中的對(duì)象,瀏覽器會(huì)發(fā)送獲取請(qǐng)求來重新獲得這些文件。這些請(qǐng)求都要經(jīng)歷一個(gè)和HTML讀取類似的過程。 對(duì)于靜態(tài)的頁面內(nèi)容,瀏覽器通常會(huì)進(jìn)行緩存,而對(duì)于動(dòng)態(tài)的內(nèi)容,瀏覽器通常不會(huì)進(jìn)行緩存)
第六步 完成后,瀏覽器發(fā)送異步請(qǐng)求(頁面顯示完成后客戶端仍與服務(wù)器端保持著聯(lián)系。 它會(huì)持續(xù)與服務(wù)器保持聯(lián)系來及時(shí)更新一些頁面信息。在瀏覽器中執(zhí)行的 JavaScript代碼會(huì)給服務(wù)器發(fā)送異步請(qǐng)求。這個(gè)異步請(qǐng)求發(fā)送給特定的地址,它是一個(gè)按照程式構(gòu)造的獲取或發(fā)送請(qǐng)求。)
此過程用到的協(xié)議:
應(yīng)用層使用了HTTP協(xié)議進(jìn)行超文本傳輸,對(duì)于服務(wù)器后臺(tái)處理應(yīng)該有telnet遠(yuǎn)程調(diào)用協(xié)議響應(yīng)用戶,DNS協(xié)議獲取網(wǎng)絡(luò)地址,即IP地址;打開網(wǎng)頁,網(wǎng)頁顯示用到了表示層的HTML協(xié)議;
另外必然用到了傳輸層的TCP和網(wǎng)絡(luò)層的IP協(xié)議;網(wǎng)絡(luò)層ARP協(xié)議獲取物理地址;ICMP協(xié)議控制信息的傳遞,還有很多吧,我就不知道了。


7.正則匹配URL。
協(xié)議:
file 資源是本地計(jì)算機(jī)上的文件。格式file://
ftp 通過 FTP訪問資源。格式 FTP://
gopher 通過 Gopher 協(xié)議訪問該資源。
http 通過 HTTP 訪問該資源。 格式 HTTP://
https 通過安全的 HTTPS 訪問該資源。 格式 HTTPS://
mailto 資源為電子郵件地址,通過 SMTP 訪問。 格式 mailto:
MMS 通過 支持MMS(流媒體)協(xié)議的播放該資源。(代表軟件:Windows Media Player)格式 MMS://
ed2k 通過 支持ed2k(專用下載鏈接)協(xié)議的P2P軟件訪問該資源。(代表軟件:電驢) 格式 ed2k://
Flashget 通過 支持Flashget:(專用下載鏈接)協(xié)議的P2P軟件訪問該資源。(代表軟件:快車) 格式 Flashget://
thunder 通過 支持thunder(專用下載鏈接)協(xié)議的P2P軟件訪問該資源。(代表軟件:迅雷) 格式 thunder://
news 通過 NNTP 訪問該資源。
正則用法和url結(jié)構(gòu)。
protocol :// hostname[:port] / path / ;parameters#fragment
相信大部分只有 [;parameters]這個(gè)不太懂,在http權(quán)威指南中有介紹這個(gè)東西,貌似是針對(duì)某些協(xié)議,需要驗(yàn)證用戶名和密碼。用的不多,知道就行。
簡(jiǎn)單正則規(guī)則:w -> a-z[0-9]_
d -> 數(shù)字
s -> 空格,換行,tab鍵等
? -> 0個(gè)或一個(gè)

-> 0個(gè)或多個(gè)

-> 一個(gè)或多個(gè)

^ -> 開頭
$ -> 結(jié)尾
. -> 任何字符
() -> 子表達(dá)式
g -> 全局搜索(要考慮lastIndex)
i -> 忽略大小寫
m -> 多行查找
.*? -> 非貪婪模式
-> 將下一個(gè)字符標(biāo)記為特殊字符
a{3,4} -> 最少匹配連續(xù)3個(gè)a,最多匹配4個(gè)連續(xù)a
[a-z] -> 匹配a到z的任意一個(gè)字符,1 -> 匹配不是a到z的任意字符。


8.在和服務(wù)器建立連接時(shí),用的是TCP還是UDP?
從原理上,TCP的優(yōu)勢(shì)有:
簡(jiǎn)單直接的長(zhǎng)連接
可靠的信息傳輸
數(shù)據(jù)包的大小沒有限制
任何一個(gè)和TCP打過交道的人都知道,要實(shí)現(xiàn)一個(gè)穩(wěn)定的TCP網(wǎng)絡(luò)連接,需要處理各種隱藏的坑,比如斷線檢測(cè)、慢速客戶端響應(yīng)阻塞數(shù)據(jù)包,對(duì)開放連接的各種dos攻擊,阻塞和非阻塞IO模型等等。除了上面列出的這些問題外,一個(gè)好的TCP模塊確實(shí)不好編碼實(shí)現(xiàn)。但是,TCP最糟糕的特性是它對(duì)阻塞的控制。一般來說,TCP假定丟包是由于網(wǎng)絡(luò)帶寬不夠造成的,所以發(fā)生這種情況的時(shí)候,TCP就會(huì)減少發(fā)包速度,舉個(gè)例子來說,UDP是基于數(shù)據(jù)包構(gòu)建,這意味著在某些方面需要你完全顛覆在TCP下的觀念。UDP只使用一個(gè)socket進(jìn)行通信,不像TCP需要為每一個(gè)客戶端建立一個(gè)socket連接。這些都是UDP非常不錯(cuò)的地方。這也是人們?yōu)槭裁唇?jīng)常推薦TCP的原因。在用TCP的時(shí)候你可以不考慮這些問題,直到你需要同步連接的數(shù)量級(jí)達(dá)到500以上的時(shí)候。


9.談?wù)劰P試中會(huì)經(jīng)常碰到的一類問題-排序算法
冒擇路(入)兮(希)快歸堆。怎樣理解這句話呢?直譯就是冒失的選擇道路啊,你將很快入土,歸堆就是入土為安了。拆開來理解呢,“冒”就是“冒泡”,“選”就是“選擇”,“路(入)”就是“插入”,“兮(希)”就是“希爾”,“快”就是“快速”,“歸”就是“歸并”,“堆”還是“堆”,在每個(gè)詞后面加上“排序”二字不就是我們常用的7種排序算法
快速排序算法是一種穩(wěn)定的算法嗎?它的最壞復(fù)雜度是多少?平均復(fù)雜度呢?
快速排序的思想和算法:快速排序算法使用了分治技術(shù)


10.那么在C++里面,堆棧最大的不同點(diǎn)是什么?
一個(gè)由c/C++編譯的程序占用的內(nèi)存分為以下幾個(gè)部分
1、棧區(qū)(stack)— 由編譯器自動(dòng)分配釋放 ,存放函數(shù)的參數(shù)值,局部變量的值等。其操作方式類似于數(shù)據(jù)結(jié)構(gòu)中的棧。
2、堆區(qū)(heap) — 一般由程序員分配釋放, 若程序員不釋放,程序結(jié)束時(shí)可能由OS回收 。注意它與數(shù)據(jù)結(jié)構(gòu)中的堆是兩回事,分配方式倒是類似于鏈表,呵呵。
3、全局區(qū)(靜態(tài)區(qū))(static)—,全局變量和靜態(tài)變量的存儲(chǔ)是放在一塊的,初始化的全局變量和靜態(tài)變量在一塊區(qū)域, 未初始化的全局變量和未初始化的靜態(tài)變量在相鄰的另一塊區(qū)域。 - 程序結(jié)束后有系統(tǒng)釋放
4、文字常量區(qū) —常量字符串就是放在這里的。 程序結(jié)束后由系統(tǒng)釋放
5、程序代碼區(qū)—存放函數(shù)體的二進(jìn)制代碼
c和c+函數(shù)堆棧基本一樣,不同的地方是c++函數(shù)堆棧要支持異常機(jī)制
malloc/free:
1、函數(shù)原型及說明:

  void *malloc(long NumBytes):該函數(shù)分配了NumBytes個(gè)字節(jié),并返回了指向這塊內(nèi)存的指針。如果分配失敗,則返回一個(gè)空指針(NULL)。
  void free(void *FirstByte): 該函數(shù)是將之前用malloc分配的空間還給程序或者是操作系統(tǒng),也就是釋放了這塊內(nèi)存,讓它重新得到自由。

2.內(nèi)存操作:

 malloc函數(shù)的參數(shù)是接受需要分配的內(nèi)存字節(jié)數(shù),如果內(nèi)存能夠滿足請(qǐng)求量,那么將會(huì)返回:指向被分配的內(nèi)存塊起始位置
 free函數(shù)釋放的是指針指向的內(nèi)存(不是釋放的指針本身,不會(huì)刪除指針本身),其中指針必須指向所釋放內(nèi)存空間的首地址

new/free:
1.操作時(shí)發(fā)生事件:

 new的時(shí)候會(huì)有兩個(gè)事件發(fā)生:1).內(nèi)存被分配(通過operator new 函數(shù))  2).為被分配的內(nèi)存調(diào)用一個(gè)或多個(gè)構(gòu)造函數(shù)構(gòu)建對(duì)象
 delete的時(shí)候,也有兩件事發(fā)生:1).為將被釋放的內(nèi)存調(diào)用一個(gè)或多個(gè)析構(gòu)函數(shù)  2).釋放內(nèi)存(通過operator delete 函數(shù))


11.數(shù)據(jù)結(jié)構(gòu)構(gòu)圖:


對(duì)于Node.js你了解多少?

Node.js優(yōu)點(diǎn):
1、采用事件驅(qū)動(dòng)、異步編程,為網(wǎng)絡(luò)服務(wù)而設(shè)計(jì)。其實(shí)Javascript的匿名函數(shù)和閉包特性非常適合事件驅(qū)動(dòng)、異步編程。而且JavaScript也簡(jiǎn)單易學(xué),很多前端設(shè)計(jì)人員可以很快上手做后端設(shè)計(jì)。
2、Node.js非阻塞模式的IO處理給Node.js帶來在相對(duì)低系統(tǒng)資源耗用下的高性能與出眾的負(fù)載能力,非常適合用作依賴其它IO資源的中間層服務(wù)。
3、Node.js輕量高效,可以認(rèn)為是數(shù)據(jù)密集型分布式部署環(huán)境下的實(shí)時(shí)應(yīng)用系統(tǒng)的完美解決方案。Node非常適合如下情況:在響應(yīng)客戶端之前,您預(yù)計(jì)可能有很高的流量,但所需的服務(wù)器端邏輯和處理不一定很多。
Node.js缺點(diǎn):
1、可靠性低
2、單進(jìn)程,單線程,只支持單核CPU,不能充分的利用多核CPU服務(wù)器。一旦這個(gè)進(jìn)程崩掉,那么整個(gè)web服務(wù)就崩掉了。


13. jquery綁定click的方法有幾種
第一種方式:

$(document).ready(function(){
$("#clickme").click(function(){
alert("Hello World click");
});
第二種方式:

$("#clickmebind").bind("click", function(){
alert("Hello World bind");
});
第三種方式:

$("#clickmeon").on("click", function(){
alert("Hello World on");
});
});


14.面試時(shí),問.你的優(yōu)點(diǎn)/競(jìng)爭(zhēng)力 怎么回答比較好

目前還是大三,沒有實(shí)習(xí)過,所以暫時(shí)還沒有實(shí)習(xí)經(jīng)驗(yàn)。但是很多技能我愿意去嘗試,喜歡去接觸新的東西,學(xué)習(xí)新的技能,就是哪里不會(huì)學(xué)哪里。平時(shí)喜歡在一些網(wǎng)站上看學(xué)習(xí)視頻,比如慕課網(wǎng),騰訊課堂等去學(xué)習(xí)自己需要掌握的技能。個(gè)人一般有比較好的學(xué)習(xí)習(xí)慣和較好的接受新知識(shí)的能力,相信能較快適應(yīng)所在崗位,如果能夠入職的話。

無經(jīng)驗(yàn):回答凸顯你的學(xué)習(xí)能力。沒有經(jīng)驗(yàn),并不意味著沒有競(jìng)爭(zhēng)優(yōu)勢(shì)。對(duì)于缺乏一定經(jīng)驗(yàn)的應(yīng)屆生或在校實(shí)習(xí)生而言,你最大的競(jìng)爭(zhēng)優(yōu)勢(shì)就在于你的可塑性。剛畢業(yè),相當(dāng)于一張白紙的你,沒有經(jīng)過社會(huì)的洗禮,自然也不會(huì)沾染一些不良的習(xí)慣。這時(shí)候,如果具有有良好的學(xué)習(xí)能力和較快的接受能力,能較快的融入工作崗位,那就肯定受用人單位的親睞。在校期間,你或多或少的都參與過一些社會(huì)實(shí)踐活動(dòng)。還有的甚至參與過班級(jí)或?qū)W校管理,策劃并組織過相關(guān)的活動(dòng)。這些只要是你參與過的,都是你的財(cái)富,不知不覺間都能讓你掌握一定的技能。如果,你覺得自己的實(shí)踐沒什么好說的話,也可以從你所學(xué)的專業(yè)入手,分析一下專業(yè)和應(yīng)聘崗位之間的關(guān)系,再說明你如何將所學(xué)轉(zhuǎn)化成所用。 分享一個(gè)六度伯樂網(wǎng),可以看到很多關(guān)于職場(chǎng)方面的信息和文章。


15. 移動(dòng)端適配問題

自動(dòng)適應(yīng)屏幕寬度之viewport --在html中添加meta標(biāo)簽:網(wǎng)頁的寬度默認(rèn)等于屏幕的寬度。

16.關(guān)于未來規(guī)劃:
首先,很感謝XX提供機(jī)會(huì),讓我有如此近的距離接近鵝廠,不管最后有沒有被錄取,進(jìn)入騰訊實(shí)習(xí),因?yàn)橐恢庇X得在互聯(lián)網(wǎng)行業(yè),進(jìn)騰訊是一件很幸福的事兒,那里都是很優(yōu)秀的師兄師姐,可以學(xué)習(xí)到很多技能和學(xué)習(xí)態(tài)度,所以一直很期待能進(jìn)入騰訊實(shí)習(xí)工作。對(duì)于短期的規(guī)劃是,把手頭上的事情做好,為不久到來的實(shí)習(xí)做好更充分的準(zhǔn)備,學(xué)習(xí)更多的技能,不松懈,但也會(huì)注意勞逸結(jié)合,畢竟身體才是革命之本,然后爭(zhēng)取所在的實(shí)習(xí)階段做一個(gè)優(yōu)秀的實(shí)習(xí)生,成就一個(gè)更好的自己。長(zhǎng)遠(yuǎn)一點(diǎn),工作的話,繼續(xù)保持不斷進(jìn)取奮斗的熱情以及向領(lǐng)導(dǎo)和同事虛心請(qǐng)教的態(tài)度和喜歡繼續(xù)挑戰(zhàn)新知識(shí)的態(tài)度去對(duì)待工作從而全面提高自己的學(xué)習(xí)修養(yǎng)和能力,生活上也要保持積極樂觀的生活態(tài)度,去應(yīng)對(duì)生活和學(xué)習(xí)中大大小小的問題。


17. http協(xié)議知識(shí)整理

http協(xié)議是一個(gè)應(yīng)用層的協(xié)議。規(guī)定了瀏覽器和服務(wù)器之間的通信規(guī)范。通常用TCP連接方式。
2.HTTP 1.0、1.1 連接的方式。
在HTTP 1.0 中,瀏覽器和服務(wù)器使用的是短連接,響應(yīng)完,立即斷開。請(qǐng)求的過程:3次握手,請(qǐng)求,響應(yīng),斷開連接。
http不保存連接,好處:服務(wù)器可以處理更多的連接,但是每次建立連接會(huì)降低處理速度。
現(xiàn)在主流的版本是HTTP 1.1 ,在HTTP 1.1 中我們使用長(zhǎng)連接,一個(gè)請(qǐng)求結(jié)束后,不斷開,繼續(xù)請(qǐng)求。
告知服務(wù)器意圖的 HTTP 方法:
GET 請(qǐng)求獲取Request-URI所標(biāo)識(shí)的資源(獲取資源)
POST 在Request-URI所標(biāo)識(shí)的資源后附加新的數(shù)據(jù),常用于提交表單。(傳輸實(shí)體主體)
HEAD 請(qǐng)求獲取由Request-URI所標(biāo)識(shí)的資源的響應(yīng)消息報(bào)頭(獲取報(bào)文首部)
PUT 請(qǐng)求服務(wù)器存儲(chǔ)一個(gè)資源,并用Request-URI作為其標(biāo)識(shí)(傳輸文件)
DELETE 請(qǐng)求服務(wù)器刪除Request-URI所標(biāo)識(shí)的資源(刪除文件)
TRACE 請(qǐng)求服務(wù)器回送收到的請(qǐng)求信息,主要用于測(cè)試或診斷(追蹤路徑)
CONNECT 保留將來使用
OPTIONS 請(qǐng)求查詢服務(wù)器的性能,或者查詢與資源相關(guān)的選項(xiàng)和需求(詢問支持的方法)
get和post是最常用的方法,簡(jiǎn)單來說,前者用于獲取數(shù)據(jù),后者用于提交數(shù)據(jù)。
18.HTTP狀態(tài)碼
主要還得記得http中Status-Code的第一個(gè)數(shù)字定義響應(yīng)的類別,后兩個(gè)數(shù)字沒有分類的作用。第一個(gè)數(shù)字可能取5個(gè)不同的值:
1xx:信息響應(yīng)類,表示接收到請(qǐng)求并且繼續(xù)處理。
2xx:處理成功響應(yīng)類,表示動(dòng)作被成功接收、理解和接受。
3xx:重定向響應(yīng)類,為了完成指定的動(dòng)作,必須接受進(jìn)一步處理。
4xx:客戶端錯(cuò)誤,客戶請(qǐng)求包含語法錯(cuò)誤或者是不能正確執(zhí)行。
5xx:服務(wù)端錯(cuò)誤,服務(wù)器不能正確執(zhí)行一個(gè)正確的請(qǐng)求

1 消息

? 100 Continue

? 101 Switching Protocols

? 102 Processing

2 成功

? 200 OK

? 201 Created

? 202 Accepted

? 203 Non-Authoritative Information

? 204 No Content

? 205 Reset Content

? 206 Partial Content(部分內(nèi)容)

? 207 Multi-Status

3 重定向

? 300 Multiple Choices

? 301 Moved Permanently(永久性轉(zhuǎn)移)

? 302 Move temporarily(暫時(shí)性轉(zhuǎn)移)

? 303 See Other

? 304 Not Modified(存在緩存,沒修改)

? 305 Use Proxy

? 306 Switch Proxy

? 307 Temporary Redirect

4 請(qǐng)求錯(cuò)誤

? 400 Bad Request

? 401 Unauthorized

? 402 Payment Required

? 403 Forbidden(禁用,非法)

? 404 Not Found

? 405 Method Not Allowed

? 406 Not Acceptable

? 407 Proxy Authentication Required

? 408 Request Timeout

? 409 Conflict

? 410 Gone

? 411 Length Required

? 412 Precondition Failed

? 413 Request Entity Too Large

? 414 Request-URI Too Long

? 415 Unsupported Media Type

? 416 Requested Range Not Satisfiable

? 417 Expectation Failed

? 421 too many connections

? 422 Unprocessable Entity

? 423 Locked

? 424 Failed Dependency

? 425 Unordered Collection

? 426 Upgrade Required

? 449 Retry With

? 451Unavailable For Legal Reasons

5 服務(wù)器錯(cuò)誤(5、6字頭)

? 500 Internal Server Error

? 501 Not Implemented

? 502 Bad Gateway

? 503 Service Unavailable

? 504 Gateway Timeout

? 505 HTTP Version Not Supported

? 506 Variant Also Negotiates

? 507 Insufficient Storage

? 509 Bandwidth Limit Exceeded

? 510 Not Extended

? 600 Unparseable Response Headers


18.JSONP 的工作原理是什么?

就是利用 并提供一個(gè)回調(diào)函數(shù)來接收數(shù)據(jù)(函數(shù)名可約定,或通過地址參數(shù)傳遞)。 第三方產(chǎn)生的響應(yīng)為json數(shù)據(jù)的包裝(故稱之為jsonp,即json padding),形如callback({"name":"hax","gender":"Male"})
這樣瀏覽器會(huì)調(diào)用callback函數(shù),并傳遞解析后json對(duì)象作為參數(shù)。本站腳本可在callback函數(shù)里處理所傳入的數(shù)據(jù)。


19. CSS的基本選擇器有哪幾種?分別適合在什么情況下使用?

三種:類別選擇器、標(biāo)簽選擇器、id選擇器,類別是用class命名的時(shí)候用 標(biāo)簽是html標(biāo)簽的時(shí)候用 id就不用多說了
ID選擇器:#header {}
類選擇器:.header {}
元素選擇器:div {}
子選擇器:ul > li {}
后代選擇器:div p {}
偽類選擇器:a:hover {}
屬性選擇器:input[type="text"] {}
id優(yōu)先級(jí)高于類class;后面的樣式覆蓋前面;指定的高于繼承;


20. 這些CSS選擇器的權(quán)重呢?
CSS規(guī)范為不同類型的選擇器定義了特殊性權(quán)重,特殊性權(quán)重越高,樣式會(huì)被優(yōu)先應(yīng)用。
權(quán)重設(shè)定如下:
*通配符選擇器,權(quán)重為0;
html選擇器,權(quán)重為1;
類選擇器,權(quán)重為10;
id選擇器,權(quán)重為100;
這里還有一種情況:在html標(biāo)簽中直接使用style屬性,這里的style屬性的權(quán)重為1000;


21. 一個(gè)div如何居中:
水平居中:


垂直居中:


注意,其中margin:-150px 0 0 -150px;
第一個(gè)150是高度的一半,第四個(gè)150是寬度的一半
text-align:center:文本居中


22. 目前想繼續(xù)學(xué)習(xí)的前端技術(shù):
框架選型:Vue, React, Animate,Node.Js(基于Chrome JavaScript運(yùn)行時(shí)建立的平臺(tái), 用于方便地搭建響應(yīng)速度快、易于擴(kuò)展的網(wǎng)絡(luò)應(yīng)用), Zepto.js ["zept??](適合開發(fā)跨平臺(tái)Web App)
構(gòu)建工具:gulp 和grunt
模塊化開發(fā):webpack


23.談?wù)刴vvm框架。
個(gè)人覺得意義不大,就是看你對(duì)新技術(shù)有沒有了解。項(xiàng)目中沒用到,去學(xué)的話,我是不愿意去的。但是知道它是下一代MVC前端框架就行了。Angular.js是杰出代表。頁面編寫和業(yè)務(wù)編寫分離,極大的加快了開發(fā)的進(jìn)度,以及代碼的分離。


24.了解前端的緩存(存儲(chǔ))嗎?緩存分為幾類?
前端的緩存無非就Cookie,LocalStorge,SessionStorge這三個(gè)吧。
Cookie,存儲(chǔ)容量小,僅僅4kb左右,在網(wǎng)絡(luò)請(qǐng)求的時(shí)候可以發(fā)送,不建議存儲(chǔ)重要數(shù)據(jù),因?yàn)闀?huì)被網(wǎng)絡(luò)詐騙就是把本地的cookie發(fā)到別人的服務(wù)器上,進(jìn)而獲取你的賬戶密碼。LocalStorge,SessionStorge都是本地緩存的主要用的,兩者的用法都很簡(jiǎn)單,都有各自的Set和get方法。主要的區(qū)別就是LocalStorge是一種持久化的存儲(chǔ)方式,也就是說如果不手動(dòng)清除,數(shù)據(jù)就永遠(yuǎn)不會(huì)過期。而SessionStorge關(guān)閉瀏覽器就清空數(shù)據(jù)。


25.閉包的理解
"官方"的解釋是:所謂"閉包",指的是一個(gè)擁有許多變量和綁定了這些變量的環(huán)境的表達(dá)式(通常是一個(gè)函數(shù)),因而這些變量也是該表達(dá)式的一部分
特點(diǎn):
這段代碼有兩個(gè)特點(diǎn):
1、函數(shù)b嵌套在函數(shù)a內(nèi)部;
2、函數(shù)a返回函數(shù)b。
這樣在執(zhí)行完var c=a( )后,變量c實(shí)際上是指向了函數(shù)b,再執(zhí)行c( )后就會(huì)彈出一個(gè)窗口顯示i的值(第一次為1)。這段代碼其實(shí)就創(chuàng)建了一個(gè)閉包,為什么?因?yàn)楹瘮?shù)a外的變量c引用了函數(shù)a內(nèi)的函數(shù)b,就是說:
當(dāng)函數(shù)a的內(nèi)部函數(shù)b被函數(shù)a外的一個(gè)變量引用的時(shí)候,就創(chuàng)建了一個(gè)閉包。
其實(shí)閉包也就是指有權(quán)訪問另一個(gè)函數(shù)作用域的函數(shù)而已。常用的創(chuàng)建閉包的方法就是在函數(shù)內(nèi)部創(chuàng)建另一個(gè)函數(shù)。


26. 綁定事件的方法?
? 嵌入dom


? 直接綁定


? 事件監(jiān)聽


27.了解事件流嗎?事件流的順序是什么?

一個(gè)完整的JS事件流是從window開始,最后回到window的一個(gè)過程
事件流被分為三個(gè)階段(1~ 5)捕獲過程、(5~ 6)目標(biāo)過程、(6~ 10)冒泡過程



28. 說說字符串常用的十個(gè)函數(shù)

charAt() 返回在指定位置的字符。
concat() 連接字符串。
fromCharCode() 從字符編碼創(chuàng)建一個(gè)字符串。
indexOf() 檢索字符串。
match() 找到一個(gè)或多個(gè)正則表達(dá)式的匹配。
replace() 替換與正則表達(dá)式匹配的子串。
search() 檢索與正則表達(dá)式相匹配的值。
slice() 提取字符串的片斷,并在新的字符串中返回被提取的部分。
split() 把字符串分割為字符串?dāng)?shù)組。
substr() 從起始索引號(hào)提取字符串中指定數(shù)目的字符。
substring() 提取字符串中兩個(gè)指定的索引號(hào)之間的字符。
toLocaleLowerCase() 把字符串轉(zhuǎn)換為小寫。
toLocaleUpperCase() 把字符串轉(zhuǎn)換為大寫。
toLowerCase() 把字符串轉(zhuǎn)換為小寫。
toUpperCase() 把字符串轉(zhuǎn)換為大寫。
toString() 返回字符串。
valueOf() 返回某個(gè)字符串對(duì)象的原始值。


29.說說數(shù)組常用的十個(gè)函數(shù)
這個(gè)也舉下例子吧,其實(shí)在控制臺(tái)打印一下就有了的

concat() 連接兩個(gè)或更多的數(shù)組,并返回結(jié)果。
join() 把數(shù)組的所有元素放入一個(gè)字符串。元素通過指定的分隔符進(jìn)行分隔。
pop() 刪除并返回?cái)?shù)組的最后一個(gè)元素
push() 向數(shù)組的末尾添加一個(gè)或更多元素,并返回新的長(zhǎng)度。
reverse() 顛倒數(shù)組中元素的順序。
shift() 刪除并返回?cái)?shù)組的第一個(gè)元素
slice() 從某個(gè)已有的數(shù)組返回選定的元素
sort() 對(duì)數(shù)組的元素進(jìn)行排序
splice() 刪除元素,并向數(shù)組添加新元素。
toSource() 返回該對(duì)象的源代碼。
toString() 把數(shù)組轉(zhuǎn)換為字符串,并返回結(jié)果。
toLocaleString() 把數(shù)組轉(zhuǎn)換為本地?cái)?shù)組,并返回結(jié)果。
unshift() 向數(shù)組的開頭添加一個(gè)或更多元素,并返回新的長(zhǎng)度。
valueOf() 返回?cái)?shù)組對(duì)象的原始值。


30.談?wù)則his是什么,this代表什么
this是Javascript語言的一個(gè)關(guān)鍵字。它代表函數(shù)運(yùn)行時(shí),自動(dòng)生成的一個(gè)內(nèi)部對(duì)象,只能在函數(shù)內(nèi)部使用。隨著函數(shù)使用場(chǎng)合的不同,this的值會(huì)發(fā)生變化。但是有一個(gè)總的原則,那就是this指的是,調(diào)用函數(shù)的那個(gè)對(duì)象。


31.改變this指向的方法
要想把 this 的值從一個(gè)上下文傳到另一個(gè),就要用 call 或者apply 方法。
// 一個(gè)對(duì)象可以作為call和apply的第一個(gè)參數(shù),并且this會(huì)被綁定到這個(gè)對(duì)象。
var obj = {a: "Custom"};
// 這個(gè)屬性是在global對(duì)象定義的。
var a = "Global";
function whatsThis(arg) {
return this.a; // this的值取決于函數(shù)的調(diào)用方式
}
whatsThis(); // "Global"
whatsThis.call(obj); // "Custom"
whatsThis.apply(obj); // "Custom"


32.在a標(biāo)簽里面添加一個(gè)點(diǎn)擊事件,那么點(diǎn)擊事件的this指向的是什么。

Show inner this

這種情況下,沒有設(shè)置內(nèi)部函數(shù)的this,所以它指向global/window對(duì)象(即非嚴(yán)格模式下調(diào)用的函數(shù)未
默認(rèn)情況下事件處理程序綁定在DOM節(jié)點(diǎn)上面,不管是HTML事件處理程序,還是DOM0、DOM2,都指向了綁定了當(dāng)前DOM。但是IE的attachEvent特殊,指向window。
你舉例的例子那只是匿名函數(shù)的默認(rèn)調(diào)用,所以返回window,這個(gè)還是要注意一下的。設(shè)置this時(shí)指向的默認(rèn)對(duì)象。


33.TCP/IP斷開的時(shí)候雙方需要注意一些什么?
TCP/IP斷開的時(shí)候,大家都知道,TCP/IP斷開需要四次揮手:

客戶端發(fā)送一個(gè)FIN報(bào)文給服務(wù)器,表示我將關(guān)閉客戶端到服務(wù)器端這個(gè)方向的連接。
服務(wù)器收到報(bào)文后,發(fā)送一個(gè)ACK報(bào)文給客戶端。
服務(wù)器發(fā)送一個(gè)FIN報(bào)文給客戶端,表示自己也將關(guān)閉服務(wù)器端到客戶端這個(gè)方向的連接。
客戶端收到FIN后,發(fā)回一個(gè)ACK報(bào)文給服務(wù)器,F(xiàn)IN的序號(hào)加1。
但是注意,為什么揮手過程,第二步服務(wù)器發(fā)完信息之后,還要再發(fā)一次呢,那是因?yàn)?,在第二步?dāng)中,服務(wù)器只是發(fā)送說接受到要斷開了,但是服務(wù)器可能現(xiàn)在還有正在執(zhí)行的任務(wù),直到干完活了,再去說,現(xiàn)在沒事了斷開吧。然后客戶端再接受信息,就開始斷開。
那么大家也就可以理解了,如果在斷開的時(shí)候,客戶端已經(jīng)不需要東西了,那么亦可將服務(wù)器第二步后繼續(xù)傳遞數(shù)據(jù)可以關(guān)閉,當(dāng)然,這也是個(gè)人的理解。大家可以把這個(gè)想象成客戶說不要商家繼續(xù)發(fā)貨了的過程。


34.Vue原理:
. Vue.js是一個(gè)提供MVVM數(shù)據(jù)雙向綁定的庫,其核心思想無非就是:
數(shù)據(jù)驅(qū)動(dòng): Vue.js 的核心是一個(gè)響應(yīng)的數(shù)據(jù)綁定系統(tǒng),它讓數(shù)據(jù)與DOM保持同步非常簡(jiǎn)單; vue的數(shù)據(jù)驅(qū)動(dòng)無非就是利用的是ES5Object.defineProperty和存儲(chǔ)器屬性; jq是通過綁定事件來進(jìn)行操作dom,而vue和react是通過操作obj的屬性來重新渲染dom;
組件系統(tǒng): 用官方一點(diǎn)的話來形容,組件化就是:實(shí)現(xiàn)了擴(kuò)展HTML元素,封裝可用的代碼。頁面上每個(gè)獨(dú)立的可視/可交互區(qū)域視為一個(gè)組件;每個(gè)組件對(duì)應(yīng)一個(gè)工程目錄,組件所需要的各種資源在這個(gè)目錄下就近維護(hù);頁面不過是組件的容器,組件可以嵌套自由組合形成完整的頁面。簡(jiǎn)單的說,其實(shí)就是把頁面進(jìn)行分塊處理,分成多個(gè)小塊,每個(gè)小塊就是一個(gè)組件,這樣可以形成組件的復(fù)用,而且提高開發(fā)效率。


35. js實(shí)現(xiàn)異步的操作有哪些
利用setTimout實(shí)現(xiàn)異步
使用Promise對(duì)象
動(dòng)態(tài)創(chuàng)建script標(biāo)簽
利用script標(biāo)簽提供的async
還有ES6里面async函數(shù),使得異步操作變得更加方便


36.對(duì)于性能優(yōu)化,你的指標(biāo)是什么
靜態(tài)文件的大小
加載靜態(tài)資源需要的時(shí)間
最大限度地減少HTTP請(qǐng)求
使用內(nèi)容分發(fā)網(wǎng)絡(luò)
headers添加一個(gè)Expires或Cache-Control頭
用gzip的壓縮內(nèi)容
將樣式表在頂部
js代碼放在底部
避免使用CSS表達(dá)式
JavaScript和CSS放在外部
減少DNS查找
縮小JavaScript和CSS
避免重定向
刪除重復(fù)的腳本和樣式
減少DOM元素的數(shù)量
1. 快速排序的思想和算法:
? 快速排序算法使用了分治技術(shù)
? JavaScript
function quickSort(array){
function sort(prev, numsize){
var nonius = prev;
var j = numsize -1;
var flag = array[prev];
if ((numsize - prev) > 1) {
while(nonius < j){
for(; nonius < j; j--){
if (array[j] < flag) {
array[nonius++] = array[j]; //a[i] = a[j]; i += 1;
break;
};
}
for( ; nonius < j; nonius++){
if (array[nonius] > flag){
array[j--] = array[nonius];
break;}}}
array[nonius] = flag;
sort(0, nonius);
sort(nonius + 1, numsize);
}}
sort(0, array.length);
return array;
}


37.自我介紹
您好,我叫XXX,深大大三學(xué)生,電子信息工程專業(yè)?,F(xiàn)在大概說下我學(xué)習(xí)前端的過程,從大二下的暑假,在師兄的指導(dǎo)下開始接觸前端,接著自主學(xué)習(xí)前端開發(fā)知識(shí)比如HTML,JS,CSS ;JS框架: jQuery,vue框架等的學(xué)習(xí),以及進(jìn)行一些網(wǎng)頁實(shí)戰(zhàn)訓(xùn)練,比如企業(yè)類商城類等網(wǎng)頁的代碼編寫。在上學(xué)期開始那會(huì)兒準(zhǔn)備和小伙伴寫博客,我主要負(fù)責(zé)前端網(wǎng)頁代碼編寫,小伙伴負(fù)責(zé)后臺(tái)。但是可能由于當(dāng)時(shí)雙方課程有點(diǎn)緊張,沒有繼續(xù)到最后吧。由于前端最后還是要和后臺(tái)工程師合作制定技術(shù)方案并解決技術(shù)問題,比如服務(wù)接口等問題,所以對(duì)進(jìn)行數(shù)據(jù)交換等技術(shù)也大我從概了解下,也稍微對(duì)python入門學(xué)習(xí)下,加深對(duì)前后端之間關(guān)系的認(rèn)識(shí) 。大概說下個(gè)人興趣的話,比較喜歡運(yùn)動(dòng),比如籃球,排球,網(wǎng)球,羽毛球,乒乓球都會(huì)玩一下下,不過最近忙了點(diǎn),不過還是會(huì)堅(jiān)持一周兩三次的運(yùn)動(dòng)。嗯,說完啦。


38.Tcp/ip有幾層
四層:應(yīng)用,傳輸層,網(wǎng)絡(luò)層,數(shù)據(jù)鏈路層


39.選擇學(xué)習(xí)前端

 第一的話:我是電子信息工程專業(yè),學(xué)過計(jì)算機(jī)基礎(chǔ),C,C++,微機(jī)原理,數(shù)據(jù)結(jié)構(gòu),可視化語言等知識(shí),對(duì)本專業(yè)的知識(shí)還挺喜歡的,進(jìn)入IT行業(yè)是有優(yōu)勢(shì)的;
 第二:在進(jìn)入大學(xué)以前對(duì)技術(shù)牛人很崇拜,如果自己也能成為一員就最好了,所以這也是一開始選擇計(jì)算機(jī)類專業(yè)的原因和寫代碼的動(dòng)力了。
 第三:前端本身的魅力:做出來的東西能夠馬上呈現(xiàn)效果,可以帶來很直接的成就感。而且如果是一個(gè)很炫酷,自己非常用心做出來的東西。


40.HTML5語義標(biāo)簽

http://www.html5jscss.com/htm...


41. HTML5和html4的區(qū)別

HTML5推出的理由

解決Web上存在的問題:
Web瀏覽器間的兼容性低:在一個(gè)瀏覽器中可以運(yùn)行的HTML、Css、Javascript,在另一個(gè)瀏覽器中不能運(yùn)行。
原因:各瀏覽器規(guī)范不統(tǒng)一,沒有被標(biāo)準(zhǔn)化。
解決方案:使各瀏覽器的功能符合通用標(biāo)準(zhǔn)。
文檔結(jié)構(gòu)不夠明確:HTML4中元素不能把文檔結(jié)構(gòu)表示清楚。
解決方案:增加與結(jié)構(gòu)相關(guān)的元素。
Web應(yīng)用程序的功能受到限制:HTMLL4對(duì)Web應(yīng)用程序的貢獻(xiàn)很小,比如:不允許同時(shí)上傳多個(gè)文件。
解決方案:提供供Web應(yīng)用程序使用的API。

新增的元素和廢除的元素
新增元素
新增的結(jié)構(gòu)元素

section:表示頁面中內(nèi)容塊,比如章節(jié)、頁眉、頁腳或頁面中的其他部分,可與

結(jié)合使用表示文檔結(jié)構(gòu)。
article:表示頁面中一塊與上下文不相關(guān)的獨(dú)立內(nèi)容,比如博客中的一篇文章或報(bào)紙中的一篇文章。
aside:表示article內(nèi)容之外,與article內(nèi)容相關(guān)的輔助信息。
header:表示頁面中的區(qū)域塊,通常用它表示標(biāo)題。
hgroup:用于對(duì)整個(gè)頁面或頁面中標(biāo)題進(jìn)行整合。
footer:表示頁面中的區(qū)域塊,通常表示區(qū)域快的腳部或底部,用于承載作者姓名、創(chuàng)作日期等與作者的元素。
nav:表示頁面中導(dǎo)航部分。
figure:表示一段獨(dú)立的流內(nèi)容,一般表示主體流內(nèi)容的一個(gè)獨(dú)立單元。

https://www.cnblogs.com/melbo...


42.面向?qū)ο蠛兔嫦蜻^程的區(qū)別:

 面向?qū)ο螅河镁€性的思維。與面向過程相輔相成。在軟件開發(fā)過程中,宏觀上,用面向?qū)ο髞戆盐帐挛镩g復(fù)雜的關(guān)系,分析系統(tǒng)。微觀上,仍然使用面向過程。

“面向過程”是一種是事件為中心的編程思想。就是分析出解決問題所需的步驟,然后用函數(shù)把這寫步驟實(shí)現(xiàn),并按順序調(diào)用。
”面向?qū)ο蟆笆且浴皩?duì)象”為中心的編程思想

簡(jiǎn)單的舉個(gè)例子:汽車發(fā)動(dòng)、汽車到站。汽車啟動(dòng)是一個(gè)事件,汽車到站是另一個(gè)事件,面向過程編程的過程中我們關(guān)心的是事件,而不是汽車本身。針對(duì)上述兩個(gè)事件,形成兩個(gè)函數(shù),之后依次調(diào)用。
對(duì)于面向?qū)ο髞碚f,我們關(guān)心的是汽車這類對(duì)象,兩個(gè)事件只是這類對(duì)象所具有的行為。而且對(duì)于這兩個(gè)行為的順序沒有強(qiáng)制要求。
面向過程的思維方式是分析綜合,面向?qū)ο蟮乃季S方式是構(gòu)造。
面向過程就是分析出解決問題所需要的步驟,然后用函數(shù)把這些步驟一步一步實(shí)現(xiàn),使用的時(shí)候一個(gè)一個(gè)依次調(diào)用就可以了。 

面向?qū)ο笫前褬?gòu)成問題事務(wù)分解成各個(gè)對(duì)象,建立對(duì)象的目的不是為了完成一個(gè)步驟,而是為了描敘某個(gè)事物在整個(gè)解決問題的步驟中的行為。


  • a-z ?

  • 文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

    轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/52234.html

    相關(guān)文章

    • 前端開發(fā)-從入門到Offer - 收藏集 - 掘金

      摘要:一些知識(shí)點(diǎn)有哪些方法方法前端從入門菜鳥到實(shí)踐老司機(jī)所需要的資料與指南合集前端掘金前端從入門菜鳥到實(shí)踐老司機(jī)所需要的資料與指南合集歸屬于筆者的前端入門與最佳實(shí)踐。 工欲善其事必先利其器-前端實(shí)習(xí)簡(jiǎn)歷篇 - 掘金 有幸認(rèn)識(shí)很多在大廠工作的學(xué)長(zhǎng),在春招正式開始前為我提供很多內(nèi)部推薦的機(jī)會(huì),非常感謝他們對(duì)我的幫助?,F(xiàn)在就要去北京了,對(duì)第一份正式的實(shí)習(xí)工作也充滿期待,也希望把自己遇到的一些問題和...

      sf_wangchong 評(píng)論0 收藏0
    • BAT 要的是什么樣的前端實(shí)習(xí)生?

      摘要:面試季又到了,各位小鮮肉也在著手準(zhǔn)備基本的面試實(shí)習(xí)。但是,有小鮮肉的思想我確實(shí)有點(diǎn)不敢茍同。最近看了一下,基本的面試題目集,發(fā)現(xiàn)都是一問一答的形式,這個(gè)不是和天速成一模一樣了嗎知其然,不知其所以然。 面試季又到了,各位小鮮肉也在著手準(zhǔn)備基本的面試、實(shí)習(xí)。但是,有小鮮肉的思想我確實(shí)有點(diǎn)不敢茍同。面試無非就是問一些問題,你能答出來就行,答不出來就 pass。那如果我知道你要問哪些問題,這不...

      Zhuxy 評(píng)論0 收藏0
    • 阿里巴巴2018秋招總結(jié)

      摘要:作為一個(gè)前端人,阿里巴巴,是我最想去的國(guó)內(nèi)公司,我看重的也不是他薪水如何,完全在于他的技術(shù),這一點(diǎn)可以說明一切。阿里是個(gè)十分重視基礎(chǔ)的公司,和浮躁的前端大環(huán)境形成鮮明的對(duì)比。我不是第一次投阿里巴巴,所以心態(tài)一開始還是挺平和的。 這是去年8月份秋招的面試,五面都面完了,給大家貢獻(xiàn)干貨吧。我沒寫問題的答案,有什么問題可以留言區(qū)問我。 一面 電話面(1小時(shí))電話面問題不多,但是十分考驗(yàn)對(duì)相關(guān)...

      AWang 評(píng)論0 收藏0
    • 阿里巴巴2018秋招總結(jié)

      摘要:作為一個(gè)前端人,阿里巴巴,是我最想去的國(guó)內(nèi)公司,我看重的也不是他薪水如何,完全在于他的技術(shù),這一點(diǎn)可以說明一切。阿里是個(gè)十分重視基礎(chǔ)的公司,和浮躁的前端大環(huán)境形成鮮明的對(duì)比。我不是第一次投阿里巴巴,所以心態(tài)一開始還是挺平和的。 這是去年8月份秋招的面試,五面都面完了,給大家貢獻(xiàn)干貨吧。我沒寫問題的答案,有什么問題可以留言區(qū)問我。 一面 電話面(1小時(shí))電話面問題不多,但是十分考驗(yàn)對(duì)相關(guān)...

      mj 評(píng)論0 收藏0
    • 阿里巴巴2018秋招總結(jié)

      摘要:作為一個(gè)前端人,阿里巴巴,是我最想去的國(guó)內(nèi)公司,我看重的也不是他薪水如何,完全在于他的技術(shù),這一點(diǎn)可以說明一切。阿里是個(gè)十分重視基礎(chǔ)的公司,和浮躁的前端大環(huán)境形成鮮明的對(duì)比。我不是第一次投阿里巴巴,所以心態(tài)一開始還是挺平和的。 這是去年8月份秋招的面試,五面都面完了,給大家貢獻(xiàn)干貨吧。我沒寫問題的答案,有什么問題可以留言區(qū)問我。 一面 電話面(1小時(shí))電話面問題不多,但是十分考驗(yàn)對(duì)相關(guān)...

      yy13818512006 評(píng)論0 收藏0

    發(fā)表評(píng)論

    0條評(píng)論

    閱讀需要支付1元查看
    <