第二次面試總結

今天面的這一家剛進去就讓作面試題,對於兩三個月沒有好好敲代碼和複習的我來講:懵css

不過此次面試仍是在面試官身上學到了不少的東西,頗有意義。前端

下面是面試全部的面試題:vue

1. console.log(0.1+0.2)的輸出:

0.30000000000000004web

這道面試題去年就遇到了,主要是由於JavaScript中的二進制的浮點數0.1和0.2並非十分精確,因此他們相加的結果並不是正好等於0.3,而是一個比較接近與0.3的數字。

2. 寫出對JavaScript原型鏈的理解?

3. 寫出對JavaScript閉包的理解?

4. jQuery和vue或者是ng的大致區別,哪一種更好?

都是曾經或者如今比較火的前端框架,不能說哪一種更好,只是每種都有本身適用的場景和項目類型。如下是個人回答:

jQuery主要是節點操做函數,比較輕量級,適用於小型項目。
angular是標準的MVVM模型,總體框架開發的比較完善,也有較多的成熟的UI庫使用,變量操做數據特別方便,
可是總體比較笨重,適用於大型企業項目。(最喜歡)
vue是比較輕量級的開發特別完善的前端框架,主打輕量級,也是用節點操做函數,不算是很標準的MVVM模型,
適用於中小型項目。(學習不是很精通)複製代碼

5. 如何提高一個網頁的滾動性能?

給 <body> 標籤添加上 pointer-events: none 樣式複製代碼

6. 爲何JavaScript被設計成一門單線程語言?

js做爲瀏覽器的腳本語言,主要是實現用戶與瀏覽器的交互,以及操做dom;這決定了它只能是單線程,不然會帶
來很複雜的同步問題。
舉個例子:若是js被設計成了多線程,若是有一個線程要修改一個dom元素,另外一個線程要刪除這個dom元素,此
時瀏覽器救會一臉茫然,不知所措。因此爲了不復雜性,從一誕生,js就是單線程的,而且不會改變。複製代碼

 7. 對WEB標準以及W3C的理解與認識?

web標準簡單來講能夠分爲結構、表現和行爲。其中 結構 主要是由HTML標籤組成,或通俗點講,在頁面的
body裏面咱們寫入的標籤都是爲了頁面結構。 表現 即css樣式表,經過css可使頁面標籤更具美感。 
行爲 是指頁面和用戶具備必定的交互,同時頁面結構或者表現發生變化,主要由js組成。(WEB標準通常
將三部分獨立分開。使其具備模塊化)

W3C對web標準提出了規範化要求,也就是在實際編程中的一些代碼規範:包含以下幾點
1. 對於結構(HTML)要求:(標籤規範能夠提升搜索引擎對頁面的抓取效率,對SEO頗有幫助)
    a. 標籤字母要小寫
    b. 標籤要閉合
    c. 標籤不容許隨意嵌套
2. 對於表現(css)和行爲(js)要求:
    a. 儘可能使用外鏈css樣式表和js腳本。是結構、表現和行爲分爲三塊,符合規範。同時提升頁面渲染速度,
提升用戶的體驗。
    b. 樣式儘可能少用行間樣式表,使結構與表現分離,標籤的id和class等屬性命名要作到見文知義,
標籤越少,加載越快,用戶體驗提升,代碼維護簡單,便於改版。
    c. 不須要變更頁面內容,即可提供打印版本而不須要複製內容,提升網站易用性。複製代碼

8. 行內元素有哪些?塊級元素有哪些?CSS的盒子模型?

塊級元素:div p h1 h2 h3 h4 form ul
行內元素: a b br i span input selectCss
盒模型:內容,border ,margin,padding複製代碼

9. 編寫一個數組去重的方法?

方法一:
function uniques(arr) {
    if(arr instanceof Array) {
        return Array.from(new Set(arr));
    } else {
        console.error('wrong type');
    }
}
方法二:
function unique(arr) {
    if (arr instanceof Array) {
        const res = new Map();
        return arr.filter( a => !res.has(a) && res.set(a, 1))
    } else {
        console.error('wrong type');
     }
}複製代碼

10. 「==」與「===」的不一樣?面試

首先,「==」 equality 等同, 「===」 identity 恆等。
「==」,兩邊值類型不一樣的時候,要先進行類型轉換,再比較。
「===」,不作類型轉換,類型不一樣必定不相等。
一言蔽之: ==先轉換類型再作比較, ===先作類型判斷,若是不是同一類型則直接爲false複製代碼
相關文章
相關標籤/搜索