百度 2021 校招前端開發實習生面試題

小編:管理員 543閱讀 2021.06.17

第1題:


HTML的Doctype作用? 嚴格模式與混雜模式如何區分?它們有何意義?



1.<!DOCTYPE> 聲明位于文檔中的最前面,處于 <html> 標簽之前。告知瀏覽器的解析器,用什么文檔類型 規范來解析這個文檔。
2.嚴格模式的排版和 JS 運作模式是 以該瀏覽器支持的最高標準運行。在混雜模式中,頁面以寬松的向后兼容的方式顯示。模擬老式瀏覽器的行為以防止站點無法工作。
3.DOCTYPE不存在或格式不正確會導致文檔以混雜模式呈現。


第2題:


請用CSS實現如下圖的樣式,相關尺寸如圖示,其中dom結構為:
<div id=”demo”></div>




#demo {

    width: 100px;

    height: 100px;

    background-color: #fff;

    position: relative;

    border: 2px solid #333;

}

 

#demo:after, #demo:before {

    border: solid transparent;

    content: ' ';

    height: 0;

    left: 100%;

    position: absolute;

    width: 0;

}

 

#demo:after {

    border-width: 10px;

    border-left-color: #fff;

    top: 20px;

}

 

#demo:before {

    border-width: 12px;

    border-left-color: #000;

    top: 18px;

}



第3題:


簡述document.write和 innerHTML的區別。



document.write只能重繪整個頁面,
innerHTML可以重繪頁面的一部分。


第4題:


你知道的,javascript語言的執行環境是"單線程模式",這種模式的好處是實現起來比較簡單,執行環境相對單純;壞處是只要有一個任務耗時很長,后面的任務都必須排隊等著,會拖延整個程序的執行,因此很多時候需要進行“異步模式”,請列舉js異步編程的方法。



回調函數,這是異步編程最基本的方法。
事件監聽,另一種思路是采用事件驅動模式。任務的執行不取決于代碼的順序,而取決于某個事件是否發生。
發布/訂閱,上一節的"事件",完全可以理解成"信號"。
Promises對象,Promises 對象是CommonJS 工作組提出的一種規范,目的是為異步編程提供統一接口。


第5題:


用戶從手機的瀏覽器訪問www.baidu.com,看到的可能跟桌面PC電腦,是不太一樣的網頁效果,會更適合移動設備使用。請簡要分析一下,實現這種網頁區分顯示的原因及技術原理。



手機的網速問題、屏幕大小、內存、CPU等。通過不同設備的特征,實現不同的網頁展現或輸出效果。根據useragent、屏幕大小信息、IP、網速、css media Query等原理,實現前端或后端的特征識別和行為改變。


第6題:


Flappy Bird是風靡一時的手機游戲,玩家要操作一只小鳥穿過無窮無盡的由鋼管組成的障礙。如果要你在HTML前端開發這個游戲,為了保證游戲的流暢運行,并長時間運行也不會崩潰,請列舉開發要注意的性能問題和解決的方法。



背景的卷軸效果優化。背景不能是無限長的圖片拼接,必須有回收已移出的場景的方法。

將復雜運算從主UI線程中解耦。比如場景中小鳥的運動軌跡、碰撞算法等,需要在空閑時間片運算,不能和UI動畫同時進行。

將比較大的運算分解成不同的時間片,防止阻塞主UI線程。最好使用webworker。

注意內存泄漏和回收。使用對象池管理內存,提高內存檢測和垃圾回收。

進行預處理。將一些常用的過程進行預處理,

控制好幀率。將1秒分解成多個時間片,在固定間隔時間片進行UI動畫,其他時間片用在后臺運算。

通過 GPU  加速和 CSS transition  將小鳥飛行動畫和背景動畫分離



第7題:


如下圖,請實現表格信息的排序功能,當點擊表頭的屬性區域,將表格信息進行排序切換功能,即第一次點擊為降序排序,再一次點擊進行升序排序。

姓名     力量    敏捷   智力

德魯伊    17     24     13 

月之騎士  15     22     16

眾神之王  19     15     20

流浪劍客  23     15     14



排序算法

Js的Dom和事件相關操作。



關聯標簽: