前端面試路遙遙

1、閱讀簡歷

...

2、面試問題準備

2.1、html部分

1、什么是H5?

2、html語義化的含義和意義?
  提示:用正確的標簽做正確的事情。
       html語義化讓頁面的內(nèi)容結(jié)構(gòu)化,結(jié)構(gòu)更清晰,便于對瀏覽器、搜索引擎解析;
       即使在沒有樣式CSS情況下也以一種文檔格式顯示,并且是容易閱讀的;
       搜索引擎的爬蟲也依賴于HTML標記來確定上下文和各個關(guān)鍵字的權(quán)重,利于SEO;
       使閱讀源代碼的人對網(wǎng)站更容易將網(wǎng)站分塊,便于閱讀維護理解。

2.2、css部分

1、css繪制圓形、三角形、梯形等;
  提示:none

2、position的取值有哪些?relative、absolute、fixed有哪些區(qū)別?
  提示:文檔流模型

3、怎樣讓文字從上到下顯示——例如古詩形式的?
  提示:利用折行
       書寫模式:writing-mode:lr-tb或writing-mode:tb-rl

4、圖片最大化居中裁剪的幾種方案?
  提示:background、css嵌套、object-fit

5、元素居中的一些主要方法?
  提示:*

6、css命名和書寫需要注意的地方?(規(guī)范)
  提示:使用外部文件、不用下劃線命名、減少父子關(guān)系、少用id

7、頁面導入樣式時,使用link和@import有什么區(qū)別?
  提示:1)link屬于XHTML標簽,除了加載CSS外,還能用于定義RSS, 定義rel連接屬性等作用;而@import是CSS提供的,只能用于加載CSS;
       2)頁面被加載的時,link會同時被加載,而@import引用的CSS會等到頁面被加載完再加載;
       3)import是CSS2.1 提出的,只在IE5以上才能被識別,而link是XHTML標簽,無兼容問題;

8、什么是外邊距合并?
  提示:取較大值

9、如何去掉滾動條?
  提示:布局長度控制

2.3、js部分

1、如何將一個字符串的每個字符用下劃線鏈接起來?
  提示:split、join

2、程序中緩存數(shù)據(jù)的方式
  提示:局部變量、全局變量、localStorage、cookie、sessionStorage

3、什么是閉包(closure),為什么要用它?
  提示:閉包是指有權(quán)訪問另一個函數(shù)作用域中變量的函數(shù),創(chuàng)建閉包的最常見的方式就是在一個函數(shù)內(nèi)創(chuàng)建另一個函數(shù),通過另一個函數(shù)訪問這個函數(shù)的局部變量,利用閉包可以突破作用鏈域,將函數(shù)內(nèi)部的變量和方法傳遞到外部。
       閉包的特性:
            1.函數(shù)內(nèi)再嵌套函數(shù)
            2.內(nèi)部函數(shù)可以引用外層的參數(shù)和變量
            3.參數(shù)和變量不會被垃圾回收機制回收

4、如何執(zhí)行字符串形式的js代碼?
  提示:eval(string)

5、什么是事件委托?
  提示:事件委托就是利用事件冒泡,只指定一個事件處理程序,就可以管理某一類型的所有事件

6、ajax有沒有破壞js單線程機制
  提示:
      1、瀏覽器的四個線程:GUI渲染線程、javascript引擎線程、瀏覽器事件觸發(fā)線程、HTTP請求線程
      2、回調(diào)和任務(wù)隊列(任務(wù)隊列中的任務(wù)是平等的)

2.4、框架部分部分

1、bootstrap的主要特點是什么?
  提示:柵格系統(tǒng)、響應(yīng)式布局

2、react的主要特點
  提示:聲明式渲染、基于組件

3、react和react native的區(qū)別?
  提示:

4、react和vue的區(qū)別?
  提示:

5、vue的主要特點
  提示:響應(yīng)的數(shù)據(jù)綁定和組合的視圖組件

6、Angular、vue、react的路由的實現(xiàn)原理?他們最大的特點分別是什么?
  提示:

2.5、綜合(其他)

1、Ajax是什么?Ajax解決瀏覽器緩存問題?
  提示:添加隨機數(shù)、設(shè)置請求無cache或者立即更新

2、網(wǎng)頁適配pc和mobile的一些方式?
  提示:js計算設(shè)定固定大小、媒體查詢

3、什么是“前端路由”?什么時候適合使用“前端路由”? “前端路由”有哪些優(yōu)點和缺點?前端路由的實現(xiàn)原理?

4、一個頁面從輸入 URL 到頁面加載顯示完成,這個過程中都發(fā)生了什么?
  提示:注:這題勝在區(qū)分度高,知識點覆蓋廣,再不懂的人,也能答出幾句,
  而高手可以根據(jù)自己擅長的領(lǐng)域自由發(fā)揮,從URL規(guī)范、HTTP協(xié)議、DNS、CDN、數(shù)據(jù)庫查詢、
  到瀏覽器流式解析、CSS規(guī)則構(gòu)建、layout、paint、onload/domready、JS執(zhí)行、JS API綁定等等;
  詳細版:
    1、瀏覽器會開啟一個線程來處理這個請求,對 URL 分析判斷如果是 http 協(xié)議就按照 Web 方式來處理;
    2、調(diào)用瀏覽器內(nèi)核中的對應(yīng)方法,比如 WebView 中的 loadUrl 方法;
    3、通過DNS解析獲取網(wǎng)址的IP地址,設(shè)置 UA 等信息發(fā)出第二個GET請求;
    4、進行HTTP協(xié)議會話,客戶端發(fā)送報頭(請求報頭);
    5、進入到web服務(wù)器上的 Web Server,如 Apache、Tomcat、Node.JS 等服務(wù)器;
    6、進入部署好的后端應(yīng)用,如 PHP、Java、JavaScript、Python 等,找到對應(yīng)的請求處理;
    7、處理結(jié)束回饋報頭,此處如果瀏覽器訪問過,緩存上有對應(yīng)資源,會與服務(wù)器最后修改時間對比,一致則返回304;
    8、瀏覽器開始下載html文檔(響應(yīng)報頭,狀態(tài)碼200),同時使用緩存;
    9、文檔樹建立,根據(jù)標記請求所需指定MIME類型的文件(比如css、js),同時設(shè)置了cookie;
    10、頁面開始渲染DOM,JS根據(jù)DOM API操作DOM,執(zhí)行事件綁定等,頁面顯示完成。
  簡潔版:
    瀏覽器根據(jù)請求的URL交給DNS域名解析,找到真實IP,向服務(wù)器發(fā)起請求;
    服務(wù)器交給后臺處理完成后返回數(shù)據(jù),瀏覽器接收文件(HTML、JS、CSS、圖象等);
    瀏覽器對加載到的資源(HTML、JS、CSS等)進行語法解析,建立相應(yīng)的內(nèi)部數(shù)據(jù)結(jié)構(gòu)(如HTML的DOM);
    載入解析到的資源文件,渲染頁面,完成。

5、對稱加密和非對稱加密分別是什么?
  提示:公鑰、私鑰

6、用戶注冊登錄時怎樣記住密碼?
  提示:(包含加密方式)

2.6、算法

1、簡述二分查找的基本原理?
  提示:

2、數(shù)字數(shù)組的長度為98,內(nèi)容為1到100,求缺失的兩個數(shù);
  提示:

3、m人圍一圈,從第一個人開始數(shù)第n個人踢出,再從第n+1個人開始數(shù)第n個人踢出,以此類推,知道剩下一個人,請問他的初始編號;
  提示:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,828評論 25 709
  • 前端知識體系http://www.cnblogs.com/sb19871023/p/3894452.html 前端...
    秋風喵閱讀 12,740評論 7 163
  • 疏土田邊孤草綠 枯枝柳樹又逢春 最是一年春來時 映雪桃花紅似脂
    溪小白_M閱讀 433評論 0 0
  • 雨下的這么大,桂花香也沒被打散。2016年11月份,也是一樣的桂花香。還有一群傻不拉幾認真到死拼命努力的小伙伴,...
    切簡閱讀 244評論 0 0

友情鏈接更多精彩內(nèi)容