提前批
依圖一面
- axios請求封裝,處理回傳結果的方式(什么403 404什么的怎么處理?),傳入函式引數,this指向

- 存資料的是時候,本來是以陣列的方式從別的地方傳來的,但是你存資料的時候怎么存盤才能讓后續使用更便捷,讓代碼的復用性等性能更好

- 事件輪詢:宏任務,微任務

- 資料扁平化,出現最多次數的兩個數字

- 遍歷物件的幾種方式
- 講一下vue中的單項資料流:怎么才能觸發model層的改變
- 兄弟,父子組件之間的通信方式
- 陣列的typeof結果
- 發散性題目:
n * n個小格的棋盤,如果用1 * 2的小格去鋪,能鋪滿么? ->能
如果隨機扣除棋盤上的兩個小格,再去用1 * 2的小格去鋪,能鋪滿么? ->能
如果棋盤為黑白格,1 * 2的小格也是黑白格,再隨機扣除兩個小格,能鋪滿么? ->不能
總結規律…
依圖二面(30分鐘就結束了,80%會涼)
- 全程問專案
- 專案難點,對專案從初始到完成的整體架構程序,怎么去思考的
- JSONP跨域,JSONP的限制,其他跨域方式
- 前端優化:減少HTTP請求你是怎么理解的
- 瀏覽器快取(HTTP快取):從請求到最后的流程
- HTTP2.0 ,HTTPS和HTTP1.0
- 歌詞播放高亮部分怎么實作的,是以行為單位還是字為單位
- 移動端適配方案
- 整個音樂播放器專案沒有涉及到資料庫存盤么?
- 你學習前端的程序,對未來實習公司的要求,對自己的計劃
- 面試評價
- 全程都是一問一答,不是我要的交流方式,我希望是交流,而不是問答,所以沒辦法繼續
- 很多東西都是在背你們所謂的面經或者答案,沒有思考程序
- 很多時候你給的答案都很奇怪 (我:奇怪這個詞我聽他說了兩次…)
- 我不知道你的答案或者專案哪些是自己獨立思考的
作業幫一面

- 附加:for in與for of區別,for in 遍歷空陣列空物件的結果
- 原始值與參考值的區別
- 資料深拷貝時候注意不同資料,考慮陣列,物件
- ES6的箭頭函式
- forEach等陣列方法 跳出回圈怎么做 ->拋出錯誤:throw new Error(“error”)
- 圍繞專案問的
- 音樂播放器難點,怎么實作聯想搜索的
- 跨域的幾種方式
- 多級嵌套的dom結構,像ul>li>ul>li>ul等等多級嵌套,怎么優化,扁平化->什么什么redix,沒聽清
- 前端優化
- 幾種存盤方式的區別->localStorage/cookies/sessionStorage,如何拿到localStorage最新被修改的值? ->通過一個唯一的id,或者時間戳,或者token等等標示
作業幫二面
- 運行結果

- 陣列排序
- 兩個有序陣列的合并,并排序,要求:不允許遍歷
- 千分位劃分,不利用正則

- 動態規劃,分紅包:一共10個人,分完200元紅包,每個人收到的 >= 10元,合理的分配方案
只要求思路,不用寫出來 - CSS定位:position取值,給一段代碼:畫出位置

阿里一面:電面
- 圍繞專案:
- 你在自己的專案中認為有挑戰性的,難點是什么
- 針對自己的說的這些難點,說一下自己是怎么做的
- 這個專案是自發的專案還是有模仿的專案
- 那個Node代理服務器怎么做的
- 音樂資料獲取完之后,后面的東西怎么開發的
- 獲取騰訊資料的時候,假如有防止被外部獲取的方法,你是怎么破解的
- 你提到的JSONP,是用它來獲取資源嘛?能簡單解釋它的原理和實作么?
- 除了JSONP還有哪些跨域的方式
- CORS具體怎么實作跨域的?
- 知道什么叫RESFul協議么
- CSS3有哪些能實作視圖,位置移動的API,方法?
transition解釋一下,如果實作縮放怎么做? - 哪些行為會引發瀏覽器的repaint和reflow
- 解釋一下節流和防抖,應用場景
- 之前你專案里說,通過什么API去定位到元素的(better-scroll的scrollToElement),這個API怎么實作的,考慮了么?
- 關于路由這里你用的是什么?你知道Vue的路由么?路由兩個模式區別
- 你主要用了那些方面的懶加載,圖片,路由懶加載怎么實作的,不用第三方,自己要怎么實作
- mixin:什么叫mixin,什么叫繼承,能不能完成相同的效果
- JS怎么實作繼承的,有哪幾種方式
- 整體的代碼架構,模塊化研發,你去如何思考的,你整體架構指的是什么,模塊化指的是什么
- 基礎問題
- 如果用JS描述一棵樹,這棵樹的結構是什么樣的
- 樹的分類:二叉樹,完全二叉樹,紅黑樹等等
- CSS樣式清除浮動
- 設計模式了解哪些?你有沒有用過?用在哪些方面,常見的有哪幾類
- 專案的工程化解決方案是什么?Webpack,Vue-cli腳手架什么的
- 你如何去理解Webpack中的bundle,chunk,module,loaders
- Node服務器運維有了解過么,React有了解過么?
- Vue2.0 引入了一個Virtual Dom,你認為它引入到Vue里面,對Vue來講有什么價值,引入的目的是什么?
- Over,你有什么要問我的?
整體不錯,基礎問題不大,但是多思考多實踐部分應該多思考,能了解一下面上的知識后面的原理,我們要看的是你對專案整體架構的把控與設計,多從原理角度去考慮問題
蘑菇街一面
- 實體的原型是什么的?(建構式的prototype) 建構式的原型是什么?(物件)
- 平時用什么方式獲取資料,說幾個常見的HTTP狀態碼
- 基本型別,參考型別區別,寫一個深拷貝(只傳入一個引數)
- 專案難點
- 組件的更改觸發哪些生命周期函式,說一下這些生命周期都做了什么事,例如首先判斷哪些結點,key值什么的
- Vue雙向資料系結,原理,實作
- map,weakmap區別(從性能方面考慮)
深信服一面
- 浮動的場景,清除浮動的應用場景,舉幾個栗子
- DOM事件流
- 高并發的優化(不是那些通俗的性能優化,這是一個單獨的點)
- 跨域,不需要另一端配合的,舉出幾種方式
- HTTP協議快取
- 單項鏈表的反轉
- 100個格子,10個雷,怎么實作每個格子有雷的概率都是1/10
- async/await,錯誤處理
- 盒模型
深信服二面
瘋狂說專案,問我很多印象深刻的點,難點,亮點
有沒有看過別人原始碼,有沒有感興趣的技術點,最近這些技術點github上有沒有更新
最后寄語: 最重要的是,你要對這個行業感興趣
騰訊一面
- 你做專案的時候,怎么去啟動一個本地服務,專案后來上線了么?
- 專案你怎么獲取的資料
- jsonp原理
- img的src可以做跨域操作么?和script的src有什么區別呢
- 除了jsonp還有其他方法實作跨域么
- 使用jsonp跨域會引起網頁的安全性問題么?
- 前端經常遇到的安全性問題都有哪些,你做專案考慮到什么安全性措施了么,怎么防止別人竊取
- ES6有使用哪些新特性呢?平常使用的比較多的有哪些?
- let和var有什么區別呢
- 以前如果想要使用塊級作用域,我應該怎么做
- 閉包是怎么形成的呢,形成的條件,原理,為什么會形成這樣的現象
- 平常用js有遇到過記憶體泄露的問題么?
- 怎么防止記憶體泄漏呢?怎么解決呢?
- 你了解JS引擎的垃圾回識訓制么?
- 現在的一般的回識訓制是哪種?
- 標記清除法有什么缺點么?
- 面試評價:基礎可以,知識面還是挺全的,感覺你沒能把知識串聯到一起去
美團一面
- 手寫防抖函式
- 怎么判斷dom元素是否在dom樹中
- 怎么判斷dom元素是都在頁面可視區域
- 手寫一個洗牌函式
- cookies怎么設定過期時間,cookies和localStorage區別是什么
- 在專案中怎么存盤用戶登錄或者離線狀態的
- 比如ajax請求網頁,然后回傳302的狀態碼怎么處理?答案:ajax異步請求302分析
- 上下定高,中間自適應怎么實作
- cookies在跨域中可以攜帶么?
- 圖片懶加載怎么實作的
- jsonp跨域原理,實作
- Vue2.0的雙向系結,有什么缺點,怎么改進(vue3.0的proxy)
- ES6的map,set有什么區別
- 實作陣列的去重,不用newSet,除了indexOf,有沒有別的辦法判斷數字是否在陣列中
- 移動端適配,方案,你用的什么方案,你的viewport怎么設定的,rem和em區別
美團二面
- 谷歌除錯怎么實作的,就是那個我可以選中元素的功能,還有一個功能就是蒙層那個
- 手寫js深拷貝,如果最初傳入的是陣列或者物件,或者基本型別怎么處理
- 手寫LRU實作,要求存取時間復雜度為O(1)
- 講一講重排和重繪,應用場景,發生重排重繪的時機,哪些改變會觸發重排,哪些會發生重繪,rendTree的作用是什么?
- cookie session區別,sessionId存在哪里?
- http中包括啥子,cookies放在哪里
- ajax中傳遞資料在哪個api中
- jsonp原理 如果我后端定義好了callback的名字,那么在很多介面發送請求的時候,callback還都一樣,我怎么確定那個是我自己發送的請求?不改變介面的情況下
美團復試面
- 專案難點,有成就感的事情是什么? 對考研怎么看?
- 一道題說思路,列運算式
大致意思就是給定一定數量的石子,兩個人輪流來撿石子,一次可以撿一顆石子,或者兩顆石子,誰先開始不確定,問最后誰會贏?(我:就是對3取余的故事,面試官:思路很接近,然后就沒有然后了)
百度一面(電話)
- 專案用到了那些技術
- 遇到問題從技術角度講是如何解決的
- 比如說利用vuex沒法實作持久化,選擇了localStorage,但是Vuex也是可以實作持久化的,你了解過么?
- JSONP使用場景和代理的使用場景
- 為什么JSONP可以解決跨域問題
- src請求的所有資源都可以被同源請求策略限制么
- 介紹一下Vue,以及你對Vue的理解
- 你個人覺得你再前端方向的閃光點是什么呢?或者說你在哪些方面各有所長呢?
- ES6了解多少,箭頭函式和普通函式區別
- let和const與var區別
- ES6的類在瀏覽器肯定經過編譯,降級等等,為了保證這種兼容性肯定是從ES5/ES6降級到ES3,這個程序肯定做了很多轉化作業,所以我想問的就是ES6轉化為變成了什么東西
- 你的專案大約寫了多少行代碼
- webpack在你的專案中扮演了是什么樣的角色,壓縮是由webpack來做的么?
- 前端的模塊化
- webpack遵循的哪個模塊化標準呢?
- 你現在去寫一個模塊,遵循AMD規范,實作的功能是統計當前頁面內所有的標簽種類及個數
- 從你的角度來講,你自己比較擅長的東西,
- 面試評價:每次把一個東西看透再去看下一個
360一面
- 原型,原型鏈

- 宏任務,微任務,還有哪些

- promise,await/async區別,說說promise
- ES6解構賦值,isArray是ES幾的api
- 變數宣告幾種方式,區別,你什么時候會用const,什么時候會用let
- webpack的plugins和loaderd區別,你用過哪種
- webpack你想過優化的問題么,在專案里你怎么優化的
- 手寫一個節流防抖
- 判斷陣列的幾種方法
- call,apply,bind的區別,你寫專案的時候應用場景有哪些,什么時候需要改變this指向
- 跨域,解釋,幾種方法
- CSS的flex幾種屬性值,代表什么,兼容性呢?
- Vue如何實作回應式(具體的雙向系結怎么實作的)
- Vue中的方法和計算屬性(computed)區別
- 陣列中某一項的值的改變,Vue能檢測到么?
- 你專案中的lodash怎么按需加載
- 了解fetch么
- 使用過ajax么
- 事件委托原理
360二面
- undefined,null區別
- 原始型別,參考型別,賦值,區別
- 宏任務(setTimeout里面函式的執行順序),微任務執行順序
- 原型鏈判斷,實體是否能改變原型鏈上的值
- 陣列扁平化
- 宣告變數的幾種方式,有什么區別,還有什么方式,(let var const import func等等)
- 圖片路由懶加載
- 專案在移動端能運行么?怎么啟動的服務
Shopee
- 專案難點,簡要介紹
- 將兩個陣列合并,并且去掉重復值,比如[1, 2, 3], [2, 3, 4]得到的值就是[1, 4],個數就為2,寫一個函式實作
- 函式節流防抖,手寫
- 改進:要求節流:在一定時間內點擊多次的話,在執行節流函式的同時,執行最后一個點擊的函式,就是,正常我在一定時間內點擊的話,不是只會執行一次么,剩下的函式全都撇掉了,我要求就是,把那些函式中的最后一次進行執行
- 盒模型:下面這個怎么實作的,如果我要求圖片和文字都垂直水平居中怎么做

- 單行,多行文本溢位,打點顯示
- 解釋SSR,說一說其他優化的方式
- Webpack打包最后生成幾個檔案?
- 你專案中獲取的QQ音樂的資料,那么如果是你的話,怎么去防止別人獲取你的資料,你的方法有什么
shopee二面
- 對于兩個或者多個鏈表的合并,優化,時間復雜度
- 二分查找某陣列中第一個大于給定值的元素
- get/post區別,tcp/udp區別,http1.1的長連接
- https原理
- 常見的設計模式,單例模式說一說(多執行緒的問題怎么解決,怎么保證同一時間只有一個執行緒在作業?(利用作業系統中的加鎖))
shopee三面(高高興興等hr,結果是技術面?我已經半個月沒學過習了!!!)
- 單行文本溢位怎么處理,css怎么做,如果用JS怎么做?
- 答:獲取文本寬度?獲取視口寬度,小于某個值顯示文字,否則顯示省略號
- 問:font-size獲取的是文字的寬度還是高度?
- 答:高度,無法獲取寬度
- 問:那你怎么做呢?怎么獲取文字寬度?如果獲取到了文字寬度你要怎么實作省略號顯示?
- 答:每填充一個文字,把文字寬度累加,小于某個值,正常顯示,否則顯示省略號
- 問:時間復雜度是多少?
- 答:O(n)
- 問:怎么降低時間復雜度?
- 答:一半一半放?
- 問:怎么一半一半放?
- 答:…,不知道
- 問:可以通過啥啥啥
- 輸入url到頁面顯示經歷了啥?
- 答:通過啥啥啥
- 問:回流,重繪說一說
- 回答:概念,影響因素啥啥啥
- 問:script標簽加載檔案對頁面渲染有什么影響?
- 答:阻塞啥啥啥,可以通過defer和async異步加載
- 問:defer和async區別,css檔案放在首部還是底部,為什么有什么好處?js呢,啥好處?
- 答:吧啦吧啦
- 如果實作影片,用什么實作?
- 答:translate
- 問:translate會造成重繪么?
- 答:應該會吧,不太知道
- 問:你知道left么,也可以實作影片,不過它和translate的優缺點比較,對于頁面性能來說,哪個好點?
- 答:不知道,我猜是translate更好一點
- 虛擬串列的實作
- 答:可視區域正常顯示,上下預留一部分,避免出現空的狀態
- 問:你這種實作很困難,細節方面等等,可以通過改變資料,然后不改變dom進行操作(我…,原來你想問的是這個…),然后把看不到的區域部分資料放在串列底部,加載到時,繼續顯示,
- 你對陌生的環境,全英語的環境可以接受么?(可以,絕對可以),后續進度等通知,我們會盡快走進度(感覺要涼,聽到你回去等訊息這幾個字就感覺差不多要涼了,嗚嗚嗚,哭死…)
貓眼電話一面
- 專案簡要介紹
- 登錄用戶狀態怎么存盤的,知道cookies和session區別
- Vue中vkey作用,知道diff么,能往深了說說么
- Vue雙向系結解釋一下,Ojbect.defineProperty用到了哪些屬性,(get, set)哪里用了,干什么的
- HTTP快取,當強快取失效之后,協商快取里哪個有效,如果強快取失效,然后協商快取生效的話,回傳哪個狀態碼?
- HTTP狀態碼,4xx,5xx
- ES6用過哪些
- 宏任務,微任務,執行順序,有哪些是宏任務,哪些是微任務
- position的值,哪些脫離了檔案流
- JS中監聽滾動事件是哪個 ,系結事件的方式
- JS事件委托原理,事件捕獲是怎么樣的,(不懂她要問什么,我說從window往父元素往子元素,她的語氣很微妙…,誰知道她要問什么)
- 閉包的原理,閉包應用場景
- 題:




正式批
映客直播一面
- 介紹一下JS中的事件吧,關于事件冒泡的應用場景有哪些?如果不用冒泡,怎么系結事件?如果在Vue中系結事件,是在ul還是li身上?為什么?
- 移動端除錯的方法,假如我移動端打開時候白屏了,怎么除錯
- 原型鏈:_ _ proto_ _, prototype, constructor,判斷指向等
- 繼承的幾種方式,優缺點,為什么會有這些問題,最后為什么要用一個function在中間進行協調(子繼承父,子改變,父不改變,為什么?中間能說具體一點么?)
- 結果

- 前端優化的方法
- webpack的配置介紹一下,entry里面有什么,從專案的搭建,到最后專案上線中間你怎么用vue-cli配合webpack進行作業的
- 常見HTTP狀態碼:…,304具體是怎樣的,瀏覽器和服務器互動程序中是怎樣回傳這個值的?301,302又是怎樣的
- 創建事件的幾種方式:如果我此時有一個事件,有什么on,emit啥的,從定義事件到最后呼叫,結束,能寫出來么?
- Vuex的資料流動介紹一下(官網上的圖就有,我沒答上來)
- 跨域的幾種方式,CORS具體是怎么配置的,要求講的特別細!!!把瀏覽器怎么請求到最后怎么回傳都給講清楚
奇安信一面
- 原型鏈,反正就是proto,prototype那些東西,問了Person.a = ‘a’(Person是建構式),通過Person構造出的實體會不會繼承這個屬性
- HTTP相關,跨域相關
- 手動轉換一個進制,筆試題的優化(我也忘了啥題了…)
奇安信二面
- 專案里的難點,如果打開多個標簽,一個更改了vuex中的內容,一個怎么保證另一個實時更改
- 求兩個數是不是互質(除了1沒有共同因數)
- 簡歷里面寫的資料與邏輯分離指的是什么?專案里的序列化指的又是什么?
- 你認為你自己的優勢在哪里?
- 節流防抖你怎么實作的,應用場景,debounceI什么時候呼叫
作業幫現場一面
- 原型鏈,作用域鏈,instanceof手動實作
- await相比promise的優勢在哪里,await后面等待的是什么,是promise的哪個狀態
- 擴展運算子相比直接傳遞引數有哪些優點
- ES6了解哪些
- 專案技術堆疊難點
- 解釋一下SSR,好處
- HTTP相關的,瀏覽器快取的通信程序
作業幫二面
- 輪播圖實作原理,如何
- 懶加載原理
- 操作vuex的步驟,手寫
- css盒模型
- 剩下的…我忘了…
vipkid
- better-scroll中的better代表了更好,那么問:為什么比原生js好,好在哪里,你自己怎么實作這樣的功能
- 圖片懶加載原理,自己怎么實作,如果圖片的高度未知,抖動情況怎么處理
- setInterval怎么實作,如果是你,你怎么實作
- 你專案里的audio原生樣式你怎么處理的,你在做這部分的時候,有哪些比較難的地方
- vuex你主要用它干了什么
- vue路由原理
- axios請求回傳的是什么,是一個標準還是正常的promise么?(啥叫標準的?),行這個問題過了
- 移動端適配的方案,如果我一個頁面左右內容,左邊內容非常多,但是如果此時頁面很小就放不下了,這時要怎么解決???
- audio的原生樣式你是怎么處理的
拼多多二面
- Vue決議,從 .vue檔案到瀏覽器最終呈現程序(Vue決議程序,補充一下原始碼!!!)
- HTTPS具體原理,MD5是非對稱性加密演算法么?考慮一下MD5原理
- Vue-router原理,hash怎么跳轉的,呼叫的什么方法,我:locations.hash?,然后繼續了下一個問題
- webpack中的loaders,plugins是什么,干什么的,你用過哪些具體說明
- Vue資料檢測內部怎么實作的,getter,setter中都做了什么
- 從后端獲取的資料,怎么實作所有組件都使用,(Vuex, localStorage, sessionStorage),還有別的么?
- 父子組件通信
- Vue能對于監聽到陣列的改變么,那怎么實作監聽?我:vue.set,那具體怎么實作的?我:用vue.set啊,然后繼續了下一個問題
- 實作代碼
- 第二個題:求和之后雙向指標 進行向里遍歷
- 自己想想有沒有別的方法!!!
- 網頁濫用div或者p標簽的有什么缺點
- HTTP,TCP/UDP屬于哪一層的協議
- 電腦端微信 按上下鍵,右側視窗的改變怎么做到的
+ innerwidth innerheight來改
花椒直播
- setTimeout/setInterval回傳值
- node中event實作
- ES5繼承 能具體再說一下么
- 資料格式的回傳值 除了json還有么?
- ajax那個監聽:也就是onreadychange事件,除了這個事件還有什么別的方式么?
- 防抖、節流、懶加載
- JSONP除了:url ,callback的另一個引數是什么?
- jsonp 原理, 實作jsonp的程序中,創建好的script放在哪里?
- 如何設定localstorage 或者cookies的值,說說你了解的cookies
- proxy用過么?具體講講
- 手寫 發布者訂閱者模式
- 移動端適配方法,你專案中怎么設定rem(我:就是相對于根元素的大小),那么根元素字體大小怎么設定,除了rem還有什么其他單位么? 除了em px ,還有么?
跟誰學一面
- 圖片格式有哪些 webp了解過么?(我也不知道他說的是啥,我聽成了webpack,然后說了一頓webpack相關的)
- ES6中的陣列的api有哪些,手動實作filter
- vue-router的原理,hash模式是怎么監聽hash的改變的(我:hashChange? 面試官:可以,還有別的了嗎?我:…)
跟誰學二面
- 專案難點(一頓扯皮)
- 用加減乘除求根號2小數點后三位(提示我用二分)
- 給定鏈表頭結點 求倒數第n個結點的值,如果第n個結點不存在,容錯考慮到了么?
老虎證券一面
- action mutations 區別
- 正則
- mixin ,如果mixin中定義的方法,這個組件中也有,怎么程序?
- webpack 代碼分割的三種方式 (import)
- webpack的打包后bundle分為幾種
- 父子組件通信除了那些還有個root
- babel-loader轉化原理
- git的三大磁區, git提交的流程
- Vuex說一下
- 虛擬dom原理,為什么要引入虛擬dom?虛擬dom一定效率高么?
- 模塊化:用法,優點
- Vue的createElement
- 說一說常見的狀態碼,206是什么?
- 判斷是不是空物件
老虎證券二面
- 用Vue實作一個彈出框組件怎么實作
- 本地存盤的幾種方式,區別?應用場景?如果重繪頁面,或者我跳轉之后回傳,這兩種情況sessionLocalStorage會改變么?
- 同源策略是什么?跨域方式?如果使用CORS,我使用post方法,并且改變了我的請求啥啥(我忘了),那么我請求前需要處理什么東西么?
- http請求方法? options是什么?
- 陣列去重

- 實作一個函式 列印樹形目錄

- mongobd的啥啥啥,我也忘了
- CSS選擇器優先級
北森云一面
- 路由,怎么傳參
- 路由的鉤子函式
- 自定義指令使用的場景
- 我在自定義指令里面可以做哪些事情呢?
- 如何定義自定義組件不去覆寫別的樣式
- 怎樣全域參考某個組件
- 怎樣動態加載組件
- 手動清除閉包引起的記憶體泄漏
58同城現場一面
- 手寫防抖實作
- 怎么判斷一個物件的屬性中是不是有指向自己的參考
58同城現場二面
- 宏任務微任務判斷執行順序
- 實作一個函式能夠完成下面的功能,(考慮一下深拷貝的遞回)

- 選出ul中的第二個li,用css屬性選擇器
- 如果設定第二個li為{position:relative; top: 50px;},那么第二個li的位置和第三個li的位置是怎么樣的,relative脫離了檔案流了么?
- 防抖原理,節流原理
- 剩下的我忘了…,應該就是扯皮了
人人一面
- vue組件通信
- keep-alive觸發的完整生命周期包括哪些
- SSR的時候沒有document,window,如果和原本的document或者window撞了怎么辦?(通過nuxt的一個api,判斷是否有那個變數,如果有就不引入插件,如果沒有就引入插件,我也不知道是啥)
- nuxt的生命周期
- webpack基本配置,你用過哪些loader
- npm原理了解么?
- vue啥往后沒有config目錄,你要怎么配置webpack檔案?(通過新建一個vue-config檔案)
- 移動端適配你是怎么做的,flex你用了啥?viewport你怎么配置的,它用來干什么的?
- git pull 和git fetch區別?你用過什么命令
- 后端是用node?(不是,沒咋用node,資料方面使用的是mongodb資料庫)
- 你用過哪些插件,封裝了那些插件呢?
- 如果有一個插件,有頭樣式,但是:我并不想要這個默認樣式,我怎么做呢?
- 我:設定默認值,通過傳入的引數么,決定是不是要使用某個功能
- 面試官:我知道你的意思,但是我不想這么做,換一種方法(好像他是要考一個考點,但是我忘了…)
網易雷火
- vue的單向資料流,什么作用,好處,和雙向資料系結得區別
- vue的雙向資料系結,說一說怎么回事(我說了一大堆,資料劫持結合發布者訂閱者啥的,什么observer,watcher等等的創建,面試官:你說的其實是回應式的內容,那么你對回應式是怎么理解的???)
- 閉包:形成條件,用它來做什么?(閉包:大致意思就是把內部函式回傳,可以實作:模擬塊級作用域,變數私有化)
- 回傳的一定是一個函式?
講一下塊級作用域,JS中有幾種作用域 - 閉包是怎么模擬塊級作用域的?它不是在一個函式內部么,它是一個函式,為什么會是塊級作用域?你理解的塊級作用域是什么?
- 在一個for回圈中使用閉包是因為它讓這個for回圈擁有了塊級作用域才保存住了它的變數的?
- 閉包為什么會參考外部函式的內部變數?(我:源于作用鏈)
- 作用域鏈和作用域是什么關系
- 你知道JS中哪些可以生成塊級作用域么?
- 一個函式作用域為什么要去模擬塊級作用域,你理解的塊級作用域是什么,JS中哪些可以生成塊級作用域(這應該是她說的第二遍了)
- 怎么樣算是一個塊級作用域
- let const定義的變數和that(我聽到怎么是that???還是var?我也不確定)區別?
- const可以定義變數么?
- 你剛剛說var定義的變數是全域作用域,這句話真的是對的么?如果我在函式中定義,那么外部能訪問到么?
- 變數提升是什么樣子的?比如下面三種方式,然后在宣告之前使用的話,結果都是什么?為什么是這樣的結果?function a 和var a = function 結果為什么是不一樣的???
- function a(){}
- var a = function(){}
- var a
- 那你能給我講一下變數提升是什么樣子么?
- 你使用過node是么?(我只是node做一個簡單的代理,改變獲取資料時候的referer和host)
- 你用它做代理的目的是為什么?
- 那如果你不用node怎么實作?實作代理,改變請求頭?
- SSR你是用的什么?你的SSR技術是怎么實作的,為什么在你的專案中要使用SSR呢,你經過SSR拿到的是一個資料,還是完整的html,因為你用的那個nuxt是一個前后同構的框架,你是怎么把html渲染到頁面上的呢,前端的template怎么和vue的template合在一起的????
- 結合你之前說的回應式,那么你在前端操作資料的時候,怎么讓頁面上的html繼續變化呢,比如說首頁用戶提交了表單之類的 ?
- 換一種說法,你前端的vue或者說template怎么和后端回傳的填充好的資料的html融合在一起使用(源于之前說的SSR)
- 那后續的渲染還是服務端渲染的嘛?如果說你的資料變化了,舉個例子:本來你的商城有5個商品,然后由服務端渲染之后,給你5個商品,但是,你后續又添加了一個商品,那么增加的這個商品,是直接后端渲染好回傳過來的,還是后續請求的(我:后來請求的),那么:服務端給來的html片段,和后來瀏覽器請求資料渲染出來的那個template,它們倆個是怎么融合的呢,是直接丟棄了原來服務端的么?還是說 第一次渲染是怎么知道要用服務端還是瀏覽器端渲染?
- 一個url輸入到最后拿到網頁的程序?最后瀏覽器是怎么渲染的(我:domtree,cssom tree … 最后繪制),你能想到其他的什么了么?如果在這個程序中,你的網頁變的特別慢,你有什么優化的方案么?(我:前端優化一頓說),那么你說的這些你在專案中用到過哪些(我:圖片懶加載,啥啥啥的),圖片懶加載原理,你通過哪些api進行計算高度的(clientHeight,scrollTop等等)
- 你對html語意化的理解(我說了一點語意化的優點:有利于搜索引擎什么的),你使用過哪些語意化標簽呢 ?你為什么要用header,footer等等,你為什么不用div,它們的樣式有什么區別么?
- 你使用過canvas么?筆試時候,那道題怎么做的(給定圖片的什么高度,坐標啥的,截圖?,我忘了)
雷火二面
- 你是怎么寫的蘋果安卓不同端適配,移動端兼容方案?你使用的是rem還是em或者px?你在做移動端專案的時候,有碰到過兼容適配方面的問題么?(答:1px,fastclick啥的,不知道對不對)
- axios和ajax,fetch區別
- 前端路由模式,原理
- ES6的proxy干嘛的,說說
- import和require區別
- mysql,linux了解多少,更新表中id為1陳述句怎么寫
- webpack插件說一說,html-webpack-plugin干嘛的(答:壓縮,回:錯了)
- http和https區別,https加密驗證原理
- 將元素旋轉90度,怎么做?(CSS3的rotate)
- 暫時就想起這么多了 ,忘溜,,,,
嗶哩嗶哩
- 專案中的SSR,有什么好處?
- nuxt框架和vue-cli區別,對于使用上來說有什么不同么?
- webpack打包好處有哪些?
- 你認為element-ui和vue在你專案中是什么樣的作用呢?
- Sass你用什么,相比css優點有哪些?
- JSONP跨域
- 手寫代碼:

- 剩下的再補充,enmm我忘了…
陌陌一面電面
- 常見的http請求頭,介紹幾個,請求頭還是回傳頭,分別什么意思,options的含義
- 為什么會有跨域的問題,解決方式,分別的原理,jsoup和cors的區別,哪個能攜帶cookies?
- CSRF和XSS攻擊,防御介紹,CSRF的防御中那幾種方式都可以偽造么?
- 常見http狀態碼
- cache-control能介紹兩個常用的值么?no-cache什么意思,和no-start(我也不確定我聽到的是啥) 區別?cache-control一般后面有個數字像6000什么的都代表什么意思
- get/post區別
- axios對請求有攔截器,了解過么,你要是自己寫一個攔截器的思路是什么
- 你知道什么是SSR么?SSR優點有哪些?
- JS有哪種基本的資料型別么?(基礎6種,參考好多種)分別都說一說,基礎有什么?參考有什么?說一說symbol
- promise了解過么?
- 什么是eventloop ?有哪些宏任務?微任務?promise.then是哪種?promise為什么new完之后立即執行?
- 你一般通過什么渠道去了解前端相關的知識
- 最近看的一篇技術文章是什么?
- 了解過小程式么?(沒有…)
實習面試之酷家樂、快手等:
- webpack具體打包流程
- 資料結構都用于什么場景
- watch和computed區別
- 為什么data是物件不是陣列等
- js實作reduce
- 跨域方式,講一下jsoup,缺點有什么
- promise,async和await(async里面的什么是同步的還是異步的)
- es6新增陣列方法,map和filter和forEach等回傳值
- v-if和v-show區別
- vue生命周期函式
- 瀏覽器快取,協商快取和強快取區別
- v-slot
- v-for中key有什么用
- vue版本,改動
- vue-model的替代
- 過濾器,插件,組件,三者定義,引入方式,應用場景
- vue-router的兩種模式的區別
- keep-alive和mounted與activated的執行順序
- 關于 [1,2,3]map(parseInt)問題的決議
- async/await的錯誤處理方法總結與優化
- instanceof js怎么實作的
- 盒模型,sessionStorage,cookies等區別
- 偽類,偽元素
- css布局
- canvas和svg
- 組件之間通信,父子,動態組件,兄弟…
- 多個標簽之間的通信
- dom創建新結點, 查找結點
- 子div在父元素中水平垂直居中
- h5相對于h4新增的一些東西
- 箭頭函式
- let,const和var區別
- 多標簽之間相互通信怎么辦
- 區分陣列物件
- [1, 2, 3, 4].map(parseInt) = ?
- 創建組件有幾種方式
- 專案的路由跳轉用沒用#,就是一共有兩種方式什么的
- vue2.0和vue1.0版本改動很多,具體我再找找
我了解 vue1.0中prop是雙向的,vue2.0是單向的 vue2.0有虛擬DOM,vue1.0沒有
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/1474.html
標籤:其他
上一篇:iframe和父頁面相互傳值,并兼容跨域問題.(專案實測成功) from accessing a cross-origin frame
