當前位置:首頁 » 股票資訊 » webpack面試題
擴展閱讀
股票估值高適合買 2025-08-18 22:44:20

webpack面試題

發布時間: 2022-02-26 06:19:52

1. webpack的路徑問題到底是怎麼回事

webpack的路徑問題到底是:
事實上前端構建過程一般都是建立在前後分離基礎上的,你要想讓自己的構建過程清晰、簡單和方便,請首先將自己的項目前後實現分離。當然這個有難度,所以你的這個場景並不是非常適合gruntjs通常的構建模式。 對應問題講完,再給你一些建議。

2. webpack到底怎麼用

30分鍾手把手教你學webpack實戰
首先對於很多剛接觸webpack人來說,肯定會問webpack是什麼?它有什麼優點?我們為什麼要使用它?帶著這些問題,我們來總結下如下:
    Webpack是前端一個工具,可以讓各個模塊進行載入,預處理,再進行打包,它能有Grunt或Gulp所有基本功能。優點如下:
支持commonJS和AMD模塊。
支持很多模塊載入器的調用,可以使模塊載入器靈活定製,比如babel-loader載入器,該載入器能使我們使用ES6的語法來編寫代碼
可以通過配置打包成多個文件,有效的利用瀏覽器的緩存功能提升性能。
使用模塊載入器,可以支持sass,less等處理器進行打包且支持靜態資源樣式及圖片進行打包。
更多等等。。。帶著這些問題我們慢慢來學習webpack。
https://www.cnblogs.com/tugenhua0707/p/4793265.html

3. webpack是為了解決什麼問題

配置入口沒glob式需要額外處理 目錄結構復雜file-loder面path功能太弱候自定義構建目錄結構能放目錄 源碼比較復雜遇問題看源碼要花間 沒 babel webpack ES貳0依5+ 語接受提示用指定 loader意味著支持部 ES貳0依5 語 firefox 與 chrome 瀏覽器能直接跑代碼用 webpack 編

4. webpack 找不到模塊的問題求助

可以看看webpack的官網的, 比如在installation這個章節, 裡面就介紹了怎麼安裝webpack.
首先需要安裝一個全局的webpack
npm install webpack -g
這樣才可以正確的使用webpack這個命令
然後, 還可以在當前項目裡面也安裝一個webpack, 這也是官方推薦的做法!

5. webpack打包問題

webpack只是給你做打包壓縮之類的功能,你的文件怎麼寫就是怎麼調用,按照你的描述,你直接在引用js的地方testFun()便可以執行這個代碼。

6. vue前端面試題有哪些呢

文章中給你列舉了部分的面試題,這些都是公司面試常遇到的,還有需要的還可以自己去查閱一下資料
1、active-class是哪個組件的屬性?嵌套路由怎麼定義?
答:vue-router模塊的router-link組件。
2、怎麼定義vue-router的動態路由?怎麼獲取傳過來的動態參數?
答:在router目錄下的index.js文件中,對path屬性加上/:id。 使用router對象的params.id
3、vue-router有哪幾種導航鉤子?
答:三種,一種是全局導航鉤子:router.beforeEach(to,from,next),作用:跳轉前進行判斷攔截。第二種:組件內的鉤子;第三種:單獨路由獨享組件
4、scss是什麼?安裝使用的步驟是?有哪幾大特性?
答:預處理css,把css當前函數編寫,定義變數,嵌套。 先裝css-loader、node-loader、sass-loader等載入器模塊,在webpack-base.config.js配置文件中加多一個拓展:extenstion,再加多一個模塊:mole裡面test、loader
4.1、scss是什麼?在vue.cli中的安裝使用步驟是?有哪幾大特性?
答:css的預編譯。
使用步驟:
第一步:用npm 下三個loader(sass-loader、css-loader、node-sass)
第二步:在build目錄找到webpack.base.config.js,在那個extends屬性中加一個拓展.scss
第三步:還是在同一個文件,配置一個mole屬性
第四步:然後在組件的style標簽加上lang屬性 ,例如:lang=」scss」
有哪幾大特性:
1、可以用變數,例如($變數名稱=值);
2、可以用混合器,例如()
3、可以嵌套
5、mint-ui是什麼?怎麼使用?說出至少三個組件使用方法?
答:基於vue的前端組件庫。npm安裝,然後import樣式和js,vue.use(mintUi)全局引入。在單個組件局部引入:import {Toast} from 『mint-ui』。組件一:Toast(『登錄成功』);組件二:mint-header;組件三:mint-swiper
6、v-model是什麼?怎麼使用? vue中標簽怎麼綁定事件?
答:可以實現雙向綁定,指令(v-class、v-for、v-if、v-show、v-on)。vue的model層的data屬性。綁定事件:<input @click=doLog() />
7、axios是什麼?怎麼使用?描述使用它實現登錄功能的流程?
答:請求後台資源的模塊。npm install axios -S裝好,然後發送的是跨域,需在配置文件中config/index.js進行設置。後台如果是Tp5則定義一個資源路由。js中使用import進來,然後.get或.post。返回在.then函數中如果成功,失敗則是在.catch函數中
8、axios+tp5進階中,調用axios.post(『api/user』)是進行的什麼操作?axios.put(『api/user/8′)呢?
答:跨域,添加用戶操作,更新操作。
9、什麼是RESTful API?怎麼使用?
答:是一個api的標准,無狀態請求。請求的路由地址是固定的,如果是tp5則先路由配置中把資源路由配置好。標准有:.post .put .delete
10、vuex是什麼?怎麼使用?哪種功能場景使用它?
答:vue框架中狀態管理。在main.js引入store,注入。新建了一個目錄store,….. export 。場景有:單頁應用中,組件之間的狀態。音樂播放、登錄狀態、加入購物車
11、mvvm框架是什麼?它和其它框架(jquery)的區別是什麼?哪些場景適合?
答:一個model+view+viewModel框架,數據模型model,viewModel連接兩個
區別:vue數據驅動,通過數據來顯示視圖層而不是節點操作。
場景:數據操作比較多的場景,更加便捷
12、自定義指令(v-check、v-focus)的方法有哪些?它有哪些鉤子函數?還有哪些鉤子函數參數?
答:全局定義指令:在vue對象的directive方法裡面有兩個參數,一個是指令名稱,另外一個是函數。組件內定義指令:directives
鉤子函數:bind(綁定事件觸發)、inserted(節點插入的時候觸發)、update(組件內相關更新)
鉤子函數參數:el、binding
13、說出至少4種vue當中的指令和它的用法?
答:v-if:判斷是否隱藏;v-for:數據循環出來;v-bind:class:綁定一個屬性;v-model:實現雙向綁定
14、vue-router是什麼?它有哪些組件?
答:vue用來寫路由一個插件。router-link、router-view
15、導航鉤子有哪些?它們有哪些參數?
答:導航鉤子有:a/全局鉤子和組件內獨享的鉤子。b/beforeRouteEnter、afterEnter、beforeRouterUpdate、beforeRouteLeave
參數:有to(去的那個路由)、from(離開的路由)、next(一定要用這個函數才能去到下一個路由,如果不用就攔截)最常用就這幾種
16、Vue的雙向數據綁定原理是什麼?
答:vue.js 是採用數據劫持結合發布者-訂閱者模式的方式,通過Object.defineProperty()來劫持各個屬性的setter,getter,在數據變動時發布消息給訂閱者,觸發相應的監聽回調。
具體步驟:
第一步:需要observe的數據對象進行遞歸遍歷,包括子屬性對象的屬性,都加上 setter和getter
這樣的話,給這個對象的某個值賦值,就會觸發setter,那麼就能監聽到了數據變化
第二步:compile解析模板指令,將模板中的變數替換成數據,然後初始化渲染頁面視圖,並將每個指令對應的節點綁定更新函數,添加監聽數據的訂閱者,一旦數據有變動,收到通知,更新視圖
第三步:Watcher訂閱者是Observer和Compile之間通信的橋梁,主要做的事情是:
1、在自身實例化時往屬性訂閱器(dep)裡面添加自己
2、自身必須有一個update()方法
3、待屬性變動dep.notice()通知時,能調用自身的update()方法,並觸發Compile中綁定的回調,則功成身退。
第四步:MVVM作為數據綁定的入口,整合Observer、Compile和Watcher三者,通過Observer來監聽自己的model數據變化,通過Compile來解析編譯模板指令,最終利用Watcher搭起Observer和Compile之間的通信橋梁,達到數據變化 -> 視圖更新;視圖交互變化(input) -> 數據model變更的雙向綁定效果。
ps:16題答案同樣適合」vue data是怎麼實現的?」此面試題。
17、請詳細說下你對vue生命周期的理解?
答:總共分為8個階段創建前/後,載入前/後,更新前/後,銷毀前/後。
創建前/後: 在beforeCreated階段,vue實例的掛載元素$el和數據對象data都為undefined,還未初始化。在created階段,vue實例的數據對象data有了,$el還沒有。
載入前/後:在beforeMount階段,vue實例的$el和data都初始化了,但還是掛載之前為虛擬的dom節點,data.message還未替換。在mounted階段,vue實例掛載完成,data.message成功渲染。
更新前/後:當data變化時,會觸發beforeUpdate和updated方法。
銷毀前/後:在執行destroy方法後,對data的改變不會再觸發周期函數,說明此時vue實例已經解除了事件監聽以及和dom的綁定,但是dom結構依然存在
18、請說下封裝 vue 組件的過程?
答:首先,組件可以提升整個項目的開發效率。能夠把頁面抽象成多個相對獨立的模塊,解決了我們傳統項目開發:效率低、難維護、復用性等問題。
然後,使用Vue.extend方法創建一個組件,然後使用Vue.component方法注冊組件。子組件需要數據,可以在props中接受定義。而子組件修改好數據後,想把數據傳遞給父組件。可以採用emit方法。
19、你是怎麼認識vuex的?
答:vuex可以理解為一種開發模式或框架。比如PHP有thinkphp,java有spring等。
通過狀態(數據源)集中管理驅動組件的變化(好比spring的IOC容器對bean進行集中管理)。
應用級的狀態集中放在store中; 改變狀態的方式是提交mutations,這是個同步的事物; 非同步邏輯應該封裝在action中。
20、vue-loader是什麼?使用它的用途有哪些?
答:解析.vue文件的一個載入器,跟template/js/style轉換成js模塊。
用途:js可以寫es6、style樣式可以scss或less、template可以加jade等
21、請說出vue.cli項目中src目錄每個文件夾和文件的用法?
答:assets文件夾是放靜態資源;components是放組件;router是定義路由相關的配置;view視圖;app.vue是一個應用主組件;main.js是入口文件
22、vue.cli中怎樣使用自定義的組件?有遇到過哪些問題嗎?
答:第一步:在components目錄新建你的組件文件(smithButton.vue),script一定要export default {
第二步:在需要用的頁面(組件)中導入:import smithButton from 『../components/smithButton.vue』
第三步:注入到vue的子組件的components屬性上面,components:{smithButton}
第四步:在template視圖view中使用,<smith-button> </smith-button>
問題有:smithButton命名,使用的時候則smith-button。
23、聊聊你對Vue.js的template編譯的理解?
答:簡而言之,就是先轉化成AST樹,再得到的render函數返回VNode(Vue的虛擬DOM節點)
詳情步驟:
首先,通過compile編譯器把template編譯成AST語法樹(abstract syntax tree 即 源代碼的抽象語法結構的樹狀表現形式),compile是createCompiler的返回值,createCompiler是用以創建編譯器的。另外compile還負責合並option。
然後,AST會經過generate(將AST語法樹轉化成render funtion字元串的過程)得到render函數,render的返回值是VNode,VNode是Vue的虛擬DOM節點,裡面有(標簽名、子節點、文本等等)

7. 面試Web前端需要注意什麼會面試哪些問題

作為一名HTML5前端工程師,為了工作,為了就業我們免不了要參加各種各樣的面試。為此總結了面試前的注意事項:

第一:注意自己的儀容儀表

面試之前,一定要再次從頭到腳地將自己的儀容儀表檢查一遍。檢查時主要包括,自己的牙縫是不是還有食物殘渣,所以你需要就近找一個衛生間,如果沒有衛生間就近找一個角落也是可以的,但是切記一定不要在大庭廣眾之下。因此,為了給自己整理出著裝的時間請在約定時間前20分鍾到達。

第二:再次檢查面試時所需的資料是否都已帶全

這些資料主要包括:身份證明、學歷文憑證明、個人簡歷、以往作品等等,如果這些東西齊全之後,需要對這些資料做一個整理與排序。因為沒有哪個面試官希望看到面試者拿出一堆「莫名其妙」的東西塞給他,讓他自己再一頁一頁的翻找自己需要的內容,如果說這些資料在面試官手中不小心散落一地,結果可想而知。這樣的求職者在面試官眼中也一定不是一個讓人放心、有條不紊的員工。當然如果檢查時發現資料沒有帶全,也不要緊張。反而你要慶倖幸虧及時檢查,也有足夠的時間組織語言去向面試官解釋。

第三:面試之前將通信工具調成振動或關閉狀態

雖然說面試者與面試官之間是一個平等的關系,但畢竟你是去人家公司求職的,始終處於一個被動的狀態,所以最起碼的尊重還是要做到的。曾經有調查顯示,對於面試過程中接電話或是被電話打斷的求職者,會被HR減分。

第四:等候面試官時,仔細觀察多了解面試公司

在等候面試官時,可以暗自觀察一下公司的大體情況比如員工的著裝風格、公司的LOGO或是貼在牆上的企業文化、公司的環境等等,一來可以在接下來的面試過程中表現出自己對公司的認同感,二來也可以讓自己對求職公司多些了解,以確定是否要接受這里的工作。如果你身邊有公司的資料宣傳架,不妨取一本翻看一下,也會增加HR對你的好感。

第五:放鬆心情,保持自信

面試時一定要保持一定的自信,這樣也會給面試官留下很好的印象。面試只是你步入工作的第一步,即便是失敗了那也是人生重要的經歷。失敗是為了更好的迎接下一個挑戰。

作為一名web前端工程師千萬不要覺得懂技術面試就能萬事大吉了,像以上五點細節性的東西也是一定要掌握的。

面試題系列:

網頁鏈接

8. 關於webpack問題想請教下

webpack --config 配置文件
意思就是指定打包的配置文件來運行
一般都是分dev和build,也就是開發環境和生產環境,因為開發環境需要很多的調試信息或者其他的特殊配置來方便開發,而打包成生產環境的文件則不需要,所以可以按照需要分成多個配置文件。
還是推薦再多在webpack官方多學習下文檔

9. webpack問題。。。,。。。,

webpack-dev-server有兩種推薦的用法
1、命令行方式。這個取決於你的webpack.config.js文件,然後調用「node_moles/.bin/webpack-dev-server」
2、npm script的方式。

可能你文件路徑或者調用命令行寫法有誤吧

10. 大廠的前端面試難嗎

分享給你一些面試題

一面

小米的面試官給人的感覺很親切很真誠,是一個體驗很不錯的面試。

  • css 實現圖片自適應寬高

  • 講 flex,手寫出 flex 常用的屬性,並且講出作用

  • BFC 是什麼

  • 項目裡面的前端鑒權是怎麼實現的?

  • vue 裡面的虛擬 dom 是怎麼回事?

  • vue 雙向綁定講一講

  • 手寫函數防抖和函數節流

  • 講講常用的 es6 語法,比如 let、promise、class 等等

  • 瀏覽器渲染過程,迴流重繪等等,load、DOMContentLoaded 等等事件的觸發順序

  • 從小米應用商店裡面隨便找了一個需求讓我現場實現,寫偽代碼

  • 二面

  • 講項目裡面的鑒權和圖片懶載入怎麼實現的

  • 講 vue-lazyloader 的原理,手寫偽代碼

  • 講 express 框架的設計思想

  • 線上日誌是如何處理的

  • 講事件循環

  • 講 nodejs 的 eventEmitter 的實現

  • 三面

  • 講項目裡面做的事情

  • 講 vue 的響應式原理、依賴收集、監聽數組、虛擬 dom 等等

  • 講 express 的中間件系統是如何設計的

  • 現場從小米應用商店中找出一個需求現場實現,說思路,寫關鍵的代碼

  • 四面

  • 講 vue-lazyloader 源碼以及設計

  • 使用 es5 實現 es6 的 class

  • websocket 握手過程

  • 瀏覽器的事件循環和 nodejs 事件循環的區別

  • 百思編程(過)

    這個公司是獵頭推薦的,CEO 比較強勢,也算比較有趣。

    一面

  • 跨域以及解決辦法

  • 手寫一段小演算法

  • JavaScript 的 sort 方法內部使用的什麼排序?

  • 二面

    這一面是 CEO 面,主要問了我的職業規劃等等問題,在我沒有表現出很強的要去該公司的意願後,直接給我送走了…

    ponyAI-基礎架構(過)

    一面

  • 講項目裡面幹了啥

  • vue-lazyloader 怎麼實現的

  • vue 的響應式系統、虛擬 dom

  • 函數式編程

  • 手寫了一個演算法題

  • 二面

    這輪面試時從美國打電話過來的,事後才知道是 Google 的前端…

  • 講講項目裡面做了什麼

  • vue 原理,和 react 的區別(其實我沒怎麼用過 react)

  • JavaScript 非同步的處理方式,現場出了一個問題,使用 promise 實現

  • 三面

  • 講項目模塊規劃、項目如何部署、如何優化等等

  • 手寫函數的防抖

  • 手寫一道演算法題

  • 四面

  • 講講項目

  • 手寫一道演算法題

  • 洋錢罐(過)

    一面

  • 講項目

  • 前端持久化的方式、區別

  • vue-lazyloader 的原理

  • 怎麼配 webpack

  • 手寫 vue 雙向綁定

  • 講 es6 的一些特性,並且現場出了幾個代碼片段,說結果

  • 手寫一道演算法題

  • http 狀態碼

  • 二面

  • 講項目

  • vue-router 的原理

  • 項目中怎麼用的 webpack,怎麼優化

  • 講 express 的設計原理

  • 手寫一道演算法題

  • 創新奇智(過)

    一面

  • 講項目

  • 手動實現 parseInt

  • 二面

    這一面居然遇到了前同事…寫了一些筆試題,問了一些問題!

    三面

  • 講 tcp/ip 網路層、三次握手,為什麼不能兩次握手

  • 講 vue 原理

  • 手寫一道演算法題

  • 猿輔導(跪)

    猿輔導好像總共就一面,期間一些實現方式和面試官有爭議(沒有沖突)。

    一面

  • 手寫 vue 的 mixin 方法

  • 手寫 promise 的 all 方法

  • 現場出了一個移動端的小需求

  • 搜狐-垂直媒體部門(過)

    一面

  • 講項目

  • 項目裡面用 nodejs 做了啥

  • 抽取了哪些 vue 組件

  • 二面

  • 講項目

  • 手寫實現 promise

  • 騰訊-地圖(跪)

  • 騰訊兩個部門面試都會先做一套筆試題,筆試題基本就是一些常見的前端問題以及演算法題

  • 三面

  • 講項目,對項目提了一些問題

  • 怎麼判斷一個點是否在圓形內、正方形內

  • 對筆試題

  • 騰訊-天天快報(跪)

    也是先做了一套筆試題,但是令人尷尬的是,面試官覺得我快排寫錯了,然而我只是在原地快排沒有申請額外空間…

  • 筆試題

  • 沒了

  • 網路-網路雲(過)

    這個部門今年據說升為一級部門了,好像還挺不錯的~

    一面

  • 講項目

  • vue 響應式原理,什麼是 mvvm

  • es6 使用過的特性

  • flex 常見的屬性

  • css 選擇器的優先順序

  • 抽取過哪些 vue 組件

  • 二面

  • 講項目

  • express 設計原理,面試官對動態路由匹配一直追問下去,但是這里的源碼設計我確實是忘了,一路討論下去扯到了字元串的前綴樹…

  • 實現一個事件發布訂閱類,其實就是 eventEmitter

  • 三面

    三面是山大老學長,聊了一些業務上的事情~

    搜狗-手機搜狗(過)

    搜狗一面的體驗比較差,面試官給人的感覺不太好…

    一面

  • 講項目

  • 事件循環

  • 回調函數的壞處

  • vue 裡面哪兒不會用到雙向綁定

  • 二面

    忘了…

    快手-商業化(過)

    一面

  • 講項目

  • 如何抽取公共組件的

  • vue 的響應式原理

  • 如何實現一個可設置過期時間的 localStorage

  • 實現一個發布訂閱系統,包括 on、emit、off 等等

  • 二面

  • 一道智力題

  • 軟體工程思想、設計模式等等

  • async/await 代碼片段,說輸出結果

  • 今日頭條-廣告系統(過)

    一面

  • 講項目

  • 講 lazyloader 實現

  • 用 docker 做了什麼

  • 用 webpack 做了什麼

  • 手寫一個演算法題

  • 講 flex

  • vue 響應式原理

  • es6

  • 二面

  • JavaScript 非同步

  • 優化項目

  • vue 原理,包括計算屬性、依賴收集等等

  • 用 JavaScript 的非同步實現 sleep 函數

  • 演算法題

  • 三面

  • 手寫快排,時間復雜度,優化

  • 手寫實現 jsonp

  • 項目部署,線上問題等等

  • websocket 握手過程

  • 四面

  • 對 vuex 的理解,單向數據流

  • 設計一個單點登錄的系統,類似阿里系那種

  • 手寫一個演算法

  • 五面

  • 實現一個聯想搜索組件

  • 手寫函數防抖和節流

  • OPPO 成都研發中心(過)

    一面

  • 講項目

  • 講 vue 的 響應式系統,講了好久,從渲染 watcher 到虛擬 dom,面試官還跟我討論了好久

  • 忘了

  • 二面

  • 講項目

  • 忘了

  • 百詞斬(跪)

    首先會在線做一道演算法題,挺簡單的,百詞斬感覺掛的稀里糊塗的…

    一面

  • websocket 握手過程

  • tcp/ip 網路層,http 的特點

  • http 強行使用 udp 能實現嗎?

  • vue 原理

  • webpack 熱更新原理,使用過的插件

  • 原型、閉包、跨域

  • 手寫了一道演算法題

  • 為什麼面這么多公司

    因為我是實習直接轉正的,也沒參加過秋招,所以對自己在市場上是個怎樣的實力沒有一個清晰的了解,而且我也想多了解一下其他公司在做什麼,於是就盡量的多面,不過說實話面試確實挺累的。