久久影视这里只有精品国产,激情五月婷婷在线,久久免费视频二区,最新99国产小视频

        • 回答數(shù)

          2

        • 瀏覽數(shù)

          188

        曦若若往
        首頁 > 工程師考試 > 前端高級工程師面試題

        2個回答 默認排序
        • 默認排序
        • 按時間排序

        我豆是我

        已采納

        今天小編要跟大家分享的文章是關于參加Web前端面試的常見面試題匯總。準備參加Web前端面試的小伙伴們來和小編一起看一看吧,希望本篇文章能夠?qū)Υ蠹矣兴鶐椭?.漸進增強與優(yōu)雅降級漸進增強并不是一種技術,而是一種設計思想。各個瀏覽器的渲染能力各不相同,要做一個每個人都能看到的網(wǎng)頁、感受到的體驗都一致的網(wǎng)站幾乎不可能。但還是得網(wǎng)站的可訪問性,保證用戶在任何環(huán)境下都能正常訪問網(wǎng)頁得核心內(nèi)容或能使用基本功能(避免網(wǎng)頁打不開、排版錯誤等),并為他們提供當前條件下最好的體驗,這就是漸進增強得核心思想。優(yōu)雅降級也是一種設計思想,為了保證在高版本瀏覽器中提供最好的體驗,碰到低版本瀏覽器再降級進行兼容處理,使其能正常瀏覽。這兩種思想的區(qū)別在于:1.漸進增強是向上兼容,優(yōu)雅降級是向下兼容;2.漸進增強是從簡單到復雜,優(yōu)雅降級是從復雜到簡單;3.漸進增強關注的是內(nèi)容(保證核心內(nèi)容),優(yōu)雅降級關注的是瀏覽體驗(為了兼容低版本瀏覽器)作用DTD(DocumentTypeDefinition,文檔類型定義)是一系列的語法規(guī)則,用來定義XML或(X)HTML的文檔類型。瀏覽器會使用它來判斷文檔類型,決定何種協(xié)議來解析,以及切換瀏覽模式。DOCTYPE是用來聲明文檔類型和DTD規(guī)范的,一個主要的用途便是文件的合法性驗證。如果文檔代碼不合法,那么瀏覽器解析時便會出現(xiàn)一些差錯。HTML5的文檔類型聲明:(嚴格模式)的DTD包含所有HTML元素和屬性,但不包括展示性的和棄用的元素(如font),它的文檔類型聲明:"">標準模式與怪異模式怪異模式(QuirksMode)用于模擬舊瀏覽器的行為。早期的網(wǎng)站并不會遵循完整的規(guī)范,隨著瀏覽器支持越來越多的規(guī)范,在那些舊的瀏覽器中開發(fā)的頁面在顯示時會被破壞。為了向后兼容,瀏覽器發(fā)明了怪異模式,一行錯誤或無效的DOCTYPE都會觸發(fā)怪異模式。瀏覽器使用文件開頭的DOCTYPE來決定用怪異模式處理或標準模式處理。DOCTYPE可以確保不同瀏覽器以相同的方式解析文檔,以及執(zhí)行相同的渲染模式。怪異模式與標準模式的主要區(qū)別:1.怪異模式的寬度和高度會包含padding和border。標準模式不包含,標準模式下可以通過設置box-sizing:border-box將標準盒模型轉化成怪異模式下的盒模型。2.怪異模式下,當內(nèi)容超出容器高度時,會將容器拉伸,而不是溢出。3.怪異模式下,在表格中的字體樣式(如font-size)不會繼承。4.怪異模式下顏色值必須使用十六進制標記法。3.語義化HTML5中的語義化就是讓元素、屬性或?qū)傩灾涤泻x,更準確地標記特定類型的內(nèi)容。對元素語義化的目的是為了讓元素的語義和呈現(xiàn)分離,元素只負責文檔內(nèi)容的結構與含義,而CSS樣式控制內(nèi)容的呈現(xiàn),像元素,沒有語義但卻能將字體變粗,這類元素違背了語義化的目的,將會被廢棄。優(yōu)點·使得HTML文檔結構清晰、布局合理、主體突出、可讀性更強?!び欣赟EO,搜索引擎根據(jù)標簽來確定上下文和各個關鍵字的權重?!し奖闫渌O備解析,如盲人閱讀器根據(jù)語義渲染網(wǎng)頁。·有利于開發(fā)和維護,語義化更具可讀性,代碼更好維護,與CSS3關系更和諧。語義化標簽·定義文檔的頁眉區(qū)域,應作為介紹內(nèi)容或者導航鏈接欄的容器;·footer內(nèi)容的頁腳,通常包含該章節(jié)作者、版權數(shù)據(jù)或者與文檔相關的鏈接等信息;·article文檔、頁面、應用或網(wǎng)站中的獨立結構,是可獨立分配的、可復用的結構,如在發(fā)布中,它可能是論壇帖子、雜志或新聞文章、博客、用戶提交的評論、交互式組件,或者其他獨立的內(nèi)容項目;·nav描述一個含有多個超鏈接的區(qū)域,該區(qū)域包含跳轉到其他頁面或頁面內(nèi)部其他部分的鏈接列表;·section表示文檔中的一個區(qū)域(或節(jié)),比如,內(nèi)容中的一個專題組;·main定義文檔的主要內(nèi)容,該內(nèi)容在文檔中應當是獨一無二的,不包含任何在文檔中重復的內(nèi)容,比如側邊欄,導航欄鏈接,版權信息,網(wǎng)站logo,搜索框(搜索框作為文檔的主要內(nèi)容);·aside表示一個和其余頁面內(nèi)容幾乎無關的部分,被認為是獨立于該內(nèi)容的一部分且可以被單獨的拆分出來而不會影響整體。通常表現(xiàn)為側邊欄或嵌入內(nèi)容。4.超鏈接偽類:link、:visited、:active和:hover的聲明順序是怎樣的?:link表示未訪問的鏈接狀態(tài);:visited表示已訪問狀態(tài);:active表示激活狀態(tài)(鼠標按下);:hover表示懸停狀態(tài)。推薦順序是LVHA,即:link:visited:hover:active。理由如下:·當鼠標懸停在未訪問的鏈接上時,:link和:hover都會命中,如果:hover在:link之前聲明,那么(:hover)就會被覆蓋;·當鼠標懸停在已訪問的連接上時,:visited和:hover都會命中,如果:hover在:visited之前聲明,那么(:hover)就會被覆蓋;·當鼠標單擊鏈接時,:active和:hover都會命中,我們大多是想讓:hover只在懸停時展示樣式,按下鼠標時使用:active樣式,因此:active在:hover之后聲明;·綜上,:hover應在:link和:visited之后,在:active之前,因此active在最后。而:link和:visited兩者的順序無所謂,互不影響。常見的長度單位CSS中除了px長度單位之外,還有下面幾個長度單位:·pc六分之一英寸,1pc=12pt=1/6*1in=16px;·pt一磅,72分之一英寸。1pt=1/12_1pc=1/72_1in≈;·in一英寸,1in=;·ex在含有“X”字母的字體中,它是該字體的小寫字母的高度。對于很多字體來說,1ex≈;·em1em等于父級元素的字體大小,2em就是父級元素字體大小的二倍;·rem當用在根元素()的font-size上面時,它代表了它的初始值;·ch代表元素所用字體font中“0”這一字形的寬度;·vh1vh相當于視口高度的1%,100vh就是視口的高度;·vw1vw相當于視口寬度的1%,100vw就是視口的寬度;·vmax視口高度vw和寬度vh兩者中的最小值·vmin視口高度vw和寬度vh兩種中的最大值;·%相對于父級元素的大小來確定;參考:CSS[1]CSSpercentage[2]6.事件對象冒泡與捕獲事件冒泡與捕獲是事件處理的兩種機制,主要描述當在一個元素上有兩個相同類型的事件處理器被激活會發(fā)生什么。在點擊子元素時,瀏覽器運行了兩種不同的階段:捕獲階段和冒泡階段。捕獲階段的行為:·瀏覽器檢查元素的最外層祖先,是否在捕獲階段中注冊了一個onclick事件處理程序,如果是,則運行它;·然后,它移動到中單擊元素的下一個祖先元素,并執(zhí)行相同的操作,然后是單擊元素再下一個祖先元素,依此類推,直到到達實際點擊的元素;而冒泡與捕獲恰恰相反:·瀏覽器檢查實際點擊的元素是否在冒泡階段中注冊了一個onclick事件處理程序,如果是,則運行它;·然后它移動到下一個直接的祖先元素,并做同樣的事情,然后是下一個,等等,直到它到達元素;而現(xiàn)代瀏覽器在默認情況下,所有事件處理程序都在冒泡階段進行注冊。因此上面代碼在點擊子元素時會先執(zhí)行子元素綁定的事件,然后向上冒泡,觸發(fā)父元素綁定的事件。addEventListener函數(shù)的第三個參數(shù)是個布爾值。含義:·當布爾值是false時(這也是默認值),表示向上冒泡觸發(fā)事件;·當布爾值是true時,表示向下捕獲觸發(fā)事件;不能冒泡的事件有些事件是不會冒泡的。比如:·blur元素失去焦點時觸發(fā),focusout事件也是失去焦點時觸發(fā),但可以冒泡;·focus元素獲取焦點時觸發(fā);·mouseenter鼠標移動到元素上時會觸發(fā)該事件,與之對應的是mouseover事件,但會冒泡;·mouseleave鼠標離開元素時觸發(fā),與之對應的是mouseout,但會冒泡;事件冒泡可以讓我們利用事件委托,尤其是處理大量子元素時,如果給每個子元素都綁定事件,這是不優(yōu)雅的,可以將事件綁定到父元素上,并讓子節(jié)點上發(fā)生的事件冒泡到父節(jié)點上,利用屬性可以獲取到當前觸發(fā)事件的子元素。事件對象中的方法·stopPropagation()阻止事件冒泡,當設置后,點擊該元素時父元素綁定的事件就不會再觸發(fā);·preventDefault()阻止默認事件的發(fā)生;·stopImmediatePropagation()它用來阻止監(jiān)聽同一事件的其他事件監(jiān)聽器被調(diào)用以及阻止事件冒泡,比如給同一個div元素綁定多個click事件(使用addEventListener方法可以注冊多個),當在第二個事件函數(shù)中調(diào)用stopImmediatePropagation方法時,點擊div元素時,后面注冊的click將不會被觸發(fā),而且還會阻止事件冒泡;比如下面的例子,給p綁定多個click事件,在第二個事件函數(shù)中調(diào)用stopImmediatePropagation,第三個click事件就不會觸發(fā),因為也阻止了冒泡,因此父元素的click事件也不會觸發(fā)。paragraph


        ("div").addEventListener("click",(event)=>{


        alert("我是div元素,我是p元素的上層元素");


        //p元素的click事件沒有向上冒泡,該函數(shù)不會被執(zhí)行


        },false);


        constp=('p')


        ("click",(event)=>{


        alert("我是p元素上被綁定的第一個監(jiān)聽函數(shù)");


        },false);


        ("click",(event)=>{


        alert("我是p元素上被綁定的第二個監(jiān)聽函數(shù)");


        ();


        //執(zhí)行stopImmediatePropagation方法,阻止click事件冒泡,并且阻止p元素上綁定的其他click
        事件的事件監(jiān)聽函數(shù)的執(zhí)行.


        },false);


        ("click",(event)=>{


        alert("我是p元素上被綁定的第三個監(jiān)聽函數(shù)");


        //該監(jiān)聽函數(shù)排在上個函數(shù)后面,該函數(shù)不會被執(zhí)行


        },false);


        “在IE瀏覽器中,使用也可以取消事件冒泡;使用也能阻止默認事件的發(fā)生。target與currentTargettarget屬性指向的是事件目標,而currentTarget屬性指向的是正在處理當前事件的對象,它總是指向事件綁定的元素。而target指向的可能不是定義時的事件目標。例如:('click',(e)=>{();},false);可能指向div元素,也可能指向它的子元素。而總是指向div元素。以上就是小編今天為大家分享的關于參加Web前端面試的常見面試題匯總的文章,希望本篇文章能夠?qū)φ郎蕚鋮⒓忧岸嗣嬖嚨男』锇閭冇兴鶐椭?,想要了解更多Web前端知識記得關注北大青鳥Web前端培訓官網(wǎng),最后祝愿小伙伴們工作順利,成為一名優(yōu)秀的Web前端工程師。參考資料[1]CSSlength:#/zh-CN/docs/Web/CSS/length[2]CSSpercentage:#/zh-CN/docs/Web/CSS/percentage

        前端高級工程師面試題

        153 評論(9)

        clover冬兒129

        解析: 第 41題

        比如 sleep(1000) 意味著等待1000毫秒,可從 Promise、Generator、Async/Await 等角度實現(xiàn)

        解析: 第 42 題

        解析: 第 43 題

        1、客戶端使用https的url訪問web服務器,要求與服務器建立ssl連接 2、web服務器收到客戶端請求后, 會將網(wǎng)站的證書(包含公鑰)傳送一份給客戶端 3、客戶端收到網(wǎng)站證書后會檢查證書的頒發(fā)機構以及過期時間, 如果沒有問題就隨機產(chǎn)生一個秘鑰 4、客戶端利用公鑰將會話秘鑰加密, 并傳送給服務端, 服務端利用自己的私鑰解密出會話秘鑰 5、之后服務器與客戶端使用秘鑰加密傳輸

        解析: 第 44 題

        解析: 第 45 題

        1.使用第一次push,obj對象的push方法設置 obj[2]=1; 2.使用第二次push,obj對象的push方法設置 obj[3]=2; 3.使用輸出的時候,因為obj具有 length 屬性和 splice 方法,故將其作為數(shù)組進行打印 4.打印時因為數(shù)組未設置下標為 0 1 處的值,故打印為empty,主動 obj[0] 獲取為 undefined

        解析: 第 46 題

        解析: 第 47 題

        1、和 的作用是一樣的,區(qū)別在于傳入?yún)?shù)的不同; 2、第一個參數(shù)都是,指定函數(shù)體內(nèi)this的指向; 3、第二個參數(shù)開始不同,apply是傳入帶下標的集合,數(shù)組或者類數(shù)組,apply把它傳給函數(shù)作為參數(shù),call從第二個開始傳入的參數(shù)是不固定的,都會傳給函數(shù)作為參數(shù)。 4、call比apply的性能要好,平??梢远嘤胏all, call傳入?yún)?shù)的格式正是內(nèi)部所需要的格式

        解析: 第 48 題

        解析: 第 49 題

        解析: 第 50 題

        為什么在 采用了 Proxy,拋棄了 ?

        解析: 第 51 題

        解析: 第 52 題

        解析: 第 53 題

        解析: 第 54 題

        如下:{1:222, 2:123, 5:888},請把數(shù)據(jù)處理為如下結構:[222, 123, null, null, 888, null, null, null, null, null, null, null]。

        解析: 第 55 題

        解析: 第 56 題

        解析: 第 57 題

        解析: 第 58 題

        解析: 第 59 題

        解析: 第 60 題

        解析: 第 61 題

        解析: 第 62 題

        解析: 第 63 題

        解析: 第 64 題

        解析: 第 65 題

        解析: 第 66 題

        隨機生成一個長度為 10 的整數(shù)類型的數(shù)組,例如 [2, 10, 3, 4, 5, 11, 10, 11, 20] ,將其排列成一個新數(shù)組,要求新數(shù)組形式如下,例如 [[2, 3, 4, 5], [10, 11], [20]] 。

        解析: 第 67 題

        解析: 第 68 題

        解析: 第 69 題

        解析: 第 70 題

        解析: 第 71 題

        [圖片上傳失敗...(image-2eeb30-68)]

        解析: 第 72 題

        解析: 第 73 題

        解析: 第 74 題

        解析: 第 75 題

        解析: 第 76 題

        示例 1:

        示例 2:

        解析: 第 77 題

        解析: 第 78 題

        解析: 第 79 題

        解析: 第 80 題

        解析: 第 81 題

        解析: 第 82 題

        解析: 第 83 題

        習題:

        解析: 第 84 題

        解析: 第 85 題

        給定一個整數(shù)數(shù)組和一個目標值,找出數(shù)組中和為目標值的兩個數(shù)。

        你可以假設每個輸入只對應一種答案,且同樣的元素不能被重復利用。

        示例:

        解析: 第 86 題

        解析: 第 87 題

        以下數(shù)據(jù)結構中,id 代表部門編號,name 是部門名稱,parentId 是父部門編號,為 0 代表一級部門,現(xiàn)在要求實現(xiàn)一個 convert 方法,把原始 list 轉換成樹形結構,parentId 為多少就掛載在該 id 的屬性 children 數(shù)組下,結構如下:

        解析: 第 88 題

        解析: 第 89 題

        [圖片上傳失敗...(image-aea64e-70)]

        解析: 第 90 題

        解析: 第 91 題

        [圖片上傳失敗...(image-21d53f-70)]

        解析: 第 92 題

        示例 1:

        中位數(shù)是

        示例 2:

        中位數(shù)是(2 + 3) / 2 =

        解析: 第 93 題

        解析: 第 94 題

        解析: 第 95 題

        解析: 第 96 題

        解析: 第 97 題

        解析: 第 98 題

        解析: 第 99 題

        解析:[第 100 題](

        253 評論(13)

        相關問答