1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        自學(xué)前端拿到offer的心路歷程(熱乎的面經(jīng)附答案)

        共 8554字,需瀏覽 18分鐘

         ·

        2021-04-07 01:05


        1. 前言

        先交代下博主是在二線城市,所以也面不了什么大廠自然也就沒(méi)什么大廠面經(jīng)(就算有我也沒(méi)有這個(gè)實(shí)力),昨天面試了一家中小型的公司,這里就不透露名字了,總共面了兩輪總結(jié)后寫(xiě)下了這篇文章,我相信也是有很多和我在二線城市的小伙伴需要這些常見(jiàn)的面試題的,我是剛畢業(yè)出來(lái)實(shí)習(xí),所以馬上要出去找實(shí)習(xí)的小伙伴可以看看,參考下。

        2. 面試之前準(zhǔn)備什么?

        老實(shí)說(shuō),我面這家公司的時(shí)候之前沒(méi)有復(fù)習(xí)!早上第一面,下午就通知第二面了,幾乎是裸面的狀態(tài)(當(dāng)然過(guò)程也非常慘)。

        所以建議大家如果準(zhǔn)備面試的話,還是需要提前復(fù)習(xí)下,做好準(zhǔn)備,時(shí)間方面自己把握下,建議一周內(nèi)就行了,主要把寫(xiě)在簡(jiǎn)歷上的項(xiàng)目搞透,從項(xiàng)目的結(jié)構(gòu)、所用到的技術(shù)、難點(diǎn)、亮點(diǎn)都要知道,要能夠自己描述出項(xiàng)目中用了哪些,自己完成了哪些。

        1. 刷面經(jīng) 看一看最近的面經(jīng)文,了解現(xiàn)在公司都在面什么類(lèi)型的題,準(zhǔn)備一些常見(jiàn)題,自己背一背。
        2. 項(xiàng)目 把你寫(xiě)在簡(jiǎn)歷上的的項(xiàng)目從技術(shù)架構(gòu)到源碼都要做到足夠了解,至少面試的時(shí)候不要被面試官問(wèn)住了。
        3. 亮點(diǎn) 準(zhǔn)備一些自己的亮點(diǎn),因?yàn)槊嬖嚨膯?wèn)題你不可能每個(gè)都回答上來(lái),但是在面試的過(guò)程中一定要有亮點(diǎn),不然問(wèn)你的一些問(wèn)題都是回答的一般般,讓面試官感覺(jué)不到你那方面比較擅長(zhǎng)(你就會(huì)得到反饋,面試官說(shuō)你還行,但是沒(méi)有過(guò)~), 你可以準(zhǔn)備幾個(gè)點(diǎn),每個(gè)點(diǎn)都保證可以吹上個(gè)半小時(shí)。另外一定要了解的很深入,一定要能夠流暢的表達(dá)出來(lái)!
        4. 練手 先找?guī)准也惶肴サ墓荆ㄒ?guī)模差不多但離你住的地方比較遠(yuǎn)等等原因。。)練練手,如果第一次面試就去心儀的公司面試,淘汰率會(huì)非常高。特別是實(shí)習(xí)生還沒(méi)有面試過(guò)的,建議多面幾家再去綜合考慮去哪家,我見(jiàn)過(guò)太多我身邊的朋友因?yàn)楫厴I(yè)著急找工作隨便投簡(jiǎn)歷,面試通過(guò)了就入職了,干了一兩周就說(shuō)不想去了,跑路又重新找,這樣的話其實(shí)非常得不償失,時(shí)間也花了也沒(méi)找到心儀的工作。
        5. 心態(tài) 最后就是你的心態(tài)了,心態(tài)很重要!?。∶嬖嚥贿^(guò)很正常,不證明你不優(yōu)秀,只是不適合,總結(jié)面試經(jīng)驗(yàn),為下一次做準(zhǔn)備。像我第一次面的第一家公司問(wèn)的很多問(wèn)題都回答不上來(lái),boss上寫(xiě)的招實(shí)習(xí)生,最后面試我的人盡問(wèn)一些奇葩問(wèn)題,前端不需要寫(xiě)頁(yè)面,后端也不需要寫(xiě)接口,最后說(shuō)公司需要中級(jí)前端,我目前只能是個(gè)初級(jí)前端,不符合公司要求。我就納悶了招中級(jí)前端寫(xiě)招聘實(shí)習(xí)生???整個(gè)面試下來(lái)10分鐘不到,到時(shí)我都快氣炸了。也有點(diǎn)影響后面的面試,所以一定要有個(gè)好的心態(tài)面對(duì)面試結(jié)果。

        3. 還能記住的面試題

        方便讀者閱讀我將面試題進(jìn)行了個(gè)分類(lèi),這篇主要寫(xiě)跟vue和項(xiàng)目相關(guān)的面試題,因?yàn)槲液?jiǎn)歷上寫(xiě)了三個(gè)項(xiàng)目,所以大部問(wèn)題都是從項(xiàng)目開(kāi)始切入的,有些記不住,回答的也不是太好。。。我會(huì)把網(wǎng)上的詳細(xì)文章貼出來(lái),讓讀者能更詳細(xì)的學(xué)習(xí)。

        vue相關(guān)

        1. Vue實(shí)例的生命周期講一下, mounted階段真實(shí)DOM存在了嘛?

        Vue實(shí)例從創(chuàng)建到銷(xiāo)毀的過(guò)程,就是生命周期。

        也就是:開(kāi)始創(chuàng)建->初始化數(shù)據(jù)->編譯模板->掛載dom->數(shù)據(jù)更新重新渲染虛擬 dom->最后銷(xiāo)毀。這一系列的過(guò)程就是vue的生命周期。所以在mounted階段真實(shí)的DOM就已經(jīng)存在了。

        • beforeCreate:vue實(shí)例的掛載元素el和數(shù)據(jù)對(duì)象data都還沒(méi)有進(jìn)行初始化,還是一個(gè) undefined狀態(tài)
        • created: 此時(shí)vue實(shí)例的數(shù)據(jù)對(duì)象data已經(jīng)有了,可以訪問(wèn)里面的數(shù)據(jù)和方法, el還沒(méi)有,也沒(méi)有掛載dom
        • beforeMount: 在這里vue實(shí)例的元素el和數(shù)據(jù)對(duì)象都有了,只不過(guò)在掛載之前還是虛擬的dom節(jié)點(diǎn)
        • mounted: vue實(shí)例已經(jīng)掛在到真實(shí)的dom上,可以通過(guò)對(duì) dom操作來(lái)獲取dom節(jié)點(diǎn)
        • beforeUpdate: 響應(yīng)式數(shù)據(jù)更新時(shí)調(diào)用,發(fā)生在虛擬dom打補(bǔ)丁之前,適合在更新之前訪問(wèn)現(xiàn)有的 dom,比如手動(dòng)移除已添加的事件監(jiān)聽(tīng)器
        • updated: 虛擬dom重新渲染和打補(bǔ)丁之后調(diào)用,組成新的 dom已經(jīng)更新,避免在這個(gè)鉤子函數(shù)中操作數(shù)據(jù),防止死循環(huán)。
        • beforeDestory: vue實(shí)例在銷(xiāo)毀前調(diào)用,在這里還可以使用,通過(guò)this也能訪問(wèn)到實(shí)例,可以在這里對(duì)一些不用的定時(shí)器進(jìn)行清除,解綁事件。
        • destoryed:vue實(shí)例銷(xiāo)毀后調(diào)用,調(diào)用后所有事件監(jiān)聽(tīng)器會(huì)被移除,所有的子實(shí)例都會(huì)被銷(xiāo)毀。

        官方圖示

        1. Vue中的的通信方式有幾種?隔代組件的通信你用那種方式解決?

        總共有7種,當(dāng)時(shí)是只回答了4種

        • props/$emit 適用父子組件通信
        • ref與parent/children適用父子組件通信
        • EventBus(事件總線) 適用于父子、隔代、兄弟組件通信
        • attrs/listeners 適用于隔代組件通信
        • provide/inject 適用于隔代組件通信
        • vuex 適用于父子、隔代、兄弟組件通信
        • slot插槽方式

        參考這篇文章

        1. Vue中的常見(jiàn)指令有那些??

        v-text/v-html/v-for/v-show/v-if/v-else/v-cloak/v-bind/v-on/v-model/v-slot...

        vue的指令還是得都記住的,這里是按照我的記憶方式排列的,大家可以有自己的記憶方式。

        參考vue文檔

        1. v-show和v-if有什么區(qū)別??

        v-show是css切換,v-if是完整的銷(xiāo)毀和重新創(chuàng)建,如果頻繁切換時(shí)用v-show,運(yùn)行時(shí)較少改變用v-if

        1. 談?wù)勀銓?duì)vuex的理解?

        vuex是一個(gè)專(zhuān)門(mén)為vue.js開(kāi)發(fā)的狀態(tài)管理模式,每一個(gè)vuex應(yīng)用核心就是store(倉(cāng)庫(kù))。store基本上就是一個(gè)容器,它包含著你的應(yīng)用中大部分的state(狀態(tài))

        • vuex的狀態(tài)存儲(chǔ)是響應(yīng)式的,當(dāng) vue組件中store中讀取狀態(tài)時(shí)候,若store中的狀態(tài)發(fā)生變化,那么相應(yīng)的組件也會(huì)相應(yīng)地得到高效更新。
        • 改變store中的狀態(tài)的唯一途徑就是顯示 commit(提交)mutation,這樣使得我們可以方便地跟蹤每一個(gè)狀態(tài)的變化。

        主要有以下幾個(gè)模塊:

        • State: 定義了應(yīng)用狀態(tài)的數(shù)據(jù)結(jié)構(gòu),可以在這里設(shè)置默認(rèn)的初始狀態(tài)
        • Getter: 允許組件從Stroe中獲取數(shù)據(jù), mapGetters輔助函數(shù)僅僅是將store中的getter映射到計(jì)算屬性。
        • Mutation: 唯一更改store中狀態(tài)的方法,且必須是同步函數(shù)。
        • Action: 用于提交muatation, 而不是直接變更狀態(tài),可以包含任意異步操作。
        • Module: 允許將單一的store拆分為多個(gè) sotre且同時(shí)保存在單一的狀態(tài)樹(shù)中
        1. vuex中state存儲(chǔ)的數(shù)據(jù)如果頁(yè)面刷新此時(shí)數(shù)據(jù)還會(huì)有嗎?

        當(dāng)時(shí)沒(méi)想清楚就回答了有,面試官說(shuō)沒(méi)有讓我回去可以試一下,其實(shí)過(guò)后我就知道是沒(méi)有了,在項(xiàng)目中有遇到過(guò)這個(gè)問(wèn)題。。。

        項(xiàng)目地址:高仿小米商城,github地址感興趣的朋友可以clone下來(lái)學(xué)習(xí)下,如果感覺(jué)不錯(cuò)的話可以歡迎大家點(diǎn)個(gè)start。

        在這個(gè)項(xiàng)目中我用到了vuex來(lái)管理用戶(hù)名和購(gòu)物車(chē)數(shù)量,當(dāng)時(shí)我的設(shè)想是用戶(hù)即使沒(méi)有登錄也可以訪問(wèn)首頁(yè),當(dāng)用戶(hù)將商品加入購(gòu)物車(chē)再讓用戶(hù)跳轉(zhuǎn)到登錄頁(yè),所以就存在這么一個(gè)問(wèn)題,當(dāng)用戶(hù)登錄之后我通過(guò)vuex來(lái)存儲(chǔ)用戶(hù)名和購(gòu)物車(chē)數(shù)量,當(dāng)用戶(hù)跳轉(zhuǎn)其他頁(yè)面再回到首頁(yè)的時(shí)候此時(shí)vuex中state中的數(shù)據(jù)已經(jīng)沒(méi)有了導(dǎo)致用戶(hù)名和購(gòu)物車(chē)數(shù)量都為空,當(dāng)時(shí)的解決方案是在app.vue中 mounted這個(gè)鉤子通過(guò)cookie中有沒(méi)有存儲(chǔ)用戶(hù)的id來(lái)判斷用戶(hù)是否登錄,如果登錄重新發(fā)送請(qǐng)求再通過(guò)dispatch觸發(fā) action來(lái)提交mutation中的方法重新存儲(chǔ)用戶(hù)名和購(gòu)物車(chē)數(shù)量到 state

        1. v-bind和v-model的區(qū)別, v-model原理知道嗎?
        • v-bind用來(lái)綁定數(shù)據(jù)和屬性以及表達(dá)式
        • v-model使用在表單中,實(shí)現(xiàn)雙向數(shù)據(jù)綁定的,在表單元素外不起使用。

        v-model原理:我們?cè)趘ue項(xiàng)目中主要使用v-model指令在表單 input、textarea、select、等表單元素上創(chuàng)建雙向數(shù)據(jù)綁定, v-model本質(zhì)上就是vue的語(yǔ)法糖,v-model在內(nèi)部為不同的輸入元素使用不同的屬性并拋出不同的事件:

        • text和 textarea元素使用value屬性和input事件
        • checkbox和 radio使用checked屬性和change事件
        • slect字段將 value作為prop并將change作用事件

        「舉個(gè)栗子」

        <input v-model="something">
        本質(zhì)上相當(dāng)于這樣
        <input v-bind:value="something" v-on:input="something = $event.target.value">
        其實(shí)就是通過(guò)綁定一個(gè)something屬性,通過(guò)監(jiān)聽(tīng)input事件,當(dāng)用戶(hù)改變輸入框數(shù)據(jù)的時(shí)候,
        通過(guò)事件傳遞過(guò)來(lái)的事件對(duì)象中的target找到事件源,value屬性表示事件源的值,從而實(shí)現(xiàn)雙向數(shù)據(jù)綁定的效果

        其他的實(shí)現(xiàn)可以參考文章v-model源碼解析(超詳細(xì))

        1. MVC和MVVM有什么區(qū)別??

        「MVC」

        • M - Model:模型,是應(yīng)用程序中用于處理應(yīng)用程序數(shù)據(jù)邏輯的部分,通常模型對(duì)象負(fù)責(zé)在數(shù)據(jù)庫(kù)中存取數(shù)據(jù)
        • V - View: 視圖,是應(yīng)用程序中處理數(shù)據(jù)顯示的部分,通常視圖是依據(jù)模型數(shù)據(jù)創(chuàng)建的。
        • C - Controller: 控制器, 是應(yīng)用程序中處理用戶(hù)交互的部分,通常控制器負(fù)責(zé)從視圖讀取數(shù)據(jù),控制用戶(hù)輸入,并向模型發(fā)送數(shù)據(jù)。

        圖示

        流程

        • View 接受用戶(hù)交互請(qǐng)求
        • View 將請(qǐng)求轉(zhuǎn)交給Controller處理
        • Controller 操作Model進(jìn)行數(shù)據(jù)更新保存
        • 數(shù)據(jù)更新保存之后,Model會(huì)通知View更新
        • View 更新變化數(shù)據(jù)使用戶(hù)得到反饋

        「MVVM」

        • M - Model,Model 代表數(shù)據(jù)模型,也可以在 Model 中定義數(shù)據(jù)修改和操作的業(yè)務(wù)邏輯
        • V - View,View 代表 UI 組件,它負(fù)責(zé)將數(shù)據(jù)模型轉(zhuǎn)化為 UI 展現(xiàn)出來(lái)
        • VM - ViewModel,ViewModel 監(jiān)聽(tīng)模型數(shù)據(jù)的改變和控制視圖行為、處理用戶(hù)交互,簡(jiǎn)單理解就是一個(gè)同步 View 和 Model 的對(duì)象,連接 Model 和 View

        圖示

        流程

        • View 接收用戶(hù)交互請(qǐng)求
        • View 將請(qǐng)求轉(zhuǎn)交給ViewModel
        • ViewModel 操作Model數(shù)據(jù)更新
        • Model 更新完數(shù)據(jù),通知ViewModel數(shù)據(jù)發(fā)生變化
        • ViewModel 更新View數(shù)據(jù)

        「兩者的區(qū)別」

        • ViewModel 替換了Controller在UI層之下
        • ViewModel 向View暴露了它所需要的數(shù)據(jù)和指令
        • ViewModel 接收來(lái)自Model的數(shù)據(jù)

        概括起來(lái)就是,MVVM由MVC發(fā)展而來(lái),通過(guò)在Model之上而在View之下增加一個(gè)非視覺(jué)的組件將來(lái)自Model的數(shù)據(jù)映射到View中。

        1. Vue中的組件data為什么必須是函數(shù)??

        因?yàn)榻M件是可以復(fù)用的,js里對(duì)象是引用關(guān)系,如果組件data是一個(gè)對(duì)象,那么子組件中的data屬性值會(huì)互相污染,產(chǎn)生不必要的麻煩。所以一個(gè)組件中的data必須是一個(gè)函數(shù),因此每個(gè)實(shí)例可以維護(hù)一份被返回對(duì)象獨(dú)立的拷貝。也因?yàn)?code style="margin-right: 2px;margin-left: 2px;padding: 2px 4px;max-width: 100%;word-wrap: break-word;font-size: 14px;border-radius: 4px;background-color: rgba(27, 31, 35, 0.047);font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;word-break: break-all;color: rgb(239, 112, 96);box-sizing: border-box !important;">new Vue的實(shí)例是不會(huì)被復(fù)用,所以不存在以上問(wèn)題。官方文檔講的很詳細(xì),想要深入了解可以看下文檔中的解釋。

        vue官方文檔

        其他

        1. 前端的異常處理有做過(guò)嘛??做過(guò)哪些?

        遇到這個(gè)問(wèn)題我是蒙的,說(shuō)實(shí)話真本地沒(méi)想過(guò)面實(shí)習(xí)會(huì)問(wèn)到我異常處理問(wèn)題。我當(dāng)時(shí)只講了

        • js中的編碼錯(cuò)誤異常
        • http請(qǐng)求異常
        • Promise異常的處理

        其實(shí)還有很多種,我連window.error來(lái)捕獲運(yùn)行錯(cuò)誤都沒(méi)講

        如何優(yōu)雅處理前端異常?

        1. cookie、SessionStroage、LocalStroage這三者的區(qū)別。

        回答這個(gè)問(wèn)題的時(shí)候我沒(méi)答好,講到最后自己都沒(méi)聽(tīng)明白,之間自己還做過(guò)筆記(可見(jiàn)復(fù)習(xí)的重要性,做過(guò)的筆記一定要多看,不然也就沒(méi)有意義了)

        • 存儲(chǔ)大小

        Cookie4K, Stroage5M

        • 存儲(chǔ)有效期

        Cookie有有效期的限制,而Storage沒(méi)有,sessionStorage只在窗口關(guān)閉會(huì)消失 LocalStorage始終有效即使瀏覽器關(guān)閉也有,是存儲(chǔ)在硬盤(pán)中的。存儲(chǔ)位置:C:\Users\你的計(jì)算機(jī)名\AppData\Local\Google\Chrome\User Data\Default\Local Storage\leveldb

        • 作用域不同

        sessionStorage不在不同的瀏覽器窗口共享,即使是同一個(gè)頁(yè)面,LocalStorage在所有同源窗口中都是共享的,cookie也是在所以同源窗口共享。

        Cookie、LocalStorage 與 SessionStorage的區(qū)別在哪里?

        1. 對(duì)于http請(qǐng)求有了解過(guò)嘛?常見(jiàn)的狀態(tài)碼都有那些?405是什么?

        HTTP網(wǎng)絡(luò)狀態(tài)碼(STATUS) 根據(jù)狀態(tài)碼能夠清楚的反映出當(dāng)前交互的結(jié)果及原因

        • 200 OK 成功(最理想的狀態(tài))
        • 301 Moved Permanently 永久轉(zhuǎn)移(永久重定向)
        • 302 Move temporarily 臨時(shí)轉(zhuǎn)移
        • 304 Not Modified 設(shè)置緩存
        • 400 Bad Request 請(qǐng)求參數(shù)錯(cuò)誤
        • 401 Unauthorized 無(wú)權(quán)限訪問(wèn)
        • 404 Not Found 找不到資源(最不理想的狀態(tài))
        • 405 Method Not Allowed 請(qǐng)求行中指定的請(qǐng)求方法不能被用于請(qǐng)求相應(yīng)的資源,但是該響應(yīng)必須返回一個(gè)Allow頭信息來(lái)表示出當(dāng)前資源能夠接受請(qǐng)求方法的列表。
        • 500 Internal Server Error 未知的服務(wù)器錯(cuò)誤
        • 503 Service Unavailable 服務(wù)器超負(fù)荷

        2xx狀態(tài)碼一般是前端人員的鍋,5xx一般是后臺(tái)人員的鍋,學(xué)會(huì)看問(wèn)題出在哪里很重要,對(duì)以后工作中的甩鍋有很大幫助。

        1. 瀏覽器緩存知道嗎?

        瀏覽器緩存也就是HTTP緩存機(jī)制,其機(jī)制是根據(jù)HTTP報(bào)文的緩存標(biāo)識(shí)進(jìn)行的,緩存分為兩種:

        • 強(qiáng)制緩存
        • 協(xié)商緩存

        「強(qiáng)制緩存」

        當(dāng)瀏覽器向服務(wù)器發(fā)送請(qǐng)求的時(shí)候,服務(wù)器會(huì)將緩存規(guī)則放入HTTP響應(yīng)的報(bào)文的HTTP頭中和請(qǐng)求結(jié)果一起返回給瀏覽器,控制強(qiáng)制緩存的字段分別是Expires和Cache-Control,其中Cache-Conctrol的優(yōu)先級(jí)比Expires高。

        「協(xié)商緩存」

        協(xié)商緩存就是強(qiáng)制緩存失效后,瀏覽器攜帶緩存標(biāo)識(shí)向服務(wù)器發(fā)起請(qǐng)求,由服務(wù)器根據(jù)緩存標(biāo)識(shí)決定是否使用緩存的過(guò)程

        強(qiáng)制緩存優(yōu)先于協(xié)商緩存進(jìn)行,若強(qiáng)制緩存生效則直接使用緩存,若不生效則進(jìn)行協(xié)商緩存,協(xié)商緩存由服務(wù)器決定是否使用緩存,若協(xié)商緩存失效,那么代表該請(qǐng)求的緩存失效,重新獲取請(qǐng)求結(jié)果,再存入瀏覽器緩存中;生效則返回304,繼續(xù)使用緩存

        瀏覽器緩存機(jī)制

        1. 原生Ajax和axios的區(qū)別,Ajax怎么發(fā)送http請(qǐng)求的?

        原生Ajax是根據(jù) XMLHttpRequest發(fā)HTTP請(qǐng)求,而axios是根據(jù)Ajax進(jìn)行封裝的插件,其內(nèi)部利用Promise實(shí)現(xiàn),很好的解決的異步請(qǐng)求回調(diào)地獄的問(wèn)題。

        后者的問(wèn)題其實(shí)就是問(wèn)Ajax發(fā)送請(qǐng)求的五個(gè)步驟,這個(gè)過(guò)于基礎(chǔ)就不講了。

        1. get請(qǐng)求和post請(qǐng)求有什么區(qū)別??

        「GET」

        • 一般用于獲取數(shù)據(jù)
        • 基于URL地址傳參,所以有個(gè)長(zhǎng)度限制(一般在8KB左右),如果超過(guò)就會(huì)被截掉
        • 因?yàn)镚ET請(qǐng)求基于問(wèn)號(hào)傳參容易被劫持,所以相對(duì)不安全。
        • 會(huì)產(chǎn)生不可控制的緩存,POST不會(huì)

        「POST」

        • 一般用于新增數(shù)據(jù)
        • 基于請(qǐng)求傳參,理論上沒(méi)有任何限制(真實(shí)項(xiàng)目中會(huì)自己做大小限制,防止上傳過(guò)在信息導(dǎo)致請(qǐng)求遲遲完不成)
        • PSOT請(qǐng)求基于請(qǐng)求主體傳參,相對(duì)來(lái)說(shuō)不好被劫持,比較安全
        1. http和https有什么區(qū)別??

        這個(gè)問(wèn)題要回答起來(lái)能回答半個(gè)小時(shí),每個(gè)人回答的方向不一樣。

        我的回答是:HTTP為超文本傳輸協(xié)議,HTTPS為安全超文本傳輸協(xié)議,后者是前者的升級(jí),相對(duì)比較安全,通過(guò)數(shù)據(jù)加密傳輸?shù)姆绞剑踩禂?shù)比較高,HTTPS也會(huì)作為網(wǎng)站的搜索權(quán)重指標(biāo),所以HTTPS的網(wǎng)站在排名中也更有優(yōu)勢(shì)。

        1. 后端能刪除前端設(shè)置的cookie嗎?

        我回答是不可以的,我也不知道是不是對(duì)的,百度了一圈也沒(méi)有答案。。。有知道的大佬可以在評(píng)論區(qū)回答下。

        1. 常見(jiàn)布局有幾種方式?
        • 彈性布局(rem/em)
        • 柵格化布局
        • 百分比布局
        • 浮動(dòng)布局
        • ...

        網(wǎng)上有很多種,可以自己去搜,這里就不多講了。

        1. rem和em有區(qū)別嘛? 1em等于多少像素

        rem和em單位一樣,都是一個(gè)相對(duì)單位,不同的是em是相對(duì)于元素的父元素的font-size進(jìn)行計(jì)算,rem是相對(duì)于 根元素html的font-size進(jìn)行計(jì)算。

        1em相當(dāng)于當(dāng)前元素父元素的font-size

        舉個(gè)栗子

        <style>
        .box {
        font-size: 18px;
        }
        .box .children {
        width: 2rem; // 相當(dāng)于2 * 18 = 36px
        }
        </style>
        <div class="box">
        <span class="children">里面</span>
        </div>
        1. git用過(guò)吧?常見(jiàn)的命令有哪些?如果讓你來(lái)負(fù)責(zé)一個(gè)項(xiàng)目你怎么讓管理你的倉(cāng)庫(kù)?

        「常用命令」

        # 創(chuàng)建版本庫(kù):
        - git clone
        - git init

        # 查看配置
        git config -l // 查看全部
        git conig --global -l // 查看倉(cāng)庫(kù)中人員名和郵箱
        git config user.name xxx // 設(shè)置
        git config user.email xxx // 設(shè)置

        # 修改和提交
        git status
        git diff // 查看變更內(nèi)容
        git add .
        git mv
        git rm
        git commmit -m

        # 查看提交歷史
        git log
        git log <file> // 查看該文件每次提交的記錄
        分支操作
        git branch // 查看當(dāng)前分支
        git checkout -b // 添加一個(gè)新分支并切換過(guò)去

        # 遠(yuǎn)程操作
        git remote -v // 查看遠(yuǎn)程分支
        git remote add <remoteURL> // 添加遠(yuǎn)程分支

        最后說(shuō)了下我管理庫(kù)的方式:首先我會(huì)在gitHub上創(chuàng)建一個(gè)倉(cāng)庫(kù),為當(dāng)前項(xiàng)目中每位開(kāi)發(fā)人員取一個(gè)對(duì)應(yīng)的分支,讓其在對(duì)應(yīng)的分支開(kāi)發(fā)。然后clone我這個(gè)倉(cāng)庫(kù)。當(dāng)隊(duì)員需要向gitHub上傳代碼時(shí),需要先將自己的代碼同步到自己遠(yuǎn)程倉(cāng)庫(kù)對(duì)應(yīng)的分支中,再切換到要本地的主分支將自己本地開(kāi)發(fā)的分支代碼進(jìn)行合并,如果有沖突先在本地解決,最后再同步到遠(yuǎn)程的主分支 復(fù)制代碼`

        場(chǎng)景題

        1. 如果有一張很大的圖片放到線上, 顯示要很久, 你會(huì)怎么優(yōu)化?

        我當(dāng)時(shí)只回答了這兩點(diǎn),其他的我也不知道。。。

        • 用延遲加載技術(shù)
        • 優(yōu)化圖片的大小
        1. 如果讓你對(duì)element-ui中的表單進(jìn)行二次動(dòng)態(tài)封裝,你會(huì)怎么做?

        對(duì)于這種題我回答的賊差,不敢誤人子弟,這里分享一個(gè)錯(cuò)的文章 組件化頁(yè)面:封裝el-form

        1. 項(xiàng)目中遇到過(guò)那些復(fù)雜的業(yè)務(wù)場(chǎng)景,怎么解決的?

        這個(gè)就看個(gè)人回答了,不同的項(xiàng)目遇到的問(wèn)題也不一樣。

        1. 封裝組件你有什么好的想法

        對(duì)于這個(gè)問(wèn)題我是蒙的,可能是因?yàn)槲液?jiǎn)歷上寫(xiě)了很好的組件化開(kāi)發(fā)思想吧(說(shuō)實(shí)話當(dāng)時(shí)的回答有點(diǎn)打臉),我是從代碼方面回答的。

        通過(guò)vue.extend,vue.component注冊(cè)這種方式找到項(xiàng)目通用的模塊,指定通用部分代碼,props傳值,并且通過(guò)slot來(lái)自由定制內(nèi)容,然后創(chuàng)建vue文件。

        對(duì)于這種問(wèn)題網(wǎng)上也沒(méi)有好的回答,歡迎大佬在下方評(píng)論交流。

        1. 在眾多表單中都需要用到點(diǎn)擊查詢(xún)按鈕根據(jù)參數(shù)的不同來(lái)彈出一個(gè)查詢(xún)框,里面有個(gè)小列表,查到數(shù)據(jù)后點(diǎn)一行再回顯, 你怎么封裝這個(gè)組件? (就是多個(gè)頁(yè)面中需要查詢(xún)顯示數(shù)據(jù)列表)

        我說(shuō)下我的大概思路,首先分析需求:需要什么?

        • 一個(gè)form表單,一個(gè)table,分頁(yè)
        • n個(gè)條件框,查詢(xún)按鈕、重置按鈕、其他功能按鈕。。

        需要實(shí)現(xiàn)的功能

        • 查詢(xún)
        • 點(diǎn)擊分頁(yè)后查詢(xún)數(shù)據(jù)
        • 重置
        • 選中一行后拿到數(shù)據(jù)
        • 其他功能的觸發(fā)

        最后確定那些數(shù)據(jù)是需要外部傳入就ok了。

        1. 你覺(jué)得你這個(gè)防小米商城項(xiàng)目中最大的亮點(diǎn)是什么??

        在訂單確認(rèn)頁(yè)面,使用自行封裝dialog通過(guò)slot自由定制內(nèi)容的方式來(lái)實(shí)現(xiàn),新增、編輯、刪除收貨地址的對(duì)應(yīng)元素,用戶(hù)點(diǎn)擊的不同實(shí)現(xiàn)對(duì)應(yīng)功能。

        源自:https://juejin.cn/post/6844904199428243470

        聲明:文章著作權(quán)歸作者所有,如有侵權(quán),請(qǐng)聯(lián)系小編刪除。

        感謝 · 轉(zhuǎn)發(fā)歡迎大家留言


        瀏覽 18
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            天天看人体 | 青久久 | 男女日逼视频网站 | 青青综合网 | 国产乱人伦偷精品视频不卡 | 美女被人c| 成年视频在线 | 久久九九精品久久 | 少妇放荡的呻吟干柴烈火图片 | 老女人高潮视频 |