前端知識-概念篇

2020-12-25 徐老匯

1、一次完整的HTTP事務是怎樣的一個過程?

基本流程:

a. 域名解析

b. 發起TCP的3次握手

c. 建立TCP連接後發起http請求

d. 伺服器端響應http請求,瀏覽器得到html代碼

e. 瀏覽器解析html代碼,並請求html代碼中的資源

f. 瀏覽器對頁面進行渲染呈現給用戶

2、對前端工程師這個職位你是怎麼樣理解的?

a. 前端是最貼近用戶的程式設計師,前端的能力就是能讓產品從 90分進化到 100 分,甚至更好

b. 參與項目,快速高質量完成實現效果圖,精確到1px;

c. 與團隊成員,UI設計,產品經理的溝通;

d. 做好的頁面結構,頁面重構和用戶體驗;

e. 處理hack,兼容、寫出優美的代碼格式;

f. 針對伺服器的優化、擁抱最新前端技術。

3、MVC、MVVM

1、MVC

模型(Model):數據保存視圖(View):用戶界面控制器(Controller):業務邏輯(1)View 傳送指令到 Controller(2)Controller 完成業務邏輯後,要求 Model 改變狀態(3)Model 將新的數據發送到 View ,用戶得到反饋所有通信都是單向的。2、MVVM

模型(Model)視圖(View)視圖模型(ViewModel)(1)各部分間都是雙向通信(2)View 與 Model 不發生聯繫,都通過 ViewModel 傳遞(3)View 非常薄,不部署任何業務邏輯,稱為「被動視圖」(Passive View),即沒有任何主動性;而 ViewModel 非常厚,所有邏輯都部署在那裡採用雙向綁定(data-binding):View 的變動,自動反映在 ViewModel ,反之亦然。jquery面試題

4、$(document).ready() 是個什麼函數?為什麼要用它?

這 個問題很重要,並且常常被問到。 ready() 函數用於在文檔進入ready狀態時執行代碼。當DOM 完全加載(例如HTML被完全解析DOM樹構建完成時),jQuery允許你執行代碼。使用$(document).ready()的最大好處在於它適用 於所有瀏覽器,jQuery幫你解決了跨瀏覽器的難題。需要進一步了解的用戶可以點擊 answer連結查看詳細討論。

5、 JavaScript window.onload 事件和 jQuery ready 函數有何不同?

這 個問答是緊接著上一個的。JavaScript window.onload 事件和 jQuery ready 函數之間的主要區別是,前者除了要等待 DOM 被創建還要等到包括大型圖片、音頻、視頻在內的所有外部資源都完全加載。如果加載圖片和媒體內容花費了大量時間,用戶就會感受到定義在 window.onload 事件上的代碼在執行時有明顯的延遲。

另 一方面,jQuery ready() 函數只需對 DOM 樹的等待,而無需對圖像或外部資源加載的等待,從而執行起來更快。使用 jQuery $(document).ready() 的另一個優勢是你可以在網頁裡多次使用它,瀏覽器會按它們在 HTML 頁面裡出現的順序執行它們,相反對於 onload 技術而言,只能在單一函數裡使用。鑑於這個好處,用 jQuery ready() 函數應用 JavaScript window.onload 事件要更好些。

6、 如何找到所有 HTML select 標籤的選中項?

這是面試裡比較棘手的 jQuery 問題之一。這是個基礎的問題,但是別期望每個 jQuery 初學者都知道它。你能用下面的 jQuery 選擇器獲取所有具備 multiple=true 的 標籤的選中項:$('[name=NameOfSelectedTag] :selected')這段代碼結合使用了屬性選擇器和 :selected 選擇器,結果只返回被選中的選項。你可按需修改它,比如用 id 屬性而不是 name 屬性來獲取 標籤。

7、jQuery 裡的 each() 是什麼函數?你是如何使用它的?

each() 函數就像是 Java 裡的一個 Iterator,它允許你遍歷一個元素集合。你可以傳一個函數給 each() 方法,被調用的 jQuery 對象會在其每個元素上執行傳入的函數。有時這個問題會緊接著上面一個問題,舉個例子,如何在 alert 框裡顯示所有選中項。我們可以用上面的選擇器代碼找出所有選中項,然後我們在 alert 框中用 each() 方法來一個個列印它們,代碼如下:

$('[name=NameOfSelectedTag] :selected').each(function(selected) {

alert($(selected).text());

});

其中 text() 方法返回選項的文本。

8、 $(this) 和 this 關鍵字在 jQuery 中有何不同?

這 對於很多 jQuery 初學者來說是一個棘手的問題,其實是個簡單的問題。$(this) 返回一個 jQuery 對象,你可以對它調用多個 jQuery 方法,比如用 text() 獲取文本,用val() 獲取值等等。而 this 代表當前元素,它是 JavaScript 關鍵詞中的一個,表示上下文中的當前 DOM 元素。你不能對它調用 jQuery 方法,直到它被 $() 函數包裹,例如 $(this)。

9、你如何使用jQuery來提取一個HTML 標記的屬性 例如.連結的href?

attr() 方法被用來提取任意一個HTML元素的一個屬性的值. 你首先需要利用jQuery選擇及選取到所有的連結或者一個特定的連結,然後你可以應用attr()方法來獲得他們的href屬性的值。下面的代碼會找到頁面中所有的連結並返回href值:

$('a').each(function(){

alert($(this).attr('href'));

});

10、jQuery中 detach() 和 remove() 方法的區別是什麼?

盡 管 detach() 和 remove() 方法都被用來移除一個DOM元素, 兩者之間的主要不同在於 detach() 會保持對過去被解除元素的跟蹤, 因此它可以被取消解除, 而 remove() 方法則會保持過去被移除對象的引用. 你也還可以看看 用來向DOM中添加元素的 appendTo() 方法.

11、 使用 CDN 加載 jQuery 庫的主要優勢是什麼 ?

這 是一個稍微高級點兒的jQuery問題。好吧,除了報錯節省伺服器帶寬以及更快的下載速度這許多的好處之外, 最重要的是,如果瀏覽器已經從同一個CDN下載類相同的 jQuery 版本, 那麼它就不會再去下載它一次. 因此今時今日,許多公共的網站都將jQuery用於用戶交互和動畫, 如果瀏覽器已經有了下載好的jQuery庫,網站就能有非常好的展示機會。

12、 jQuery 中的方法鏈是什麼?使用方法鏈有什麼好處?

方法鏈是對一個方法返回的結果調用另一個方法,這使得代碼簡潔明了,同時由於只對 DOM 進行了一輪查找,性能方面更加出色。

13、你要是在一個 jQuery 事件處理程序裡返回了 false 會怎樣?

這通常用於阻止事件向上冒泡。

14、哪種方式更高效:document.getElementbyId(「myId」) 還是 $(「#myId」)?

第一種,因為它直接調用了 JavaScript 引擎。

相關焦點

  • 從前端小白到前端大神必備的五本書
    現在前端學習的書籍琳琅滿目,質量參差不齊,有些書籍思路混亂,邏輯不清,往往把晦澀的東西穿插在入門知識點之間,這往往會給很多初步接觸前端的人造成困惑,導致學習之路步步維艱。選擇好一本好的書,從簡到繁,才能在前端學習之路上走得更遠。
  • AngularJS前端路由-前端開發
    Hello大家好,繼前兩篇文章中我們了解了什麼是AngularJS以及AngularJS的表單驗證,今天源碼時代H5學科講師跟大家再來談談AngularJS的單頁面前端路由及其用法。現在越來越多的網站都用到了前端路由,那它和多頁面跳轉及傳統開發有什麼區別呢,我們為什麼要用單頁面路由呢?
  • 為什麼前端的工資越來越高?
    、Bootstrap響應式布局、移動端開發、以及Ps設計等,更高級的前端開發人員還需要掌握es6、vue.js、webpack、element-ui、node+express+Mongodb資料庫,微信小程序/公眾號開發、php+mysql+ajax等前端框架技術。
  • 總線的概念及其它相關知識細解
    總線的概念    總線(Bus)是計算機各種功能部件之間傳送信息的公共通信幹線,它是由導線組成的傳輸線束, 按照計算機所傳輸的信息種類,計算機的總線可以劃分為數據總線、地址總線和控制總線,分別用來傳輸數據、數據地址和控制信號。
  • 為何學習編程知識需要面對黑白的控制臺窗口
    但是在學習到中後期,隨著實驗的不斷完善,後端編程也需要一些前端界面來構建場景,此時就會學習到一些圖形化界面的構建知識。以Java語言為例,學習Java語言的初期重點在於如何理解類、對象、接口等抽象概念,只有在學習完面向對象基礎語法(包括異常處理、IO、集合等概念)之後,才會接觸到Java自身的圖形界面構建知識,比如Java Swing等。
  • 如何打好前端遊擊戰
    首先有必要回答這個問題:「何為前端遊擊戰?」所謂「前端遊擊戰」是相對「前端常規戰」而言的。一般而言,一個前端會負責一個(也有多個)項目的開發、上線以及後期維護,精雕細琢產品。所謂一個team,一個團隊,大致如此。
  • 優惠券設計:前端&核銷篇
    本文分別對優惠券核銷和前端頁面進行了介紹。二、優惠券前端設計前端設計僅做簡述參考,主要涉及到券包和抵扣頁面和消息通知。1. 我的優惠券優惠券設計前序三篇:整體框架:《優惠券設計:整體框架篇》優惠券模板:《優惠券設計:優惠券模板篇》優惠券活動:《優惠券設計:優惠券活動篇》 本文由 @風之耳語 原創發布於人人都是產品經理。未經許可,禁止轉載。題圖來自 Unsplash,基於CC0協議。
  • 尚學堂:做最有良心的專業web前端開發培訓機構
    近年來IT行業迅猛發展,WEB前端工程師稀缺。據有關數據顯示,目前,我國對軟體人才的需求已達20萬,並且以每年20萬左右的速度增長。在未來5年內,合格軟體人才的需求將遠大於供給,參加WEB前端課程培訓,成為一名合格的WEB前端工程師,高收入自然不在話下。」被新浪中國教育盛典評為最具品牌知名度職業培訓機構的尚學堂,為了響應廣大學員對WEB前端知識的渴望,滿足更多企業對WEB前端人才的需求,經過教研組專家潛心研究後,特別推出了國內首家完整的WEB前端網際網路工程師培訓課程,目前以受到了眾多學員的報名和諮詢。
  • 汽車機油選擇知識篇:美標歐標&粘度參數概念解析
    #汽車保養知識SL等級≤1100/1000ppmSM等級≤870/800ppmSN等級<870/800ppm選擇美標機油建議用SN,當然有些半合成或礦物機油的級別會低一些;車輛原廠建議的標準如果沒有做特殊說明的話,概念等於默認發動機可以承受這種等級的機油
  • SDCC 2015前端專場札記:Facebook、百度、騰訊、美團、餓了麼等...
    其中20日的前端開發專場,現場聽講人數一度爆滿,而沒有機會親臨現場的童鞋們,我們特邀請了業內專家、與會者分享他們的聽課感受及他們眼中的前端專場。以下是來自AdMaster前端高級工程師劉越凡參加前端開發專場的聽課札記,以饗讀者。
  • 如何打好前端遊擊戰 - 騰訊ISUX
    終於有機會在夢寐以求的團隊博客的評論以外位置留下自己的痕跡啦,撒花撒花!淡定淡定,官博是嚴肅的地方,要是隨便侃大山侃小山,拙文估計會被「裡德爾」砍成袁姍姍。深吸一口氣,閒話少說,放馬入題。首先有必要先回答這個問題:「何為前端遊擊戰?」所謂「前端遊擊戰」是相對「前端常規戰」而言的。
  • 26自學轉行前端(寫給和1年前一樣迷茫的我的你)
    記得當時是我弟弟去問他上海的舅舅,學點什麼能有個一技之長,因為他是做網際網路這塊的大牛,自然推薦我弟弟了一些js方面的知識,說只要肯學,上手了薪資很高。說句實話,一開始就是被薪資高這三個字吸引了,連前端是什麼都搞不清楚狀態,就這麼糊裡糊塗的開始了,靠著一點c語言基礎,學起了javaSE,看看概念做做小例子,無比暢快,相見恨晚,後來才知道java和js完全不是一個概念。
  • 8款基於Jquery的WEB前端動畫特效
    超級絢麗,20款前端動畫特效,轟炸你的眼睛,一定要看到最後! 1.超炫酷的30個jQuery按鈕懸停動畫 按鈕插件是最常見的jQuery插件之一,因為它用途廣泛,而且配置起來最為方便。
  • 天文知識之地球-簡單篇
    2.1.1 水星見文章《天文知識之水星-簡單篇》2.1.2 金星見文章《天文知識之金星-簡單篇》2.1.3 地球首先我們要了解1米的概念,以及1000米=1千米(公裡)遠的概念。我們常人的身高不足2米,可以想像一下1千米有多遠?地球的直徑約為12742千米,從而可以得出其周長約為40030千米。
  • 前端高效開發必備的 js 庫梳理
    作者: 徐小夕 來源:趣談前端之前有很多人問學好前端需要學習哪些 js 庫, 主流框架應該學 vue 還是 react ? 針對這些問題, 筆者來說說自己的看法和學習總結。首先我覺得在學習任何知識之前必須要有一個明確的學習目標, 知道自己為什麼要學它, 而不是看網上說的一股腦的給你灌輸各種知識, 讓你學習各種庫, 從而不斷的製造大家的焦慮感。前端由於入行門檻低, 更新換代很快, 每年都會有大量新的框架和庫出現, 也有大量庫被淘汰(比如 JQuery, 但是學習它的設計思想很有必要).
  • 天文知識之火星-簡單篇
    2.1.1 水星見文章《天文知識之水星-簡單篇》2.1.2 金星見文章《天文知識之金星-簡單篇》2.1.3 地球>見文章《天文知識之地球-簡單篇》2.1.4 火星火星也是我們地球的近鄰,只是比我們的軌道離太陽稍微遠些。
  • HDwiki與DedeCMS聯合打造內容知識管理新概念
    HDwiki與DedeCMS聯合打造內容知識管理新概念 為了更好的滿足用戶管理內容與分享知識的需求,有效提升網站流量,增加用戶體驗,全球首款開源中文Wiki系統——HDwiki
  • 「翡翠教育南昌前端校區」百家號科技領域排行-百家號收益分析如何...
    翡翠教育南昌前端校區的簡介為專注網際網路技術人才培養,是一家主旨明確、領域專注的自媒體作者,截止目前為止他們已經在百家號上發布了超過60篇的遊戲內容,最近該作者創作的文章中暫無熱點詞。  翡翠教育南昌前端校區百家號近期文章情況 翡翠教育南昌前端校區最近一個月文章表現質量分布為,0%為優質文章,36%為中等文章,64%為普通文章,以下為各類文章近期案例。
  • 知識階層的概念是什麼?
    德國哲學傳統傳入俄國,俄語中「知識階層」深厚的哲學基礎從此建立。就道德層面而言,俄國歷史文化、特別是東正教文化的土壤為「知識階層」概念增加了濃厚的「彌塞亞意識」和「普世主義元素。俄羅斯文化中的「彌塞亞意識」就是救世主思想,其本質是強調俄羅斯的獨特性,它是俄羅斯民族特有的文化心態,「彌塞亞意識是俄羅斯人精神氣質中起作用的特徵」。
  • 前端小知識——地圖坐標轉換
    LBS,基於位置的服務(Location Based Service),近年來已經無處不在,尤其是我們前端,相信或多或少都有接觸一些地圖API服務,比如高德、百度啊、谷歌啊~ 但是用的時候可能看到下面這些字眼:比如BD09、火星坐標、WGS84……不由得還是蒙圈了啊