Ⅰ 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節點,裡面有(標簽名、子節點、文本等等)
Ⅱ 面試題 augular和vue,react的區別
augular和vue,react的區別如下:
1、在MVP里,Presenter完全把Model和View進行了分離,主要的程序邏輯在Presenter里實現。而且,Presenter與具體的 View是沒有直接關聯的,而是通過定義好的介面進行交互,從而使得在變更View時候可以保持Presenter的不變,即重用!
2、不僅如此,我們還可以編寫測試用的View,模擬用戶的各種操作,從而實現對Presenter的測試--而不需要使用自動化的測試工具。 我們甚至可以在Model和View都沒有完成時候,就可以通過編寫Mock Object(即實現了Model和View的介面,但沒有具體的內容的)來測試Presenter的邏輯。
3、在MVP里,應用程序的邏輯主要在Presenter來實現,其中的View是很薄的一層。因此就有人提出了Presenter First的設計模式,就是根據User Story來首先設計和開發Presenter。在這個過程中,View是很簡單的,能夠把信息顯示清楚就可以了。在後面,根據需要再隨便更改View, 而對Presenter沒有任何的影響了。 如果要實現的UI比較復雜,而且相關的顯示邏輯還跟Model有關系,就可以在View和Presenter之間放置一個Adapter。由這個 Adapter來訪問Model和View,避免兩者之間的關聯。而同時,因為Adapter實現了View的介面,從而可以保證與Presenter之 間介面的不變。這樣就可以保證View和Presenter之間介面的簡潔,又不失去UI的靈活性。 在MVP模式里,View只應該有簡單的Set/Get的方法,用戶輸入和設置界面顯示的內容,除此就不應該有更多的內容,絕不容許直接訪問 Model--這就是與MVC很大的不同之處。
4、目前我們提倡的MVC已經與MVP沒有太大區別,View依然是很薄的一層,不進行與Model的邏輯處理,只進行簡單的頁面顯示的邏輯處理。
Ⅲ Hirevue,e成科技的AI面試產品怎麼樣,還有哪家也做
現在有相當多的AI技術公司在入手開發這方面的產品與服務,可以提升工作效率,智能決策,增強體驗。除了上面說的這兩家之外,我還知道 近嶼/智能 也是做這個的,他們的A I面試產品是叫AI,得 賢,招 聘官,之前也有公司投入使用了,招聘效果還是收到肯定的。招聘人員可以發送面試 邀請,讓候選 人在一個指定的時間段來完成AI視頻 面試+線上筆試。
Ⅳ vue面試題,兄弟組件之間傳值有多少種方法
可以通過頁面傳值也可以通過鏈接地址後的參數傳值
Ⅳ 除了Hirevue,還有哪個AI視頻面試軟體
面試,不同於以往的視頻面試形式,即候選人和面試者通過視頻埠進行人與人的交流,而是改為人機交流,基於智能演算法,對面試結果直接進行分析、反饋,減少人工的參與度。這是與傳統視頻面試中的不同之處。
很多企業如聯合利華、歐萊雅,高盛等在招聘流程中都設置了AI面試這一環節。AI視頻面試形式在國外已被延用很久。根據Office Team的調查顯示,在過去幾年使用視頻面試的公司從14%一路陡增。
市面上出現的AI面試軟體中,一直位於話題C位的是HireVue系統。總部位於美國猶他州,一直致力於網上視頻面試。網上關於它的介紹,報道也很多。這一成熟的系統,工作原理就是藉助AI來分析應聘者在視頻面試中的措辭、語調和面部活動。近期,也有許多國內企業將其投入招聘流程中。
其實,國內早已有成熟的AI面試系統,上海近嶼智能研究的AI得賢招聘官(AI RecruiTas)也已經被投入使用。截至2019年6月底,AI得賢招聘官已經幫助近嶼智能獲得了三輪融資,投資方依次為:個人天使投資、科大訊飛和金沙江創投。
國內這款「AI+HR型」產品在運行流程和信息處理方面都可以和國外的Hirevue軟體保持在同樣的標准。AI得賢招聘官採用一套承載在微信小程序或者網頁端的視頻面試系統,按照企業設置好的多元化面試問題(可模擬人才評估中心)實施面試流程,最後,演算法進行分析,系統將每一位面試者的報告及視頻呈現到管理後台。
聽起來充滿 「科技感」的系統,主要的助力是自主研發的獨創語義識別演算法。基於Talent DNA勝任力模型及工業心理學在信效度上的調整,利用自然語言處理技術,計算機視覺和聽覺技術進行多維度分析。
在運營成本方面,AI得賢招聘官也具有很高的性價比,一直致力於提供高水平的服務。企業除了可以使用通用類模型,也可以量身定製所需的個性化服務模型,體驗到產品的多元化服務。綜合考量,對於企業來說,人力成本和技術成本都可以維持在最低消耗水平。所以,這也是越來越多的企業陸續選擇AI得賢招聘官的原因。
使用實例:
據了解,科勒在2018年的秋季校招中,第一次嘗試使用AI得賢招聘官面試系統助力校招項目,就節省了HR團隊200多小時/人的工作量。近期,在招商局人才選拔戰中,也率先引用AI得賢招聘官這一套AI面試系統,力爭在校招路上持續領跑。
Ⅵ 哪裡有vue相關的面試題視頻講解課
網上比較少,我只知道三人行慕課有一套專門講vue面試常見問題的,其他地方沒看到過。
Ⅶ 前端面試,被問到vue的組件是怎麼寫,我怎麼回答
vue框架中狀態管理。在main.js引入store,注入。新建了一個目錄store,….. export 。場景有:單頁應用中,組件之間的狀態。音樂播放、登錄狀態、加入購物車
Ⅷ 有誰看過三人行慕課上面的vue面試題!感覺怎麼樣
比較推薦吧 看看比不看好
Ⅸ 前端面試被問到,vue實現數據雙向綁定,原理是啥
其原理大致是這樣:
在數據渲染時使用prop渲染數據
將prop綁定到子組件自身的數據上,修改版數權據時修改自身數據來替代prop
watch子組件自身數據的改變,觸發事件通知父組件更改綁定到prop的數據
這樣做的好處是:父組件數據改變時,不會修改存儲prop的子組件數據,只是以子組件數據為媒介,完成對prop的雙向修改。
Ⅹ Vue.js開發WebApp項目被面試官問到負責哪些模塊該怎麼回答本人小白還沒做過項目
首先如果你沒有vue開發的經驗,直接說清楚
如果直接有過一些練手的,你可以試著把東西沉澱,增加進自己的理解