摘要:客戶端的瀏覽器根據(jù)雙方同意的安全等級,建立會話密鑰,然后利用網(wǎng)站的公鑰將會話密鑰加密,并傳送給網(wǎng)站。地址必須和一個網(wǎng)絡掩碼對應使用缺一不可。網(wǎng)絡掩碼的主要作用是告訴計算機如何從地址中析取網(wǎng)絡標識和主機標識。
霸面的是前端實習生崗位,當時聽同學說前端缺人,還特意設了一個霸面區(qū),就去溜了個彎兒,畢竟不試試,怎么知道自己有多菜呢o( ̄︶ ̄)o
一面技術面,面試官關注的點一直在數(shù)據(jù)結(jié)構(gòu)、算法、計算機網(wǎng)絡這些點,關于框架也有問,但較少,而且直接問原理。下面是把面試官問的問題做個總結(jié),以便以后查漏補缺
手寫快排,講原理
一道算法題,具體見下文
http和https的區(qū)別,為什么https更安全
IP協(xié)議和dns的關系,屬于七層中第幾層
寫一個帶#和?的url
讀過vue源碼么?vue雙向綁定的原理是什么?用js如何實現(xiàn)
用的axios呀,axios和后臺交互的原理是什么?除了axios還有什么和后臺交互的方法
1.數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)中的排序一直是一個繞不過去的點,面試官的第一道題就是讓用js寫快排,然鵝,我并沒有復習快排ε(┬┬﹏┬┬)3,寫不出來之后面試官就讓講一下快排的原理。
快排原理:
王道上對快排的解釋是:在待排序表L[1·····n]中任取一個元素pivot作為基準,通過一趟排序姜待排序表劃分為獨立的兩部分L[1···k]和L[k+1···n],使得L[1···k]中所有元素小于pivot,L[k+1···n]中所有元素大于pivot,則pivot放在了其最終位置L(k)上,這個過程稱作一趟快速排序。而后分別地柜的對兩個子表重復上述過程,直至每部分內(nèi)只有一個元素或空為止,即所有元素放在了其最終位置上。
算法實現(xiàn):
var arr=[1,54,27,93,100,45,98] function qsort(a,l,r){ var x=a[l],i=l,j=r if(i>=j) return x while(i這個代碼運行不成功,待修改;
2.算法
幾種內(nèi)排序的算法實現(xiàn),時間復雜度都需要掌握這是面試的最后一道題,算是拿個算法題來壓軸。從25匹馬中選出5匹最快的馬,只有五個賽道,求最少的次數(shù)(沒有秒表計時)這個題當時沒想出來,后來面試結(jié)束,在網(wǎng)上找到一個一模一樣的題,步驟這里就不寫了,詳情請移步點我點我
3.計算機網(wǎng)絡網(wǎng)絡里的知識考的比較多一些,有http和https,ip協(xié)議,DNS,url
http和https有什么區(qū)別?回答說https更安全之后,面試官接著問,問什么更安全
HTTP協(xié)議傳輸?shù)臄?shù)據(jù)都是未加密的,也就是明文的,因此使用HTTP協(xié)議傳輸隱私信息非常不安全,HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進行加密傳輸、身份認證的網(wǎng)絡協(xié)議,要比http協(xié)議安全。HTTPS和HTTP的區(qū)別主要如下:
1、https協(xié)議需要到ca申請證書,一般免費證書較少,因而需要一定費用。
2、http是超文本傳輸協(xié)議,信息是明文傳輸,https則是具有安全性的ssl加密傳輸協(xié)議。
3、http和https使用的是完全不同的連接方式,用的端口也不一樣,前者是80,后者是443。
4、http的連接很簡單,是無狀態(tài)的;HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進行加密傳輸、身份認證的網(wǎng)絡協(xié)議,比http協(xié)議安全。客戶端在使用HTTPS方式與Web服務器通信時有以下幾個步驟,如圖所示。
(1)客戶使用https的URL訪問Web服務器,要求與Web服務器建立SSL連接。
?。?)Web服務器收到客戶端請求后,會將網(wǎng)站的證書信息(證書中包含公鑰)傳送一份給客戶端。
?。?)客戶端的瀏覽器與Web服務器開始協(xié)商SSL連接的安全等級,也就是信息加密的等級。
?。?)客戶端的瀏覽器根據(jù)雙方同意的安全等級,建立會話密鑰,然后利用網(wǎng)站的公鑰將會話密鑰加密,并傳送給網(wǎng)站。
?。?)Web服務器利用自己的私鑰解密出會話密鑰。
(6)Web服務器利用會話密鑰加密與客戶端之間的通信。如果需要將網(wǎng)站從http切換到https到底該如何實現(xiàn)呢?
這里需要將頁面中所有的鏈接,例如js,css,圖片等等鏈接都由http改為https。例如:http://www.baidu.com改為https://www.baidu.com
BTW,這里雖然將http切換為了https,還是建議保留http。所以我們在切換的時候可以做http和https的兼容,具體實現(xiàn)方式是,去掉頁面鏈接中的http頭部,這樣可以自動匹配http頭和https頭。例如:將http://www.baidu.com改為//www...。然后當用戶從http的入口進入訪問頁面時,頁面就是http,如果用戶是從https的入口進入訪問頁面,頁面即使https的。ip協(xié)議的作用是什么,dns是什么,屬于七層中的哪一層巴拉巴拉說了一點,可能說的不太對,面試官就沒在接著問,據(jù)別的同學說,面試官接著問她:域名解析存儲在哪里,服務器,在服務器的哪里???鬼知道
IP 地址是我們進行TCP/IP通訊的基礎,IP地址是一個32位二進制數(shù)的地址, 由4個8位字段組成,每個字段之間用點號隔開,用于標識TCP/IP宿主機。每個IP地址都包含兩部分:網(wǎng)絡ID和主機ID。網(wǎng)絡ID標識在同一個物理網(wǎng)絡上的所有宿主機,主機ID 標識該物理網(wǎng)絡上的每一個宿主機,于是整個Internet上的每個計算機都依靠各自唯一的IP地址來標識。
IP地址的格式為: IP地址 = 網(wǎng)絡地址 + 主機地址 或者 IP地址=主機地址 + 子網(wǎng)地址 + 主機地址。一個簡單的IP地址其實包含了網(wǎng)絡地址和主機地址兩部分重要的信息。
IP地址必須和一個網(wǎng)絡掩碼(Net Mask)對應使用, 缺一不可。網(wǎng)絡掩碼的主要作用是告訴計算機如何從IP地址中析取網(wǎng)絡標識和主機標識。其實現(xiàn)是通過設置掩碼來將原本屬于主機ID的位(bit)借用給網(wǎng)絡ID, 從而起到減少主機數(shù)量的作用。當通過設置掩碼從主機ID來借用位(bit)時, 至少要留下2個位(bit)來做主機ID。因為只留一個位的情況下,全0和全1都沒有意義.
在TCP/IP協(xié)議棧的實現(xiàn)中設定了許多的規(guī)則,其中有一條就是, 兩臺聯(lián)網(wǎng)的主機想直接通訊的話,必須有相同的網(wǎng)絡標識和不同的主機標識。具有不同的網(wǎng)絡標識的兩臺主機要想通訊的話必須通過一臺中間設備 - 路由器的轉(zhuǎn)發(fā)才能實現(xiàn)。
對于大多數(shù)撥號上網(wǎng)的用戶,由于其上網(wǎng)時間和空間的離散性,為每個用戶分配一個固定的IP地址(靜態(tài)I P)是非常不可取的,這將造成IP地址資源的極大浪費。因此這些用戶通常會在每次撥通ISP的主機后,自動獲得一個動態(tài)的IP地址,該地址當然不是任意的,而是該ISP申請的網(wǎng)絡ID和主機ID的合法區(qū)間中的某個地址。撥號用戶任意兩次連接時的IP地址很可能不同,但是在每次連接時間內(nèi)IP地址不變。
DNS( Domain Name System)是“域名系統(tǒng)”的英文縮寫,它用于TCP/IP網(wǎng)絡,它所提供的服務是用來將主機名和域名轉(zhuǎn)換為IP地址的工作。
至于同同學說的解析存儲在哪里,我猜是問如何查詢的過程:1、在瀏覽器中輸入www . qq .com 域名,操作系統(tǒng)會先檢查自己本地的hosts文件是否有這個網(wǎng)址映射關系,如果有,就先調(diào)用這個IP地址映射,完成域名解析。
2、如果hosts里沒有這個域名的映射,則查找本地DNS解析器緩存,是否有這個網(wǎng)址映射關系,如果有,直接返回,完成域名解析。
3、如果hosts與本地DNS解析器緩存都沒有相應的網(wǎng)址映射關系,首先會找TCP/ip參數(shù)中設置的首選DNS服務器,在此我們叫它本地DNS服務器,此服務器收到查詢時,如果要查詢的域名,包含在本地配置區(qū)域資源中,則返回解析結(jié)果給客戶機,完成域名解析,此解析具有權威性。
4、如果要查詢的域名,不由本地DNS服務器區(qū)域解析,但該服務器已緩存了此網(wǎng)址映射關系,則調(diào)用這個IP地址映射,完成域名解析,此解析不具有權威性。
5、如果本地DNS服務器本地區(qū)域文件與緩存解析都失效,則根據(jù)本地DNS服務器的設置(是否設置轉(zhuǎn)發(fā)器)進行查詢,如果未用轉(zhuǎn)發(fā)模式,本地DNS就把請求發(fā)至13臺根DNS,根DNS服務器收到請求后會判斷這個域名(.com)是誰來授權管理,并會返回一個負責該頂級域名服務器的一個IP。本地DNS服務器收到IP信息后,將會聯(lián)系負責.com域的這臺服務器。這臺負責.com域的服務器收到請求后,如果自己無法解析,它就會找一個管理.com域的下一級DNS服務器地址(http://qq.com)給本地DNS服務器。當本地DNS服務器收到這個地址后,就會找http://qq.com域服務器,重復上面的動作,進行查詢,直至找到www . qq .com主機。
6、如果用的是轉(zhuǎn)發(fā)模式,此DNS服務器就會把請求轉(zhuǎn)發(fā)至上一級DNS服務器,由上一級服務器進行解析,上一級服務器如果不能解析,或找根DNS或把轉(zhuǎn)請求轉(zhuǎn)至上上級,以此循環(huán)。不管是本地DNS服務器用是是轉(zhuǎn)發(fā),還是根提示,最后都是把結(jié)果返回給本地DNS服務器,由此DNS服務器再返回給客戶機。
ip屬于網(wǎng)絡層,dns屬于應用層,附圖一張:參見ipipipipip dns dns dns dns dns
寫一個帶?和#的url港真,我不知道?和#是什么意思?,F(xiàn)在想想昨天跟面試官胡鄒了一下就覺得好尬
4.vue.js
#代表網(wǎng)頁中的一個位置,比如,http://www.XXX.com/index.html...。
?是帶的參數(shù)。比如 http://www.cnallshop.com/sch?...,參數(shù)是?后面的id=1,網(wǎng)站的程序會根據(jù)此參數(shù)查詢數(shù)據(jù)庫。
參見#表示頁面定位關于框架,只問了一個問題,果然大廠都重基礎,首先
讀過vue源碼嗎?gg,沒有,
說一下vue實現(xiàn)雙向綁定的原理是什么原理原理,一臉懵逼。。。
鏈接描述這個文章寫的真好,挖坑,今天沒空了,明天總結(jié)一下
還問了一個問題,和后臺交互用的什么,axios呀,那axios的原理是什么?
阿西吧,除了axios還有什么和后臺交互的方式?
1、 link標簽的href屬性
2、 script標簽的src屬性
3、 img標簽的src屬性
4、 ajax發(fā)送請求
5、 表單提交發(fā)送請求
6、 a標簽的href發(fā)送請求
7、 iframe的src屬性發(fā)送請求
前后端實現(xiàn)數(shù)據(jù)交互的方法點我
文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/94332.html
摘要:獲取的對象范圍方法獲取的是最終應用在元素上的所有屬性對象即使沒有代碼,也會把默認的祖宗八代都顯示出來而只能獲取元素屬性中的樣式。因此對于一個光禿禿的元素,方法返回對象中屬性值如果有就是據(jù)我測試不同環(huán)境結(jié)果可能有差異而就是。 花了很長時間整理的前端面試資源,喜歡請大家不要吝嗇star~ 別只收藏,點個贊,點個star再走哈~ 持續(xù)更新中……,可以關注下github 項目地址 https:...
摘要:不過很快就開始著手做了,我提交了兩次代碼給面試官看,第一次是著重隨機座位算法的實現(xiàn),可是后來經(jīng)過提醒其實是側(cè)重于架構(gòu)知識方面的。于是又改了一次答案,提交了。嗯感覺算是過了筆試吧,起碼收到面試官面試的邀請了。 怎么說呢,感覺還是很神奇啊。。。 我是在某直聘上面投遞了簡歷,投遞之后不久一個tx-hr跟我聯(lián)系,簡單溝通之后,就說幫我內(nèi)推。我想這波可以啊。 下午就收到了技術面試官的短信,加...
摘要:不過很快就開始著手做了,我提交了兩次代碼給面試官看,第一次是著重隨機座位算法的實現(xiàn),可是后來經(jīng)過提醒其實是側(cè)重于架構(gòu)知識方面的。于是又改了一次答案,提交了。嗯感覺算是過了筆試吧,起碼收到面試官面試的邀請了。 怎么說呢,感覺還是很神奇啊。。。 我是在某直聘上面投遞了簡歷,投遞之后不久一個tx-hr跟我聯(lián)系,簡單溝通之后,就說幫我內(nèi)推。我想這波可以啊。 下午就收到了技術面試官的短信,加...
閱讀 2928·2021-11-23 09:51
閱讀 3174·2021-11-12 10:36
閱讀 3211·2021-09-27 13:37
閱讀 3163·2021-08-17 10:15
閱讀 2593·2019-08-30 15:55
閱讀 2756·2019-08-30 13:07
閱讀 797·2019-08-29 16:32
閱讀 2651·2019-08-26 12:00