国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

工程化&代碼管理高頻面試題

這篇具有很好參考價(jià)值的文章主要介紹了工程化&代碼管理高頻面試題。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1. git常用命令以及工作中都怎么工作
git init 初始化倉庫
?
git status 查看當(dāng)前各個(gè)區(qū)域的代碼狀態(tài)。
?
git log查看commit記錄
?
git reflog查看完整記錄
?
git add 添加工作區(qū)代碼到暫存區(qū)
?
Git commit 暫存區(qū)代碼的提交
?
git reset 代碼的版本回退
?
git stash 將暫存處代碼收起來
?
git stash pop 將收起來的暫存區(qū)的代碼釋放出來
?
Git tag 可以打標(biāo)簽
?
Git branch 基于當(dāng)前分支創(chuàng)建一個(gè)分支
?
git checkout 切換分支
?
git merge 合并分支
?
git remote add origin 添加遠(yuǎn)端倉庫地址
?
git clone 克隆倉庫
?
git pull下拉對應(yīng)分支代碼
?
git push 上傳對應(yīng)分支代碼
?
?

公司中每一個(gè)項(xiàng)目都會(huì)有一個(gè)對應(yīng)的遠(yuǎn)端倉庫(gitLab),我們需要?jiǎng)?chuàng)建賬號(hào)并配置權(quán)限。

一般公司會(huì)有幾個(gè)主要分支,分別對應(yīng)4個(gè)環(huán)境,當(dāng)代碼更新的時(shí)候會(huì)通過流水線自動(dòng)部署到對應(yīng)的環(huán)境:

  1. 發(fā)布分支(prod、master)這個(gè)分支代碼對應(yīng)的就是線上的代碼

  2. UAT分支(uat),這個(gè)分支上的代碼對應(yīng)的是公司內(nèi)部演示用的分支

  3. TEST分支(test),這個(gè)分支的代碼是用于測試

  4. DEV分支(dev),研發(fā)自測分支

正常功能開發(fā)或者bug修復(fù), 從dev分支拉取代碼,進(jìn)行開發(fā)就可以。

如果是解決線上bug,應(yīng)該從master拉取一個(gè)分支(hotfix__), 然后開發(fā)完成后將其合并到test或者uat,測試沒有問題后,將其合并到master。還要將hotfix上對應(yīng)的commit合并到dev分支, 專業(yè)dev分支也就修復(fù)了這個(gè)bug。

如果當(dāng)前版本代碼需要回退(功能不做了,要么要去先著急干別的), 執(zhí)行g(shù)it reset --hard, 再回到當(dāng)前的commit也是git reset 只不過需要注意,此時(shí)要通過git reflog來查看時(shí)間最后的一次commit。

2. sass和 scss的區(qū)別
Sass 是一款強(qiáng)化 CSS 的輔助工具,它在 CSS 語法的基礎(chǔ)上增加了變量 (variables)、嵌套 (nested rules)、混合 (mixins)、導(dǎo)入 (inline imports) 等高級(jí)功能,這些拓展令 CSS 更加強(qiáng)大與優(yōu)雅。使用 Sass 以及 Sass 的樣式庫(如 Compass)有助于更好地組織管理樣式文件,以及更高效地開發(fā)項(xiàng)目。

scss只是sass的一個(gè)語言版本,.scss文件的特點(diǎn)是層級(jí)靠{}來區(qū)分,.sass文件的特點(diǎn)的層級(jí)靠縮進(jìn)來區(qū)分

3. 前端工程化工具

gulp&webpack

gulp -src=>pipe(scss翻譯).pipe(css 合并).pipe(css壓縮)=>dist
gulp -src=>pipe(模塊化編譯).pipe(js壓縮)=>dist
    流程化
webpack
 ? ?模塊化 默認(rèn)支持的commonjs規(guī)范
?
所有js模塊打包生成一個(gè)js文件
編譯解析瀏覽器不能識(shí)別的語言 (scss ,.vue, jsx, ts, ES6) 
?
配置?
 入口
 出口
 devserver 啟動(dòng) 自動(dòng)刷新,熱更新, 反向代理
 sourcemap-調(diào)試代碼 .map (地圖)
?
 loaders: sass-loader css-loader file-loader ?babel-loader vue-loader postcss-loader
?
 plugin: ?壓縮, 提取公共庫
?
4. webpack配置并且是否熟知代碼分割流程及操作

webpack包含mode模式、entry入口、output出口、plugins插件、loader、resolve、devServer開發(fā)服務(wù)器相關(guān)的基本配置。

在webpack中可以通過多入口的配置,每個(gè)入口都會(huì)去查詢對應(yīng)的依賴關(guān)系圖,進(jìn)行單獨(dú)的代碼。

在模塊化開發(fā)過程中往往會(huì)將各種不同類型的文件都看做是模塊來進(jìn)行互相導(dǎo)入導(dǎo)出,比如將圖片、css、sass之類的文件都可以導(dǎo)入到j(luò)s文件中,但是在打包的過程中需要將這些文件都尋找到然后單獨(dú)的分離出去,這樣就需要用到對應(yīng)的loader來進(jìn)行文件處理,不同的文件、不同的loader,處理方式也不一樣。

比如css文件可以利用style-loader將其代碼生成style標(biāo)簽放入到head中,也可以利用minicssextra插件中 loader將其抽離成css文件。

img文件可以利用url-loader和file-loader對其進(jìn)行base64的轉(zhuǎn)化或者單獨(dú)抽出。

組件模塊化導(dǎo)入的時(shí)候可以采用懶加載的形式,就會(huì)單獨(dú)打包對應(yīng)的代碼。

工程化&代碼管理高頻面試題,前端,elasticsearch,大數(shù)據(jù),搜索引擎

5. webpack 4大核心理念, 編譯原理?

entry,output , loaders , pluguins ? 一切皆為模塊,由于webpack只支持js文件,所以需要用loader 轉(zhuǎn)換為webpack支持的模塊,其中plugin 用于擴(kuò)張webpack 的功能,在webpack構(gòu)建生命周期的過程中,在合適的時(shí)機(jī)做了合適的事情。文章來源地址http://www.zghlxwxcb.cn/news/detail-820470.html

6. webapck構(gòu)建優(yōu)化實(shí)戰(zhàn) (打包時(shí)間過長, 可以優(yōu)化時(shí)間短點(diǎn) 20s)
(1)提取公共庫, 避免重復(fù)引用。  使用 DllPlugin,把第三方庫文件分離出來單獨(dú)編譯,并且緩存; 極大的減少業(yè)務(wù)頁面的編譯時(shí)間 ?
 dll方式也就是通過配置,告訴webpack指定庫在項(xiàng)目中的位置,從而直接引入,不將其打包在內(nèi)。
 
(2)happypack, 多線程解析文件,如babel-loader等耗時(shí)較長的。 
還可以配合cache-loader使用。 
(3)緩存  cache-loader 
(4)  loaders應(yīng)盡可能配置解析路徑include參數(shù),排除路徑exclude參數(shù), 減少解析時(shí)查詢范圍。 
(5)dev 階段 devtool 設(shè)置成cheap-module-eval-source-map, 已經(jīng)能滿足調(diào)試需求, 編譯能更快。 
(6)product 階段 去掉source-map 

到了這里,關(guān)于工程化&代碼管理高頻面試題的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 前端面試:【前端工程化】構(gòu)建工具Webpack、Parcel和Rollup

    嗨,親愛的前端開發(fā)者!在現(xiàn)代Web開發(fā)中,前端工程化變得愈發(fā)重要。構(gòu)建工具如Webpack、Parcel和Rollup幫助我們自動(dòng)化任務(wù)、管理依賴、優(yōu)化性能等。本文將深入探討這三個(gè)前端構(gòu)建工具,幫助你了解它們的優(yōu)點(diǎn)和用途。 1. Webpack: 用途: Webpack是一個(gè)強(qiáng)大的模塊打包工具。它

    2024年02月11日
    瀏覽(121)
  • 【前端工程化面試題】說一下 webpack 的構(gòu)建流程

    類似問題是,說一下 vite 的構(gòu)建流程,參考這篇文章。 初始化流程 從配置文件和shell 語句中讀取合并參數(shù),初始化需要使用的插件和執(zhí)行環(huán)境所需要的參數(shù) 配置文件默認(rèn)是 webpack.config.js 編譯構(gòu)建流程 解析入口模塊,從入口模塊開始串行調(diào)用對應(yīng)的loader 去翻譯文件內(nèi)容,依

    2024年02月20日
    瀏覽(97)
  • 【前端工程化面試題】如何優(yōu)化提高 webpack 的構(gòu)建速度

    【前端工程化面試題】如何優(yōu)化提高 webpack 的構(gòu)建速度

    使用最新版本的 Webpack 和相關(guān)插件 : 每個(gè)新版本的 Webpack 都會(huì)帶來性能方面的改進(jìn)和優(yōu)化,因此始終確保你在使用最新版本。同時(shí),更新你的相關(guān)插件也是同樣重要的。 使用DllPlugin動(dòng)態(tài)鏈接庫: 使用DllPlugin和DllReferencePlugin來將第三方庫的代碼進(jìn)行預(yù)打包,減少構(gòu)建時(shí)間。這個(gè)

    2024年02月19日
    瀏覽(96)
  • 【前端工程化面試題】使用 webpack 來優(yōu)化前端性能/ webpack的功能

    這個(gè)題目實(shí)際上就是來回答 webpack 是干啥的,你對webpack的理解,都是一個(gè)問題。 (1)對 webpack 的理解 webpack 為啥提出 + webpack 是啥 + webpack 的主要功能 前端開發(fā)通常是基于模塊化的,為了提高開發(fā)效率,webpack 是一個(gè)基于模塊的構(gòu)建工具,是一個(gè)用于 js 應(yīng)用程序的靜態(tài)模塊

    2024年02月20日
    瀏覽(95)
  • 【前端工程化面試題】webpack的module、bundle、chunk分別指的是什么?

    首先從語法方面 在配置文件中有 module 這個(gè)配置項(xiàng),里面有 rules 選項(xiàng)用來配置各種 loader,還有其他各種選項(xiàng),參考官網(wǎng)。 bundle 和?chunk 在配置文件中是沒有這個(gè)選項(xiàng)的,但是會(huì)出現(xiàn)在配置的值中。 module 模塊 指單個(gè)文件,可以是 js、css、圖片等, 每個(gè)文件都是一個(gè)獨(dú)立的模

    2024年02月19日
    瀏覽(89)
  • 【前端工程化面試題】webpack proxy的工作原理,為什么能解決跨域問題

    【前端工程化面試題】webpack proxy的工作原理,為什么能解決跨域問題

    在 webpack 的配置文件 webpack.config.js 中有一個(gè)配置項(xiàng) devServer 里面有一個(gè)屬性是 proxy,這里面可以配置代理服務(wù)器,解決跨域問題,請參考官網(wǎng)。 一般來說 webpack 的代理就是說的開發(fā)服務(wù)器 webpack-dev-server。 其實(shí)不光是 webpack 其他的打包工具比如是 vite,也有代理的功能,也是

    2024年02月21日
    瀏覽(96)
  • 前端工程化詳解——理解與實(shí)踐前端工程化

    前端工程化詳解——理解與實(shí)踐前端工程化

    前言: 前端工程化一直是一個(gè)老生常談的問題,不管是面試還是我們在公司做基建都會(huì)經(jīng)常提到前端工程化,那么為什么經(jīng)常會(huì)說到前端工程化,并沒有聽過后端工程化、Java工程化或者Python工程化呢?我們理解的前端工程化是不是一直都是Webpack的性能調(diào)優(yōu),或者是一個(gè)cli工

    2024年02月02日
    瀏覽(102)
  • 前端工程化

    前端工程化

    手把手帶你走進(jìn)Babel的編譯世界 - 掘金 (juejin.cn) 我們所寫的代碼轉(zhuǎn)換為機(jī)器能識(shí)別的一種 樹形結(jié)構(gòu), 本身是由一堆節(jié)點(diǎn)(Node)組成,每個(gè)節(jié)點(diǎn)都表示源代碼中的一種結(jié)構(gòu)。 不同結(jié)構(gòu)用類型(Type)來區(qū)分,常見的節(jié)點(diǎn)類型有Identifier(標(biāo)識(shí)符),Expression(表達(dá)式),VariableDeclarat

    2023年04月11日
    瀏覽(100)
  • 什么是前端工程化?

    前端工程化是一種思想,而不是某種技術(shù)。主要目的是為了提高效率和降低成本,也就是說在開發(fā)的過程中可以提高開發(fā)效率,減少不必要的重復(fù)性工作等。 tip 現(xiàn)實(shí)生活舉例 建房子誰不會(huì)呢?請幾個(gè)工人一上來就開始弄,在建筑的過程中缺了材料就叫個(gè)工人去買,發(fā)現(xiàn)工期

    2024年02月15日
    瀏覽(97)
  • 前端工程化-NPM

    前端工程化-NPM

    NPM代表npmjs.org這個(gè)網(wǎng)站,這個(gè)站點(diǎn)存儲(chǔ)了很多Node.js的第三方功能包。 NPM的全稱是Node Package Manager,它是一個(gè)Node.js包管理和分發(fā)工具,已經(jīng)成為非官方的發(fā)布Node模塊(包)的標(biāo)準(zhǔn)。它可以讓JavaScript開發(fā)者能夠更加輕松地共享代碼和共用代碼片段,并且通過NPM管理需要分享的代

    2024年02月09日
    瀏覽(310)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包