国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

獻給前端求職路上的你們(下)

Wuv1Up / 2699人閱讀

摘要:一般情況下是全局對象。是可以被偵測到的行為。顧名思義,這種模式使得在更嚴格的條件下運行。安全問題暴露了與服務(wù)器交互的細節(jié)。破壞了程序的異常機制。避免使用表達式又稱動態(tài)屬性。用于表示請求成功。

注明:上一篇獻給前端求職路上的你們(上),主要側(cè)重說的是前端面試中的html和css這兩塊常見問題,這是基礎(chǔ),其實在真正面試中,面試官往往采用的是由難到易的套路,那js和jQuery就是重中之重了,以及針對項目和所用技術(shù)方面的一些問題也就是你的必備儲糧啦!

javascript

什么是閉包(closure),為什么要用它?

閉包簡單的說就是一個函數(shù)能訪問外部函數(shù)的變量,這就是閉包,不理解就看代碼,例如:

function aa(x){
       var num=1;
      function bb(y){
          console.log(x+y+(++num));
     }
}

aa函數(shù)中的bb函數(shù)就是閉包了,bb函數(shù)可以使用aa函數(shù)的局部變量,參數(shù),最典型的閉包應(yīng)該是下面這樣,將定義在函數(shù)中的函數(shù)作為返回值

function aa(x){
       var num=1;
      function bb(y){
          console.log(x+y+(++num));
     }
return bb;
}

閉包的另一種作用是隔離作用域,請看下面這段代碼

for(var i=0;i<2;i++){
      setTimeout(function(){
              console.log(i);
        },0);
}

上面這段代碼的執(zhí)行結(jié)果是2,2而不是0,1,因為等for循環(huán)出來后,執(zhí)行setTimeout中的函數(shù)時,i的值已經(jīng)變成了2.

談?wù)凾his對象的理解

this是js的一個關(guān)鍵字,隨著函數(shù)使用場合不同,this的值會發(fā)生變化。

但是有一個總原則,那就是this指的是調(diào)用函數(shù)的那個對象。

this一般情況下:是全局對象Global。 作為方法調(diào)用,那么this就是指這個對象

事件是?IE與火狐的事件機制有什么區(qū)別? 如何阻止冒泡?

我們在網(wǎng)頁中的某個操作(有的操作對應(yīng)多個事件)。例如:當我們點擊一個按鈕就會產(chǎn)生一個事件。是可以被 JavaScript 偵測到的行為。

事件處理機制:IE是事件冒泡、火狐是 事件捕獲;

ev.stopPropagation();

JavaScript的作用域和作用域鏈?

JavaScript的作用域指的是變量的作用范圍,內(nèi)部作用域由函數(shù)的形參,實參,局部變量,函數(shù)構(gòu)成,內(nèi)部作用域和外部的作用域一層層的鏈接起來形成作用域鏈,當在在函數(shù)內(nèi)部要訪問一個變量的時候,首先查找自己的內(nèi)部作用域有沒有這個變量,如果沒有就到這個對象的原型對象中去查找,還是沒有的話,就到該作用域所在的作用域中找,直到到window所在的作用域,每個函數(shù)在聲明的時候就默認有一個外部作用域的存在了,代碼如下:

var t=4;
function aa(){
       var num1=12;
       funciton bb(){
       var num2=34;
       console.log(t+" "+num1+" "+num2);
      }
}

bb找t變量的過程就是,先到自己的內(nèi)部作用域中找,發(fā)現(xiàn)沒有找到,然后到bb所在的最近的外部變量中找,也就是aa的內(nèi)部作用域,還是沒有找到,再到window的作用域中找,結(jié)果找到了

“use strict”;是什么意思 ? 使用它的好處和壞處分別是什么?

ECMAscript 5添加了第二種運行模式:"嚴格模式"(strict mode)。顧名思義,這種模式使得Javascript在更嚴格的條件下運行。
設(shè)立"嚴格模式"的目的,主要有以下幾個:

優(yōu)點:

消除Javascript語法的一些不合理、不嚴謹之處,減少一些怪異行為;

消除代碼運行的一些不安全之處,保證代碼運行的安全;

提高編譯器效率,增加運行速度;

為未來新版本的Javascript做好鋪墊。

注:經(jīng)過測試 IE6,7,8,9 均不支持嚴格模式。

缺點:

現(xiàn)在網(wǎng)站的 JS 都會進行壓縮,一些文件用了嚴格模式,而另一些沒有。這時這些本來是嚴格模式的文件,被 merge 后,這個就合并到了文件的中間,不僅沒有指示嚴格模式,反而在壓縮后浪費了字節(jié)。

new操作符具體干了什么呢?

1、創(chuàng)建一個空對象,并且 this 變量引用該對象,同時還繼承了該函數(shù)的原型。
2、屬性和方法被加入到 this 引用的對象中。
3、新創(chuàng)建的對象由 this 所引用,并且最后隱式的返回 this 。

var obj  = {};
obj.__proto__ = Base.prototype;
Base.call(obj);
Javascript中,有一個函數(shù),執(zhí)行時對象查找時,永遠不會去查找原型,這個函數(shù)是?

hasOwnProperty()

你對JSON 的了解?

JSON(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式。
它是基于JavaScript的一個子集。數(shù)據(jù)格式簡單, 易于讀寫, 占用帶寬小 {"age":"12", "name":"back"}

js延遲加載的方式有哪些?

defer和async、動態(tài)創(chuàng)建DOM方式(用得最多)、按需異步載入js

ajax 是什么?優(yōu)缺點有哪些? 優(yōu)點:

通過異步模式,提升了用戶體驗

優(yōu)化了瀏覽器和服務(wù)器之間的傳輸,減少不必要的數(shù)據(jù)往返,減少了帶寬占用

Ajax在客戶端運行,承擔了一部分本來由服務(wù)器承擔的工作,減少了大用戶量下的服務(wù)器負載。

Ajax的最大的特點:
Ajax可以實現(xiàn)動態(tài)不刷新(局部刷新)

缺點:

1、ajax不支持瀏覽器back按鈕。
2、安全問題 AJAX暴露了與服務(wù)器交互的細節(jié)。
3、對搜索引擎的支持比較弱。
4、破壞了程序的異常機制。
5、不容易調(diào)試。

如何解決跨域問題?

jsonp(利用script標簽的跨域能力)跨域、websocket(html5的新特性,是一種新協(xié)議)跨域、設(shè)置代理服務(wù)器(由服務(wù)器替我們向不同源的服務(wù)器請求數(shù)據(jù))、CORS(跨源資源共享,cross origin resource sharing)、iframe跨域、postMessage(包含iframe的頁面向iframe傳遞消息)

模塊化怎么做?立即執(zhí)行函數(shù),不暴露私有成員
     var module1 = (function(){
    var _count = 0;
    var m1 = function(){
      //...
    };
    var m2 = function(){
      //...
    };
    return {
      m1 : m1,
      m2 : m2
    };
  })();
異步加載的方式有哪些?

(1) defer,只支持IE
(2) async: false,(默認是true);
(3) 創(chuàng)建script,插入到DOM中,加載完畢后callBack

documen.write和 innerHTML的區(qū)別

document.write只能重繪整個頁面

innerHTML可以重繪頁面的一部分

.call() 和 .apply() 的區(qū)別?

例子中用 add 來替換 sub,add.call(sub,3,1) == add(3,1) ,所以運行結(jié)果為:alert(4);
注意:js 中的函數(shù)其實是對象,函數(shù)名是對 Function 對象的引用。

function add(a,b)
{
    alert(a+b);
}

function sub(a,b)
{
    alert(a-b);
}

add.call(sub,3,1);
Jquery與jQuery UI 有啥區(qū)別?

*jQuery是一個js庫,主要提供的功能是選擇器,屬性修改和事件綁定等等。

*jQuery UI則是在jQuery的基礎(chǔ)上,利用jQuery的擴展性,設(shè)計的插件。

提供了一些常用的界面元素,諸如對話框、拖動行為、改變大小行為等等

jquery 中如何將數(shù)組轉(zhuǎn)化為json字符串,然后再轉(zhuǎn)化回來?

jQuery中沒有提供這個功能,所以你需要先編寫兩個jQuery的擴展:

$.fn.stringifyArray = function(array) {
 return JSON.stringify(array)
}

$.fn.parseArray = function(array) {
 return JSON.parse(array)
} 

然后調(diào)用:
$("").stringifyArray(array)
針對 jQuery 的優(yōu)化方法?

基于Class的選擇性的性能相對于Id選擇器開銷很大,因為需遍歷所有DOM元素。

頻繁操作的DOM,先緩存起來再操作。用Jquery的鏈式調(diào)用更好。
比如:var str=$("a").attr("href"); *for (var i = size; i < arr.length; i++) {}
for 循環(huán)每一次循環(huán)都查找了數(shù)組 (arr) 的.length 屬性,在開始循環(huán)的時候設(shè)置一個變量來存儲這個數(shù)字,可以讓循環(huán)跑得更快:
for (var i = size, length = arr.length; i < length; i++) {}

JavaScript中的變量聲明提升?

在函數(shù)用var聲明的變量會在函數(shù)中函數(shù)體執(zhí)行之前預(yù)先加載(變量回預(yù)先聲明但是不會賦值)
請看代碼,就會秒懂

var num=1;
function aa(){
  console.log(num);     //undeifned
  var num=2; 
  console.log(num);  //2
}
aa();

為什么在aa函數(shù)中會出現(xiàn)上述結(jié)果呢,這就是JavaScript的變量提升了,雖然變量num的定義在后面,不過瀏覽器在解析的時候,會把變量的定義放到最前面,上面的aa函數(shù)相當于

function aa(){
  var num;
  console.log(num);   //undefined
  num=2; 
  console.log(num);   //2
}

(簡單的內(nèi)存圖)

那些操作會造成內(nèi)存泄漏?

內(nèi)存泄漏指任何對象在您不再擁有或需要它之后仍然存在。

垃圾回收器定期掃描對象,并計算引用了每個對象的其他對象的數(shù)量。如果一個對象的引用數(shù)量為 0(沒有其他對象引用過該對象),或?qū)υ搶ο蟮奈┮灰檬茄h(huán)的,那么該對象的內(nèi)存即可回收。

setTimeout 的第一個參數(shù)使用字符串而非函數(shù)的話,會引發(fā)內(nèi)存泄漏。

閉包、控制臺日志、循環(huán)(在兩個對象彼此引用且彼此保留時,就會產(chǎn)生一個循環(huán))

如何判斷當前腳本運行在瀏覽器還是node環(huán)境中?(阿里)

通過判斷Global對象是否為window,如果不為window,當前腳本沒有運行在瀏覽器中

當然,在面試中,除了要知道這些基礎(chǔ)的知識外,很多時候需要的是你的工作經(jīng)驗,你有沒有?接下來就是在工作中,項目中,遇到的問題,解決方案,以及思考的一些套路啦

其他問題(舉一些我碰見過的及匯總下來的問題,謹供大家參考)

你遇到過比較難的技術(shù)問題是?你是如何解決的?

常使用的庫有哪些?常用的前端開發(fā)工具?開發(fā)過什么應(yīng)用或組件?

頁面重構(gòu)怎么操作?

列舉IE 與其他瀏覽器不一樣的特性?

99%的網(wǎng)站都需要被重構(gòu)是那本書上寫的?

什么叫優(yōu)雅降級和漸進增強?

WEB應(yīng)用從服務(wù)器主動推送Data到客戶端有那些方式?

你在現(xiàn)在的團隊處于什么樣的角色,起到了什么明顯的作用?

除了前端以外還了解什么其它技術(shù)么?你最最厲害的技能是什么?

如何設(shè)計突發(fā)大規(guī)模并發(fā)架構(gòu)?

你認為怎樣才是全端工程師(Full Stack developer)?

介紹一個你最得意的作品吧?

你的優(yōu)點是什么?缺點是什么?

如何管理前端團隊?

最近在學什么?能談?wù)勀阄磥?,5年給自己的規(guī)劃嗎?

對Node的優(yōu)點和缺點提出了自己的看法? 優(yōu)點

因為Node是基于事件驅(qū)動和無阻塞的,所以非常適合處理并發(fā)請求, 因此構(gòu)建在Node上的代理服務(wù)器相比其他技術(shù)實現(xiàn)(如Ruby)的服務(wù)器表現(xiàn)要好得多。 此外,與Node代理服務(wù)器交互的客戶端代碼是由javascript語言編寫的, 因此客戶端和服務(wù)器端都用同一種語言編寫,這是非常美妙的事情。

缺點:

Node是一個相對新的開源項目,所以不太穩(wěn)定,它總是一直在變, 而且缺少足夠多的第三方庫支持。看起來,就像是Ruby/Rails當年的樣子。

你有哪些性能優(yōu)化的方法?(看雅虎14條性能優(yōu)化原則)

(1) 減少http請求次數(shù):CSS Sprites, JS、CSS源碼壓縮、圖片大小控制合適;網(wǎng)頁Gzip,CDN托管,data緩存 ,圖片服務(wù)器。
(2) 前端模板 JS+數(shù)據(jù),減少由于HTML標簽導(dǎo)致的帶寬浪費,前端用變量保存AJAX請求結(jié)果,每次操作本地變量,不用請求,減少請求次數(shù)
(3) 用innerHTML代替DOM操作,減少DOM操作次數(shù),優(yōu)化javascript性能。
(4) 當需要設(shè)置的樣式很多時設(shè)置className而不是直接操作style。
(5) 少用全局變量、緩存DOM節(jié)點查找的結(jié)果。減少IO讀取操作。
(6) 避免使用CSS Expression(css表達式)又稱Dynamic properties(動態(tài)屬性)。
(7) 圖片預(yù)加載,將樣式表放在頂部,將腳本放在底部 加上時間戳。
(8) 避免在頁面的主體布局中使用table,table要等其中的內(nèi)容完全下載之后才會顯示出來,顯示比div+css布局慢。

http狀態(tài)碼有那些?分別代表是什么意思?
100-199 用于指定客戶端應(yīng)相應(yīng)的某些動作。 
200-299 用于表示請求成功。 
300-399 用于已經(jīng)移動的文件并且常被包含在定位頭信息中指定新的地址信息。 
400-499 用于指出客戶端的錯誤。
400    1、語義有誤,當前請求無法被服務(wù)器理解。
401   當前請求需要用戶驗證 
403  服務(wù)器已經(jīng)理解請求,但是拒絕執(zhí)行它。
500-599 用于支持服務(wù)器錯誤。 503 – 服務(wù)不可用
一個頁面從輸入 URL 到頁面加載顯示完成,這個過程中都發(fā)生了什么?(流程說的越詳細越好)

查找瀏覽器緩存

DNS解析、查找該域名對應(yīng)的IP地址、重定向(301)、發(fā)出第二個GET請求

進行HTTP協(xié)議會話

客戶端發(fā)送報頭(請求報頭)

服務(wù)器回饋報頭(響應(yīng)報頭)

html文檔開始下載

文檔樹建立,根據(jù)標記請求所需指定MIME類型的文件

文件顯示

{瀏覽器這邊做的工作大致分為以下幾步:
加載:根據(jù)請求的URL進行域名解析,向服務(wù)器發(fā)起請求,接收文件(HTML、JS、CSS、圖象等)。
解析:對加載到的資源(HTML、JS、CSS等)進行語法解析,建議相應(yīng)的內(nèi)部數(shù)據(jù)結(jié)構(gòu)(比如HTML的DOM樹,JS的(對象)屬性表,CSS的樣式規(guī)則等等)}

你常用的開發(fā)工具是什么,為什么?

可以從你接觸前端到逐步深入學習使用的過程中,你用過什么編輯器以及轉(zhuǎn)化的過程和原因方面回答

對前端界面工程師這個職位是怎么樣理解的?它的前景會怎么樣?

前端是最貼近用戶的程序員,比后端、數(shù)據(jù)庫、產(chǎn)品經(jīng)理、運營、安全都近。

實現(xiàn)界面交互

提升用戶體驗

有了Node.js,前端可以實現(xiàn)服務(wù)端的一些事情

前端是最貼近用戶的程序員,前端的能力就是能讓產(chǎn)品從 90分進化到 100 分,甚至更好,

參與項目,快速高質(zhì)量完成實現(xiàn)效果圖,精確到1px;

與團隊成員,UI設(shè)計,產(chǎn)品經(jīng)理的溝通;

做好的頁面結(jié)構(gòu),頁面重構(gòu)和用戶體驗;

處理hack,兼容、寫出優(yōu)美的代碼格式;

針對服務(wù)器的優(yōu)化、擁抱最新前端技術(shù)。

平時如何管理你的項目?

先期團隊必須確定好全局樣式(globe.css),編碼模式(utf-8) 等;

編寫習慣必須一致(例如都是采用繼承式的寫法,單樣式都寫成一行);

標注樣式編寫人,各模塊都及時標注(標注關(guān)鍵樣式調(diào)用的地方);

頁面進行標注(例如 頁面 模塊 開始和結(jié)束);

CSS跟HTML 分文件夾并行存放,命名都得統(tǒng)一(例如style.css);

JS 分文件夾存放 命名以該JS功能為準的英文翻譯。

圖片采用整合的 images.png png8 格式文件使用 盡量整合在一起使用方便將來的管理

說說最近最流行的一些東西吧?常去哪些網(wǎng)站?

Node.js、Mongodb、npm、MVVM、MEAN、three.js 、angular、react、vue
github?、?知乎?、?MDN、?ES6、?Bootstrap?、?git

移動端(Android IOS)怎么做好用戶體驗?

清晰的視覺縱線、信息的分組、極致的減法、

利用選擇代替輸入、標簽及文字的排布方式、

依靠明文確認密碼、合理的鍵盤利用、

在面試中,其實是一個互動的環(huán)節(jié),不僅要回答問題,也要抓住機會,獲得主動權(quán),想問公司的一些問題?

問公司問題:

目前關(guān)注哪些最新的Web前端技術(shù)(未來的發(fā)展方向)?

前端團隊如何工作的(實現(xiàn)一個產(chǎn)品的流程)?

公司的薪資結(jié)構(gòu)是什么樣子的?(摸清自己具體在什么層次)

公司的晉升機制具體是怎么樣的?(看出你的上進心的穩(wěn)定性)

最后贈言

企業(yè)面試主要是看你能不能干的了。企業(yè)很難招到一個適合的人,不會輕易把你淘汰掉。

如果對方挑你毛病,證明對方有招聘你的意圖,否則的話,對方不會浪費時間挑你毛病,挑你毛病的主要原因是,想壓榨你工資,所以你要自信一點,無論對方怎么挑你毛病都不要害怕。企業(yè)中沒有專門的面試官。

不是說我面試了這一家,他就一定要錄取我,還有很多公司等著你去挑,目光放長遠一點,一定要拿到自己滿意的薪資才做。

面試就是一個解開雙方謊言的過程,你能瞞過對方,證明你贏了。

換個心態(tài)去面試,不是企業(yè)在挑你,而是你在挑企業(yè)。昂起你自信的頭顱,勇敢的去迎接挑戰(zhàn)吧!你的未來屬于你!

轉(zhuǎn)載自:http://www.jianshu.com/p/87fa...

~END~

好了,下面是廣告時間。前端學習群,入群即送學習資料。現(xiàn)在還不滿,從速哦!入群加笑笑微信:iamaixiaoxiao

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/116600.html

相關(guān)文章

  • 獻給前端求職路上你們)

    摘要:一般情況下是全局對象。是可以被偵測到的行為。顧名思義,這種模式使得在更嚴格的條件下運行。安全問題暴露了與服務(wù)器交互的細節(jié)。破壞了程序的異常機制。避免使用表達式又稱動態(tài)屬性。用于表示請求成功。 注明:上一篇獻給前端求職路上的你們(上),主要側(cè)重說的是前端面試中的html和css這兩塊常見問題,這是基礎(chǔ),其實在真正面試中,面試官往往采用的是由難到易的套路,那js和jQuery就是重中之重了...

    馬永翠 評論0 收藏0
  • 獻給前端求職路上你們(上)

    摘要:事件如何使用事件,以及和標準事件模型之間存在的差別以及常用的事件委托。模擬老式瀏覽器的行為以防止站點無法工作。首先,巧妙的使用這一標記,將游覽器從所有情況中分離出來。搜索引擎的爬蟲依賴于標記來確定上下文和各個關(guān)鍵字的權(quán)重,利于。 showImg(https://segmentfault.com/img/remote/1460000008630900); (在放大鏡中尋找你) 前言 我是...

    animabear 評論0 收藏0
  • 獻給前端求職路上你們(上)

    摘要:事件如何使用事件,以及和標準事件模型之間存在的差別以及常用的事件委托。模擬老式瀏覽器的行為以防止站點無法工作。首先,巧妙的使用這一標記,將游覽器從所有情況中分離出來。搜索引擎的爬蟲依賴于標記來確定上下文和各個關(guān)鍵字的權(quán)重,利于。 showImg(https://segmentfault.com/img/remote/1460000008630900); (在放大鏡中尋找你) 前言 我是...

    jackzou 評論0 收藏0
  • 獻給前端求職路上你們(上)

    摘要:事件如何使用事件,以及和標準事件模型之間存在的差別以及常用的事件委托。模擬老式瀏覽器的行為以防止站點無法工作。首先,巧妙的使用這一標記,將游覽器從所有情況中分離出來。搜索引擎的爬蟲依賴于標記來確定上下文和各個關(guān)鍵字的權(quán)重,利于。 showImg(https://segmentfault.com/img/remote/1460000008630900); (在放大鏡中尋找你) 前言 我是...

    hiyang 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<