當前位置:首頁>職場>前端面試題進階篇(前端面試題十五)
發(fā)布時間:2024-01-19閱讀(12)
1、Doctype作用? 嚴格模式與混雜模式如何區(qū)分?它們有何意義?,下面我們就來聊聊關(guān)于前端面試題進階篇?接下來我們就一起去了解一下吧!

前端面試題進階篇
1、Doctype作用? 嚴格模式與混雜模式如何區(qū)分?它們有何意義?
(1) 聲明位于文檔中的最前面,處于 標簽之前。告知瀏覽器的解析器,用什么文檔類型 規(guī)范來解析這個文檔。
(2)嚴格模式的排版和 JS 運作模式是 以該瀏覽器支持的最高標準運行。
(3)在混雜模式中,頁面以寬松的向后兼容的方式顯示。模擬老式瀏覽器的行為以防止站點無法工作。
(4)DOCTYPE不存在或格式不正確會導致文檔以混雜模式呈現(xiàn)。
2、行內(nèi)元素有哪些?塊級元素有哪些?
(1)CSS規(guī)范規(guī)定,每個元素都有display屬性,確定該元素的類型,每個元素都有默認的display值, 比如div默認display屬性值為“block”,成為“塊級”元素; span默認display屬性值為“inline”,是“行內(nèi)”元素。
(2)行內(nèi)元素有:a b span img input select strong(強調(diào)的語氣) 塊級元素有:div ul ol li dl dt dd h1 h2 h3 h4…p
3、link 和@import 的區(qū)別是?
(1)link屬于XHTML標簽,而@import是CSS提供的;
(2)頁面被加載的時,link會同時被加載,而@import引用的CSS會等到頁面被加載完再加載;
(3)import只在IE5以上才能識別,而link是XHTML標簽,無兼容問題;
(4)link方式的樣式的權(quán)重 高于@import的權(quán)重.
4、瀏覽器的內(nèi)核分別是什么?
IE瀏覽器的內(nèi)核Trident、Mozilla的Gecko、Chrome的Blink(WebKit的分支)、Opera內(nèi)核原為Presto,現(xiàn)為Blink;
5、HTML5有哪些新特性?如何處理HTML5新標簽的瀏覽器兼容問題?如何區(qū)分 HTML 和 HTML5?
HTML5 現(xiàn)在已經(jīng)不是 SGML 的子集,主要是關(guān)于圖像,位置,存儲,多任務(wù)等功能的增加。
繪畫 canvas 用于媒介回放的 video 和 audio 元素 本地離線存儲 localStorage 長期存儲數(shù)據(jù),瀏覽器關(guān)閉后數(shù)據(jù)不丟失; sessionStorage 的數(shù)據(jù)在瀏覽器關(guān)閉后自動刪除 語意化更好的內(nèi)容元素,比如 article、footer、header、nav、section 表單控件,calendar、date、time、email、url、search 新的技術(shù)webworker, websockt, Geolocation
6、對語義化如何理解?
用正確的標簽做正確的事情!
HTML語義化就是讓頁面的內(nèi)容結(jié)構(gòu)化,便于對瀏覽器、搜索引擎解析;在沒有樣式CCS情況下也以一種文檔格式顯示,并且是容易閱讀的。搜索引擎的爬蟲依賴于標記來確定上下文和各個關(guān)鍵字的權(quán)重,利于 SEO。使閱讀源代碼的人對網(wǎng)站更容易將網(wǎng)站分塊,便于閱讀維護理解。
7、HTML5的離線儲存有幾種方式?
localStorage長期存儲數(shù)據(jù),瀏覽器關(guān)閉后數(shù)據(jù)不丟失;sessionStorage 數(shù)據(jù)在瀏覽器關(guān)閉后自動刪除。
8、iframe有那些缺點?
iframe會阻塞主頁面的Onload事件;
iframe和主頁面共享連接池,而瀏覽器對相同域的連接有限制,所以會影響頁面的并行加載。使用iframe之前需要考慮這兩個缺點。如果需要使用iframe,最好是通過javascript動態(tài)給iframe添加src屬性值,這樣可以可以繞開以上兩個問題。
9、請描述一下 Cookies,sessionStorage 和 localStorage 的區(qū)別?
cookie在瀏覽器和服務(wù)器間來回傳遞。 sessionStorage和localStorage不會,sessionStorage和localStorage的存儲空間更大;sessionStorage和localStorage有更多豐富易用的接口;sessionStorage和localStorage各自獨立的存儲空間;
10、CSS 選擇符有哪些?哪些屬性可以繼承?優(yōu)先級算法如何計算? CSS3新增偽類有那些?
1.id選擇器( # myid) 2.類選擇器(.myclassname)
3.標簽選擇器(div, h1, p) 4.相鄰選擇器(h1 p)
5.子選擇器(ul < li) 6.后代選擇器(li a)
7.通配符選擇器( * ) 8.屬性選擇器(a[rel = "external"])
可繼承的樣式: font-size font-family color, UL LI DL DD DT;
不可繼承的樣式:border padding margin width height ;
優(yōu)先級就近原則,同權(quán)重情況下樣式定義最近者為準;
載入樣式以最后載入的定位為準;
優(yōu)先級為:
!important > id > class > tag important 比 內(nèi)聯(lián)優(yōu)先級高
11、CSS3新增偽類舉例:
p:first-of-type 選擇屬于其父元素的首個元素的每個元素。
p:last-of-type 選擇屬于其父元素的最后元素的每個元素。
p:only-of-type 選擇屬于其父元素唯一的元素的每個元素。
p:only-child 選擇屬于其父元素的唯一子元素的每個元素。
p:nth-child(2) 選擇屬于其父元素的第二個子元素的每個元素。
:enabled :disabled 控制表單控件的禁用態(tài)。
:checked單選框或復選框被選中。
12、如何居中div?如何居中一個浮動元素?
給div設(shè)置一個寬度,然后添加margin:0 auto屬性
div{ width:200px; margin:0 auto; } 居中一個浮動元素
確定容器的寬高 寬500 高 300 底層 設(shè)置層的外邊距 .div { Width:500px ; height:300px;//高度可以不設(shè) Margin: -150px 0 0 -250px; position:relative;相對定位 background-color:pink;//方便看效果 left:50%; top:50%;}
列出display的值,說明他們的作用。position的值, relative和absolute定位原點是?
1.block 象塊類型元素一樣顯示。 none 缺省值。象行內(nèi)元素類型一樣顯示。 inline-block 象行內(nèi)元素一樣顯示,但其內(nèi)容象塊類型元素一樣顯示。 list-item 象塊類型元素一樣顯示,并添加樣式列表標記。
2. absolute 生成絕對定位的元素,相對于 static 定位以外的第一個父元素進行定位。
fixed (老IE不支持) 生成絕對定位的元素,相對于瀏覽器窗口進行定位。
relative 生成相對定位的元素,相對于其正常位置進行定位。
static 默認值。沒有定位,元素出現(xiàn)在正常的流中 *(忽略 top, bottom, left, right z-index 聲明)。
inherit 規(guī)定從父元素繼承 position 屬性的值。
13、為什么要初始化CSS樣式?
因為瀏覽器的兼容問題,不同瀏覽器對有些標簽的默認值是不同的,如果沒對CSS初始化往往會出現(xiàn)瀏覽器之間的頁面顯示差異。當然,初始化樣式會對SEO有一定的影響,但魚和熊掌不可兼得,但力求影響最小的情況下初始化。最簡單的初始化方法就是: * {padding: 0; margin: 0;} (不建議)淘寶的樣式初始化: body, h1, h2, h3, h4, h5, h6, hr, p, blockquote, dl, dt, dd, ul, ol, li, pre, form, fieldset, legend, button, input, textarea, th, td { margin:0; padding:0; }body, button, input, select, textarea { font:12px/1.5tahoma, arial, /5b8b/4f53; }h1, h2, h3, h4, h5, h6{ font-size:100%; }address, cite, dfn, em, var { font-style:normal; }code, kbd, pre, samp { font-family:couriernew, courier, monospace; }small{ font-size:12px; }ul, ol { list-style:none; }a { text-decoration:none; }a:hover { text-decoration:underline; }sup { vertical-align:text-top; }sub{ vertical-align:text-bottom; }legend { color:#000; }fieldset, img { border:0; }button, input, select, textarea { font-size:100%; }table { border-collapse:collapse; border-spacing:0; }
14、css定義的權(quán)重
以下是權(quán)重的規(guī)則:標簽的權(quán)重為1,class的權(quán)重為10,id的權(quán)重為100,以下例子是演示各種定義的權(quán)重值:/*權(quán)重為1*/div{}/*權(quán)重為10*/.class1{}/*權(quán)重為100*/#id1{}/*權(quán)重為100 1=101*/#id1 div{}/*權(quán)重為10 1=11*/.class1 div{}/*權(quán)重為10 10 1=21*/.class1 .class2 div{} 如果權(quán)重相同,則最后定義的樣式會起作用,但是應(yīng)該避免這種情況出現(xiàn)
15、CSS3有哪些新特性?
CSS3實現(xiàn)圓角(border-radius:8px),陰影(box-shadow:10px), 對文字加特效(text-shadow、),線性漸變(gradient),旋轉(zhuǎn)(transform) transform:rotate(9deg) scale(0.85,0.90) translate(0px,-30px) skew(-9deg,0deg);//旋轉(zhuǎn),縮放,定位,傾斜 增加了更多的CSS選擇器 多背景 rgba
16、介紹一下CSS的盒子模型?
(1)有兩種, IE 盒子模型、標準 W3C 盒子模型;IE的content部分包含了 border 和 pading;
(2)盒模型: 內(nèi)容(content)、填充(padding)、邊界(margin)、 邊框(border).
17.對WEB標準以及W3C的理解與認識?
標簽閉合、標簽小寫、不亂嵌套、提高搜索機器人搜索幾率、使用外鏈css和js腳本、結(jié)構(gòu)行為表現(xiàn)的分離、文件下載與頁面速度更快、內(nèi)容能被更多的用戶所訪問、內(nèi)容能被更廣泛的設(shè)備所訪問、更少的代碼和組件,容易維護、改版方便,不需要變動頁面內(nèi)容、提供打印版本而不需要復制內(nèi)容、提高網(wǎng)站易用性;
18.XHTML和HTML有什么區(qū)別?
HTML是一種基本的WEB網(wǎng)頁設(shè)計語言,XHTML是一個基于XML的置標語言最主要的不同:
XHTML 元素必須被正確地嵌套。
XHTML 元素必須被關(guān)閉。標簽名必須用小寫字母。
XHTML 文檔必須擁有根元素。
19.Doctype? 嚴格模式與混雜模式-如何觸發(fā)這兩種模式,區(qū)分它們有何意義?
用于聲明文檔使用那種規(guī)范(HTML/XHTML)一般為 嚴格 過度 基于框架的html文檔
加入XMl聲明可觸發(fā),解析方式更改為IE5.5 擁有IE5.5的bug
20.行內(nèi)元素有哪些?塊級元素有哪些?CSS的盒模型?
塊級元素:div p h1 h2 h3 h4 form ul
行內(nèi)元素: a b br i span input select
Css盒模型:內(nèi)容,border ,margin,padding
21.CSS引入的方式有哪些? link和@import的區(qū)別是?
內(nèi)聯(lián) 內(nèi)嵌 外鏈 導入
區(qū)別 :同時加載前者無兼容性,后者CSS2.1以下瀏覽器不支持
Link 支持使用javascript改變樣式,后者不可
22.CSS選擇符有哪些?哪些屬性可以繼承?優(yōu)先級算法如何計算?內(nèi)聯(lián)和important哪個優(yōu)先級高?
標簽選擇符 類選擇符 id選擇符
繼承不如指定 Id>class>標簽選擇
后者優(yōu)先級高
23.前端頁面有哪三層構(gòu)成,分別是什么?作用是什么?
結(jié)構(gòu)層 HTML 表示層 CSS 行為層 js
24.CSS的基本語句構(gòu)成是?
選擇器{屬性1:值1;屬性2:值2;……}
25.你做的頁面在哪些瀏覽器測試過?這些瀏覽器的內(nèi)核分別是什么?
Ie(Ie內(nèi)核) 火狐(Gecko) 谷歌(webkit) opear(Presto)
26.寫出幾種IE6 BUG的解決方法
27.img標簽上title與alt屬性的區(qū)別是什么?
Alt 當圖片不顯示是 用文字代表。
Title 為該屬性提供信息
28.描述css reset的作用和用途。
Reset重置瀏覽器的css默認屬性 瀏覽器的品種不同,樣式不同,然后重置,讓他們統(tǒng)一
29.解釋css sprites,如何使用。
Css 精靈 把一堆小的圖片整合到一張大的圖片上,減輕服務(wù)器對圖片的請求數(shù)量
30.瀏覽器標準模式和怪異模式之間的區(qū)別是什么?
盒子模型 渲染模式的不同
使用 window.top.document.compatMode 可顯示為什么模式
31.你如何對網(wǎng)站的文件和資源進行優(yōu)化?期待的解決方案包括:
文件合并
文件最小化/文件壓縮
使用CDN托管
緩存的使用
32.什么是語義化的HTML?
直觀的認識標簽 對于搜索引擎的抓取有好處
33.清除浮動的幾種方式,各自的優(yōu)缺點
1.使用空標簽清除浮動 clear:both(理論上能清除任何標簽,增加無意義的標簽)2.使用overflow:auto(空標簽元素清除浮動而不得不增加無意代碼的弊端,,使用zoom:1用于兼容IE)3.使用afert偽元素清除浮動(用于非IE瀏覽器)
34.javascript的typeof返回哪些數(shù)據(jù)類型
Object number function boolean underfind35.例舉3種強制類型轉(zhuǎn)換和2種隱式類型轉(zhuǎn)換?
強制(parseInt,parseFloat,number)
隱式(== – ===)36.split() join() 的區(qū)別
前者是切割成數(shù)組的形式,后者是將數(shù)組轉(zhuǎn)換成字符串37.數(shù)組方法pop() push() unshift() shift()
Push()尾部添加 pop()尾部刪除
Unshift()頭部添加 shift()頭部刪除
39.IE和DOM事件流的區(qū)別
1.執(zhí)行順序不一樣、
2.參數(shù)不一樣
3.事件加不加on
4.this指向問題
40.IE和標準下有哪些兼容性的寫法
Var target = ev.srcElement||ev.target41.Ajax請求的時候get 和post方式的區(qū)別
一個在url后面 一個放在虛擬載體里面
有大小限制
安全問題
應(yīng)用不同 一個是論壇等只需要請求的,一個是類似修改密碼的42.call和apply的區(qū)別
Object.call(this,obj1,obj2,obj3)Object.apply(this,arguments)43.ajax請求時,如何解釋json數(shù)據(jù)
使用eval parse 鑒于安全性考慮 使用parse更靠譜44.閉包是什么,有什么特性,對頁面有什么影響
閉包就是能夠讀取其他函數(shù)內(nèi)部變量的函數(shù)。46.添加 刪除 替換 插入到某個節(jié)點的方法
obj.appendChidl()obj.innersetBeforeobj.replaceChildobj.removeChild47.解釋jsonp的原理,以及為什么不是真正的ajax
動態(tài)創(chuàng)建script標簽,回調(diào)函數(shù)
Ajax是頁面無刷新請求數(shù)據(jù)操作
48.javascript的本地對象,內(nèi)置對象和宿主對象
本地對象為array obj regexp等可以new實例化
內(nèi)置對象為gload Math 等不可以實例化的
宿主為瀏覽器自帶的document,window 等50.”==”和“===”的不同
前者會自動轉(zhuǎn)換類型
后者不會51.javascript的同源策略
一段腳本只能讀取來自于同一來源的窗口和文檔的屬性,這里的同一來源指的是主機名、協(xié)議和端口號的組合
54.CSS定位方式有哪些?position屬性的值有哪些?他們之間的區(qū)別是什么?在CSS中關(guān)于定位的內(nèi)容是:position:relative | absolute | static | fixedstatic 沒有特別的設(shè)定,遵循基本的定位規(guī)定,不能通過z-index進行層次分級。
relative 不脫離文檔流,參考自身靜態(tài)位置通過 top,bottom,left,right 定位,并且可以通過z-index進行層次分級。
absolute 脫離文檔流,通過 top,bottom,left,right 定位。選其最近的父級定位元素,當父級 position 為 static 時,absolute元素將以body坐標原點進行定位,可以通過z-index進行層次分級。
fixed 固定定位,這里他所固定的對象是可視窗口而并非是body或是父級元素。可通過z-index進行層次分級。55.函數(shù)的幾種定義方法?
function a(){},var a = function(){}56.對象的定義方法?
a = new Object(), a = {}57.類的定義方法(prototype)(繼承)
Var a = function(){}a.prototype = {}new a();58.this 關(guān)鍵字的指向
obj.foo() == obj //方法調(diào)用模式,this指向objfoo() == window; //函數(shù)調(diào)用模式,this指向windownew obj.foo() == obj //構(gòu)造器調(diào)用模式, this指向新建立對象
foo.call(obj) == obj;//APPLY調(diào)用模式,this指向obj59.異步ajax的優(yōu)缺點都有什么?
優(yōu)點:
相對于同步ajax:不會造成UI卡死,用戶體驗好。
相對于刷新頁面,省流量
缺點:
后退按鈕無效;
多個請求同時觸發(fā)時,由于回調(diào)時間不確定,會造成混亂,避免這種混亂需要復雜的判斷機制。
搜索引擎不友好
數(shù)據(jù)安全60、介紹js的基本數(shù)據(jù)類型。
number,string,boolean,object,undefined
61、Javascript如何實現(xiàn)繼承?
通過原型和構(gòu)造器
62、如何創(chuàng)建一個對象? (畫出此對象的內(nèi)存圖)
function Person(name, age) { this.name = name; this.age = age; this.sing = function() { alert(this.name) } }
63、談?wù)凾his對象的理解。
this是js的一個關(guān)鍵字,隨著函數(shù)使用場合不同,this的值會發(fā)生變化。但是有一個總原則,那就是this指的是調(diào)用函數(shù)的那個對象。this一般情況下:是全局對象Global。 作為方法調(diào)用,那么this就是指這個對象
64、事件是什么?IE與火狐的事件機制有什么區(qū)別? 如何阻止冒泡?
(1) 我們在網(wǎng)頁中的某個操作(有的操作對應(yīng)多個事件)。例如:當我們點擊一個按鈕就會產(chǎn)生一個事件。是可以被 JavaScript 偵測到的行為。
(2) 事件處理機制:IE是事件冒泡、火狐是 事件捕獲;
(3) ev.stopPropagation();
65、如何判斷一個對象是否屬于某個類?
使用instanceof (待完善) if(a instanceof Person){ alert(yes); }
66、Javascript中,有一個函數(shù),執(zhí)行時對象查找時,永遠不會去查找原型,這個函數(shù)是?
hasOwnProperty
67、對JSON 的了解?
JSON(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式。它是基于JavaScript的一個子集。數(shù)據(jù)格式簡單, 易于讀寫, 占用帶寬小{age:12, name:back}
68、簡述一下src與href的區(qū)別
href 是指向網(wǎng)絡(luò)資源所在位置,建立和當前元素(錨點)或當前文檔(鏈接)之間的鏈接,用于超鏈接。
src是指向外部資源的位置,指向的內(nèi)容將會嵌入到文檔中當前標簽所在位置;在請求src資源時會將其指向的資源下載并應(yīng)用到文檔內(nèi),例如js腳本,img圖片和frame等元素。當瀏覽器解析到該元素時,會暫停其他資源的下載和處理,直到將該資源加載、編譯、執(zhí)行完畢,圖片和框架等元素也如此,類似于將所指向資源嵌入當前標簽內(nèi)。這也是為什么將js腳本放在底部而不是頭部。
69、簡述同步和異步的區(qū)別
同步是阻塞模式,異步是非阻塞模式。
同步就是指一個進程在執(zhí)行某個請求的時候,若該請求需要一段時間才能返回信息,那么這個進程將會一直等待下去,直到收到返回信息才繼續(xù)執(zhí)行下去;
異步是指進程不需要一直等下去,而是繼續(xù)執(zhí)行下面的操作,不管其他進程的狀態(tài)。當有消息返回時系統(tǒng)會通知進程進行處理,這樣可以提高執(zhí)行的效率。
70、px和em的區(qū)別
px和em都是長度單位,區(qū)別是,px的值是固定的,指定是多少就是多少,計算比較容易。em的值不是固定的,并且em會繼承父級元素的字體大小。
瀏覽器的默認字體高都是16px。所以未經(jīng)調(diào)整的瀏覽器都符合: 1em=16px。那么12px=0.75em, 10px=0.625em
71、什么叫優(yōu)雅降級和漸進增強?
漸進增強 progressive enhancement:
針對低版本瀏覽器進行構(gòu)建頁面,保證最基本的功能,然后再針對高級瀏覽器進行效果、交互等改進和追加功能達到更好的用戶體驗。
優(yōu)雅降級 graceful degradation:
一開始就構(gòu)建完整的功能,然后再針對低版本瀏覽器進行兼容。
區(qū)別:
a. 優(yōu)雅降級是從復雜的現(xiàn)狀開始,并試圖減少用戶體驗的供給
b. 漸進增強則是從一個非常基礎(chǔ)的,能夠起作用的版本開始,并不斷擴充,以適應(yīng)未來環(huán)境的需要
c. 降級(功能衰減)意味著往回看;而漸進增強則意味著朝前看,同時保證其根基處于安全地帶
72、瀏覽器的內(nèi)核分別是什么?
IE: trident內(nèi)核
Firefox:gecko內(nèi)核
Safari:webkit內(nèi)核
Opera:以前是presto內(nèi)核,Opera現(xiàn)已改用Google Chrome的Blink內(nèi)核
Chrome:Blink(基于webkit,Google與Opera Software共同開發(fā))
73、如何消除一個數(shù)組里面重復的元素?
var arr1 =[1,2,2,2,3,3,3,4,5,6],arr2 = [];for(var i = 0,len = arr1.length; i< len; i ){if(arr2.indexOf(arr1[i]) < 0){arr2.push(arr1[i]);}}document.write(arr2); // 1,2,3,4,5,6
74、在Javascript中什么是偽數(shù)組?如何將偽數(shù)組轉(zhuǎn)化為標準數(shù)組?
偽數(shù)組(類數(shù)組):無法直接調(diào)用數(shù)組方法或期望length屬性有什么特殊的行為,但仍可以對真正數(shù)組遍歷方法來遍歷它們。典型的是函數(shù)的argument參數(shù),還有像調(diào)用getElementsByTagName,document.childNodes之類的,它們都返回NodeList對象都屬于偽數(shù)組??梢允褂肁rray.prototype.slice.call(fakeArray)將數(shù)組轉(zhuǎn)化為真正的Array對象。
function log(){
var args = Array.prototype.slice.call(arguments);
//為了使用unshift數(shù)組方法,將argument轉(zhuǎn)化為真正的數(shù)組
args.unshift((app));
console.log.apply(console, args);
};
75、Javascript中callee和caller的作用?
caller是返回一個對函數(shù)的引用,該函數(shù)調(diào)用了當前函數(shù);
callee是返回正在被執(zhí)行的function函數(shù),也就是所指定的function對象的正文。
76、請描述一下cookies,sessionStorage和localStorage的區(qū)別
sessionStorage用于本地存儲一個會話(session)中的數(shù)據(jù),這些數(shù)據(jù)只有在同一個會話中的頁面才能訪問并且當會話結(jié)束后數(shù)據(jù)也隨之銷毀。因此sessionStorage不是一種持久化的本地存儲,僅僅是會話級別的存儲。而localStorage用于持久化的本地存儲,除非主動刪除數(shù)據(jù),否則數(shù)據(jù)是永遠不會過期的。
web storage和cookie的區(qū)別
Web Storage的概念和cookie相似,區(qū)別是它是為了更大容量存儲設(shè)計的。Cookie的大小是受限的,并且每次你請求一個新的頁面的時候Cookie都會被發(fā)送過去,這樣無形中浪費了帶寬,另外cookie還需要指定作用域,不可以跨域調(diào)用。
除此之外,Web Storage擁有setItem,getItem,removeItem,clear等方法,不像cookie需要前端開發(fā)者自己封裝setCookie,getCookie。但是Cookie也是不可以或缺的:Cookie的作用是與服務(wù)器進行交互,作為HTTP規(guī)范的一部分而存在 ,而Web Storage僅僅是為了在本地“存儲”數(shù)據(jù)而生。
77、手寫數(shù)組快速排序
關(guān)于快排算法的詳細說明,可以參考阮一峰老師的文章快速排序
“快速排序”的思想很簡單,整個排序過程只需要三步:
(1)在數(shù)據(jù)集之中,選擇一個元素作為”基準”(pivot)。
(2)所有小于”基準”的元素,都移到”基準”的左邊;所有大于”基準”的元素,都移到”基準”的右邊。
(3)對”基準”左邊和右邊的兩個子集,不斷重復第一步和第二步,直到所有子集只剩下一個元素為止。
78、統(tǒng)計字符串”aaaabbbccccddfgh”中字母個數(shù)或統(tǒng)計最多字母數(shù)。
var str = "aaaabbbccccddfgh";
var obj = {};
for(var i=0;istr.length;i ){
var v = str.charAt(i);
if(obj[v] & obj[v].value == v){
obj[v].count = obj[v].count;
}else{
obj[v] = {};
obj[v].count = 1;
obj[v].value = v;
}
}
for(key in obj){
document.write(obj[key].value = obj[key].count ); // a=4 b=3 c=4 d=2 f=1 g=1 h=1
}
79、一次完整的HTTP事務(wù)是怎樣的一個過程?
基本流程:
a. 域名解析
b. 發(fā)起TCP的3次握手
c. 建立TCP連接后發(fā)起http請求
d. 服務(wù)器端響應(yīng)http請求,瀏覽器得到html代碼
e. 瀏覽器解析html代碼,并請求html代碼中的資源
f. 瀏覽器對頁面進行渲染呈現(xiàn)給用戶
80、對前端工程師這個職位你是怎么樣理解的?
a. 前端是最貼近用戶的程序員,前端的能力就是能讓產(chǎn)品從 90分進化到 100 分,甚至更好
b. 參與項目,快速高質(zhì)量完成實現(xiàn)效果圖,精確到1px;
c. 與團隊成員,UI設(shè)計,產(chǎn)品經(jīng)理的溝通;
d. 做好的頁面結(jié)構(gòu),頁面重構(gòu)和用戶體驗;
e. 處理hack,兼容、寫出優(yōu)美的代碼格式;
f. 針對服務(wù)器的優(yōu)化、擁抱最新前端技術(shù)。
歡迎分享轉(zhuǎn)載→http://www.avcorse.com/read-30312.html
Copyright ? 2024 有趣生活 All Rights Reserve吉ICP備19000289號-5 TXT地圖HTML地圖XML地圖