關(guān)于找工作面試
第一次寫個(gè)人記錄二打,簡(jiǎn)單介紹一下找工作以及面試.:
????????①技術(shù)面----基礎(chǔ)匿刮;
????????②技術(shù)面----算法指攒、數(shù)據(jù)結(jié)構(gòu);
????????③技術(shù)面----項(xiàng)目僻焚;
????????④Hr面----綜合允悦;
基礎(chǔ)知識(shí)部分
? ? ? ? 基礎(chǔ)知識(shí)部分是最重要的,看了好多面經(jīng)虑啤,自己查答案隙弛,總結(jié)記錄在此。希望能給同路小白們一個(gè)參考的地方狞山。推薦一篇面經(jīng):《2018大廠高級(jí)前端面試題匯總》全闷。由于是2018年的了,所以大家只需要關(guān)注一下總體方向和基礎(chǔ)部分就可以了萍启。
HTTP
1总珠、介紹HTTP,優(yōu)點(diǎn)和存在的問題勘纯?(必考)
? ? ? ? HTTP優(yōu)點(diǎn)有簡(jiǎn)單局服,靈活,易于擴(kuò)展驳遵,應(yīng)用廣泛淫奔,環(huán)境成熟,無(wú)狀態(tài)堤结;? HTTP缺點(diǎn)有明文不安全唆迁,因?yàn)闊o(wú)狀態(tài),因此無(wú)法做連續(xù)多個(gè)步驟的操作竞穷,“請(qǐng)求 - 應(yīng)答”模式則加劇了HTTP的性能問題唐责。
2、HTTP報(bào)文的請(qǐng)求和返回會(huì)有幾個(gè)部分瘾带?每部分具體都有什么鼠哥?
?(1)請(qǐng)求報(bào)文(請(qǐng)求行/請(qǐng)求頭/請(qǐng)求數(shù)據(jù)/空行)
? ? ? ? ①請(qǐng)求行
? ? ? ? ? ? 請(qǐng)求方法字段、URL字段和HTTP協(xié)議版本
????????????例如:GET /index.html HTTP/1.1
????????????????get方法將數(shù)據(jù)拼接在url后面月弛,傳遞參數(shù)受限
????????????請(qǐng)求方法:
????????????????GET肴盏、POST科盛、HEAD帽衙、PUT、DELETE贞绵、OPTIONS厉萝、TRACE、CONNECT
? ? ? ?② 請(qǐng)求頭(key value形式)
????????????User-Agent:產(chǎn)生請(qǐng)求的瀏覽器類型。
????????????Accept:客戶端可識(shí)別的內(nèi)容類型列表谴垫。
????????????Host:主機(jī)地址
? ? ? ? ③請(qǐng)求數(shù)據(jù)
????????????post方法中章母,會(huì)把數(shù)據(jù)以key value形式發(fā)送請(qǐng)求
? ? ? ? ④空行
????????????發(fā)送回車符和換行符,通知服務(wù)器以下不再有請(qǐng)求頭
???(2)響應(yīng)報(bào)文(狀態(tài)行翩剪、消息報(bào)頭乳怎、響應(yīng)正文)
????????狀態(tài)行
????????消息報(bào)頭
????????響應(yīng)正文
3、GET與POST請(qǐng)求方式的區(qū)別有哪些前弯?
(1)GET和POST是HTTP請(qǐng)求的兩種基本方法蚪缀,GET產(chǎn)生一個(gè)TCP數(shù)據(jù)包,POST產(chǎn)生兩個(gè)? ?TCP數(shù)據(jù)包恕出。
(2)GET在瀏覽器回退時(shí)是無(wú)害的询枚,而POST會(huì)再次提交請(qǐng)求。
(3)GET產(chǎn)生的URL地址可以被Bookmark浙巫,而POST不可以金蜀。
(4)GET請(qǐng)求會(huì)被瀏覽器主動(dòng)cache,而POST不會(huì)的畴,除非手動(dòng)設(shè)置渊抄。
(5)GET請(qǐng)求只能進(jìn)行url編碼,而POST支持多種編碼方式丧裁。
(6)GET請(qǐng)求參數(shù)會(huì)被完整保留在瀏覽器歷史記錄里抒线,而POST中的參數(shù)不會(huì)被保留。
(7)GET請(qǐng)求在URL中傳送的參數(shù)是有長(zhǎng)度限制的渣慕,而POST沒有嘶炭。
(8)對(duì)參數(shù)的數(shù)據(jù)類型,GET只接受ASCII字符逊桦,而POST沒有限制眨猎。
(9)GET比POST更不安全,因?yàn)閰?shù)直接暴露在URL上强经,所以不能用來傳遞敏感信息睡陪。
(10)GET參數(shù)通過URL傳遞,POST放在Request body中匿情。
4兰迫、輸入url到頁(yè)面加載全過程(必考)
? ? ? ?(1)瀏覽器的地址欄輸入U(xiǎn)RL并按下回車。
【娉啤(2)瀏覽器查找當(dāng)前URL是否存在緩存汁果,并比較緩存是否過期。
×崆(3)DNS解析URL對(duì)應(yīng)的IP据德。
■Α(4)根據(jù)IP建立TCP連接(三次握手)。
〖(5)HTTP發(fā)起請(qǐng)求橱野。
(6)服務(wù)器處理請(qǐng)求善玫,瀏覽器接收HTTP響應(yīng)水援。
(7)渲染頁(yè)面茅郎,構(gòu)建DOM樹裹唆。
(8)關(guān)閉TCP連接(四次揮手)只洒。
5许帐、介紹HTTPS;HTTP和HTTPS的區(qū)別(必考)
HTTP與HTTPS介紹:
? ? ? ? 超文本傳輸協(xié)議HTTP協(xié)議被用于在Web瀏覽器和網(wǎng)站服務(wù)器之間傳遞信息毕谴,HTTP協(xié)議以明文方式發(fā)送內(nèi)容成畦,不提供任何方式的數(shù)據(jù)加密,如果攻擊者截取了Web瀏覽器和網(wǎng)站服務(wù)器之間的傳輸報(bào)文涝开,就可以直接讀懂其中的信息循帐,因此,HTTP協(xié)議不適合傳輸一些敏感信息舀武,比如:信用卡號(hào)拄养、密碼等支付信息。
? ? ? ? 為了解決HTTP協(xié)議的這一缺陷银舱,需要使用另一種協(xié)議:安全套接字層超文本傳輸協(xié)議HTTPS瘪匿,為了數(shù)據(jù)傳輸?shù)陌踩琀TTPS在HTTP的基礎(chǔ)上加入了SSL/TLS協(xié)議寻馏,SSL/TLS依靠證書來驗(yàn)證服務(wù)器的身份棋弥,并為瀏覽器和服務(wù)器之間的通信加密。
? ? ? ? HTTPS協(xié)議是由SSL/TLS+HTTP協(xié)議構(gòu)建的可進(jìn)行加密傳輸诚欠、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議顽染,要比http協(xié)議安全
? ? ? ? HTTPS協(xié)議的主要作用可以分為兩種:一種是建立一個(gè)信息安全通道,來保證數(shù)據(jù)傳輸?shù)陌踩涿啵涣硪环N就是確認(rèn)網(wǎng)站的真實(shí)性粉寞。
HTTP和HTTPS的區(qū)別:
1)https協(xié)議需要到CA申請(qǐng)證書,一般免費(fèi)證書較少左腔,因而需要一定費(fèi)用唧垦。
2)http是超文本傳輸協(xié)議,信息是明文傳輸翔悠,https則是具有安全性的ssl/tls加密傳輸協(xié)議业崖。
3)http和https使用的是完全不同的連接方式野芒,用的端口也不一樣蓄愁,前者是80双炕,后者是443。
4)http的連接很簡(jiǎn)單撮抓,是無(wú)狀態(tài)的妇斤;HTTPS協(xié)議是由SSL/TLS+HTTP協(xié)議構(gòu)建的可進(jìn)行加密傳輸、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議丹拯,比http協(xié)議安全站超。