原创 蝦皮前端崗面經

整理的有點晚,有些可能沒記清楚 (本來懶得寫的,發現shopee真的很搶手,不下十個人和我要面經,這就是 kpi 產物吧) 一面(大概3-40分鐘)  js事件機制,如何阻止事件冒泡,事件委託原理  跨域方案  閉包原理應用  列舉htt

原创 js楊輝三角控制檯輸出兩種解法

       1        1 1       1 2 1     1 3 3 1    1 4 6 4 1  1 5 10 10 5 1 ........ 觀察這樣的一組數,找出規律,用控制檯輸出這樣規律的數 規律:這是楊輝三角,每

原创 關於JS的事件機制、EventLoop、線程模型

事件機制分爲:事件捕獲階段、目標階段和冒泡階段。 冒泡是指一個事件的目標由裏層向外層冒泡,以點擊事件onclick舉例,用事件綁定onclick的寫法會出現事件冒泡,可以用事件監聽的寫法Object.addEventListener('c

原创 【JavaScript基礎】深入瞭解JS的閉包

    閉包是JS中一個重要的概念,也是面試中的重點,相信大家在面試中都會碰到這樣的幾個問題:       1. 請你說說什麼是閉包?       2. 請你說說閉包有哪些應用?       3. 請你說說閉包有哪些優缺點?     大家

原创 小程序底層框架原理

開發模式 由於小程序宿主是客戶端的App,如果採用純客戶端的原生技術來編寫,那小程序的代碼需要和App代碼一起發佈,這種開發節奏不符合小程序的需求所以要像 web 技術一樣存放一份隨時可以更新的資源包放在雲端,下載到本地動態執行後

原创 字節跳動前端實習一面二面HR面面經

16號做完筆試,後來約了21號一面,25號二面,一面面試官看起來比較和藹,一來就是自我介紹,他說前端的問題我也沒準備多少,我就知道他不是前端的了,瞬間有點方。 一面 一開始是數據結構的題,二叉樹相關,已知前序遍歷和中序遍歷的結果,求

原创 實現 es6 Promise 原理

const PENDING='pending' const RESOLVED='resolve' const REJECTED='rejected' function myPromise(fn){     var that=this

原创 LeetCode二叉樹相關部分題目——js解法

寫好遞歸函數,二叉樹的簡單問題就基本解決了,以下整理了二叉樹的一些簡單題目,難度遞增。 數據結構: function TreeNode(val) { this.val = val; this.left = this.righ

原创 js算法題/前端面經總結(一)

1.實現鏈表的反轉 (function (){ var node3 = { name:'obj3', next:null }

原创 Vue的diff算法簡析

       我們知道對於DOM的操作是很慢很耗費資源,拖累性能的,特別是涉及到重排迴流,重新渲染DOM樹是一個性能殺手,所以各大框架都在這個方面做了優化,angularjs是髒值檢測機制,而react首先使用了virtual DOM,v

原创 JavaScript裏的深淺拷貝原理及方法

深淺拷貝是在複製複雜類型的值引用時的概念,我們在對象和數組中討論它的深淺拷貝 淺拷貝概念:淺拷貝既只拷貝對象的基本類型的值,並不複製引用類型的值而是引用它的指針,看以下的例子: 可以看到當a改變時b也不得不跟着改變,這就是“拿人手短”,因

原创 前端MVVM原理和雙向綁定簡析

MVC,MVP,MVVM三種軟件架構設計模式的對比: MVC: M(model):數據模型,渲染模板 V(view):視圖模板(用戶界面UI) C(controller):控制器,修改數據 MVP: M(model):數據模型 V(vie

原创 前端性能優化總結(二)

CSS選擇符 在大多數人的觀念中,都覺得瀏覽器對 CSS選擇符的解析式從左往右進行的,例如#toc A { color: #444; }這樣一個選擇符,如果是從右往左解析則效率會很高,因爲第一個 ID選擇基本上就把查找的範圍限定了,但實際

原创 前端性能優化總結(一)

一.減少http請求消耗資源 1.Css Sprites css sprites是將多幅圖融合到一張圖片裏,這樣可以減少圖片的請求數量,再通過css技術把想要的圖片樣式展示在瀏覽器頁面上,雖然合成的圖片會比較大,但這樣做確實可以減少請求資

原创 JS數組去重的幾種實現方法

//使用indexOf function unique1(arr) { var result=[]; for(var i=0;i<arr.length;i++){ if(result.indexOf(arr