面汇
title: 面試題匯總
文章目錄
- title: 面試題匯總
- HTML+CSS面試題
- 001.Flex布局
- 002.HTML5+CSS3新特性
- 003.盒子模型
- 004.如何讓一個div水平居中?
- 005.如何讓一個div水平垂直居中?
- 006.如何清除浮動?
- 007.css3實現(xiàn)三欄布局,左右固定,中間自適應?
- 008.CSS中 link 和@import 的區(qū)別是什么?
- 009.transition和animation的區(qū)別?
- 010.CSS優(yōu)先級?
- 011.使元素消失的方法?
- 012.為什么css放在頂部而js寫在后面?
- 013.理解BFC嗎?
- 014.Less的使用
- Vue面試題
- 001.vue中的MVVM模式
- 002.v-show與v-if的區(qū)別
- 003.指令keep-alive
- 004.路由嵌套
- 005.指令v-el的使用
- 006.vue中使用事件名
- 007.vue.js是什么
- 008.route 和 router 的區(qū)別是什么?
- 009.mvvm和mvc區(qū)別?它和其它框架(jquery)的區(qū)別是什么?哪些場景適合?
- 010.vue的優(yōu)點是什么?
- 011.vuex面試相關
- 012.如何讓CSS只在當前組件中起作用
- 013.響應式系統(tǒng)簡述:
- 014.談談你對虛擬DOM的理解?
- 015.Vue 中 key 值的作用?
- 016.vue 中怎么重置 data?
- 017.組件中寫 name 選項有什么作用?
- 018.為什么需要 nextTick?
- 019.vue 首屏加載優(yōu)化方案
- 020.Vue3.0 有沒有過了解?
- 021.說一下Vue的雙向綁定數(shù)據(jù)的原理
- 022.NextTick 是做什么的?
- 023.Vue 組件 data 為什么必須是函數(shù)?
- 024.計算屬性computed 和事件 methods 有什么區(qū)別
- 025.vue 等單頁面應用的優(yōu)缺點:
- 026.vue生命周期
- 027.Vue 導航守衛(wèi)(路由的生命周期)
- 028.常見的跨域解決方案
- 029.什么是webpack及其優(yōu)點
- 030.Vue中項目如何優(yōu)化?
- 031.Vue遞歸組件的使用
- 032.Vue的mode中hash與history的區(qū)別
- 033.vue中常用的命令
- 034.Vue 的父組件和子組件生命周期鉤子函數(shù)執(zhí)行順序?
- 035.在哪個生命周期內(nèi)調(diào)用異步請求?
- 036.組件中 data 為什么是一個函數(shù)?
- 037.Vue組件間通信有哪幾種方式?
- 038.Proxy 與 Object.defineProperty 優(yōu)劣對比
- 039.虛擬 DOM 的優(yōu)缺點?
- 040.虛擬 DOM 實現(xiàn)原理?
- 041.vue插槽的使用?
- 042.active-class是哪個組件的屬性?
- 043.怎么定義vue-router的動態(tài)路由以及如何獲取傳過來的動態(tài)參數(shù)?
- 044.vue-loader是什么?使用它的用途有哪些?
- 045.為什么避免 v-if 和 v-for 用在一起?
- 046.vue中Class 與 Style 如何動態(tài)綁定?
- 047.怎樣理解 Vue 的單向數(shù)據(jù)流?
- 048.直接給一個數(shù)組項賦值,Vue 能檢測到變化嗎?
- 049.vue.js的核心是什么?
- 050.vue的常用修飾符?
- 051.VUE和REACT有什么區(qū)別?
- 052.請說出vue.cli項目中src目錄每個文件夾和文件的用法?
- 053.單頁面應用和多頁面應用區(qū)別及優(yōu)缺點?
- 054.vue-router單頁面應用的切換?
- 055.為什么不能用a標簽?
- 056.Vue雙向數(shù)據(jù)綁定實現(xiàn)原理?
- 057.vue兩個核心點是什么?
- 058.Vue不能檢測數(shù)組或對象變動問題的解決方法有哪些?
- HTTP面試題
- 001.網(wǎng)絡七層模型
- 002.三次握手,四次揮手
- 003.從輸入一個網(wǎng)址到看到一張網(wǎng)頁,經(jīng)歷了什么?
- 004.HTTP的請求與響應
- 005.HTTP狀態(tài)碼
- 006.HTTP中的請求方法(8種)
- 007.HTTP優(yōu)化策略(博客)
- 008.HTTP中的頭(重點)
- 009.HTTP中的代理
- 010.http和https有什么不同?
- 011.localStorage, sessionStorage, cookie, session有什么區(qū)別?
- 012.從輸入一個網(wǎng)址到瀏覽器顯示頁面的全過程?
- 013.簡單說一下三次握手與四次揮手,為什么一個三次,一個四次?
- 014.說一下web緩存?
- 015.常見的web安全及防護原理?
- JS面試題
- JS中的方法(重中之重)
- JS中的繼承
- 001.Promise原理(\*\*)?
- 002.then可以鏈式調(diào)用,多個then時,如何走到下一個then的失敗回調(diào)?
- 003.then可以鏈式調(diào)用,多個then時,如何終止下一個then的調(diào)用?
- 004.js的異步解決方案有哪些(\*\*)?
- 005.把一個偽數(shù)組變成真實的數(shù)組?
- 006.使用過ES6中哪些新語法(\*\* 熟練使用ES6語法)?
- 007.實現(xiàn)深拷貝(重點)淺拷貝?
- 008.求數(shù)組的交集、并集、差集?
- 009.ES6中的模塊化?
- 010.模塊化的發(fā)展流程?
- 011.JS中的閉包
- 012.瀏覽器事件環(huán) (宏、微任務)
- 013.ES6新增了哪些內(nèi)容,簡單說一下
- 014.對JS原型和原型鏈的理解?
- 015.對JS作用域和作用域鏈的理解?
- 016.JS中new究竟做了什么?
- 017.JS中this到底指向誰?怎么改變this指向?
- 018.TS主要是干什么的?
- 項目相關
- 001.適配?
- 002.首頁白屏怎么解決?
- 003.封裝axios?
- 004.管理狀態(tài)(數(shù)據(jù))
- 005.來回切換tabbar時,不能重新請求數(shù)據(jù)
- 006.來回切換tabbar時,需要加上動畫
- 007.把數(shù)據(jù)緩存到內(nèi)存中,避免再次去請求接口
- 008.有的頁面需要緩存,有的不需要怎么辦?
- 009.在一個頁面中滑倒中間位置,如果切換頁面,再切換回去,應該還是處于中間位置怎么辦?
- 010.對于一個app來說,有的頁面需要登錄后才能看到,有的則不需要怎么辦?
- 011.怎么驗證登錄?
- 非技術性問題
- 請你做一下自我介紹?
- 你覺得你最大的優(yōu)點是什么?
- 說說你最大的缺點?
- 你對加班的看法?
- 如何安排自己的時間?會不會排斥加班?
- 在五年的時間內(nèi),你的職業(yè)規(guī)劃?
- 你的朋友是如何評價你的?
- 你還有什么要問我的嗎?
- 你對薪資的要求?
- 為什么選擇我們這家公司?
- 談談你對跳槽的看法?
- 談談如何適應新的工作環(huán)境?
- 你來我們公司做前端可以嗎?
- 假設你在某單位工作,成績比較突出,得到領導的肯定。但同時你發(fā)現(xiàn)同事們越來越孤立你,你怎么看這個問題?你準備怎么辦?
- 請說說你對我們公司了解多少?
- 請說出你選擇這份工作的目的?
- 你能為我們公司帶來什么呢?
- 怎樣看待學歷和能力?
- 你的業(yè)余愛好是什么?
- 作為被面試者請你給我打一下分?
- 你怎么理解PHP這個職位?
- 喜歡這份工作的哪一點?
- 對工作的期望與目標何在?
- 就你申請的這個職位,你認為你還欠缺什么?
- 你通常如何處理別人的批評?
- 怎樣對待自己的失敗?
- 什么會讓你有成就感?
- 眼下你生活中最重要的是什么?
- 你為什么愿意到我們公司來工作?
- 你和別人發(fā)生過爭執(zhí)嗎?你是怎樣解決的?
- 你做過的哪件事最令自己感到驕傲?
- 想過創(chuàng)業(yè)嗎?
- 對這項工作,你有哪些可預見的困難?
- 如果我錄用你,你將怎樣開展工作?
- 你希望與什么樣的上級共事?
- 與上級意見不一致時,你將怎么辦?
- 您在前一家公司的離職原因是什么?
- 你工作經(jīng)驗欠缺,如何能勝任這項工作?
- 如果你在這次面試中沒有被錄用,你怎么打算?
- 談談你做過的項目?
- 談談你過去的工作中,最令你受挫的事情?
- 你覺得原來的工作對你從事PHP開發(fā)有幫助嗎?
- 工作中你難以和同事、上司相處,你該怎么辦?
- 如果通過這次面試我們單位錄用了你,但工作一段時間卻發(fā)現(xiàn)你根本不適合這個職位,你怎么辦?
- 在完成某項工作時,你認為領導要求的方式不是最好的,自己還有更好的方法,你應該怎么做?
- 如果你的工作出現(xiàn)失誤,給本公司造成經(jīng)濟損失,你認為該怎么辦?
- 如果你做的一項工作受到上級領導的表揚,但你主管領導卻說是他做的,你該怎樣?
- 面試中注意的問題
- 怎么向面試官提問題?
- 雜東西
- 這個項目你遇到了哪個比較棘手的問題? 至少兩個
- 用什么客服?
- cube-ui怎么用?
- 跨域問題?
- MySQL與MongoDB區(qū)別?
- mongoose使用步驟
- JWT是什么?
- redux源碼?
- React生命周期
- webpack
- 談談你對webpack的看法:
- webpack的基本功能和工作原理?
- webpack構建過程:
- webpack打包原理
- 什么是entry,output?
- 什么是loader,plugins?
- 什么是bundle,chunk,module?
- npm打包時需要注意哪些?如何利用webpack來更好的構建?
- 有哪些常見的Loader?他們是解決什么問題的?
- 流程:
- loader:
- plugins
- 自己整理的面試題
- 一. js中的面試點
- 01. 閉包
- 02. JavaScript的作?域鏈理解
- 03. 對原型鏈的理解
- 04. this指向的總結
- 05. call、apply、bind三者的區(qū)別
- 06. new 實現(xiàn)的原理
- 07. 為什么局部變量不能在外部進行訪問
- 08.
- 二. vue相關知識點
- 01. 防抖節(jié)流?
- 02. 封裝axios
- 03. 如何解決首頁白屏問題?
- 04. mongoDB與mySql的區(qū)別?
- 05. 如何在前端配置代理,解決跨域問題?
- 06. keep-alive緩存組件
- 07. 按需加載與預先加載
- 08. 如何解決異步組件之間切換出現(xiàn)的閃動問題
- 09. VUE有點
- 三. react相關知識點
- 1. React中的key的作用
- 2. jsx語法注意事項
- 3. react的核心思想
- 4. react-router-dom
- 5. redux
- 四 分支的操作
- 1. git沖突了怎么辦
- 2. 分支的大量使用
HTML+CSS面試題
001.Flex布局
Flex(Flexible Box)布局 稱為 “彈性布局”,可以為網(wǎng)頁的布局提供最大的靈活性,取代了往常的 浮動(float) 布局,并且任何一個容器都可以設置 Flex 布局。
?注:設置 Flex 布局后,子元素的 Float 布局將失效
Flex 布局教程
002.HTML5+CSS3新特性
語義化標簽:header、nav、aside、footer、section
003.盒子模型
CSS 盒子模型
004.如何讓一個div水平居中?
005.如何讓一個div水平垂直居中?
006.如何清除浮動?
clear:both
007.css3實現(xiàn)三欄布局,左右固定,中間自適應?
圣杯布局/雙飛翼布局
<style>* {margin: 0;padding: 0;}.middle,.left,.right {position: relative;float: left;min-height: 130px;}.container {padding: 0 220px 0 200px;overflow: hidden;}.left {margin-left: -100%;left: -200px;width: 200px;background: red;}.right {margin-left: -220px;right: -220px;width: 220px;background: green;}.middle {width: 100%;background: blue;word-break: break-all;}</style> </head> <body><div class='container'><div class='middle'></div><div class='left'></div><div class='right'></div></div> </body>008.CSS中 link 和@import 的區(qū)別是什么?
- link屬于HTML標簽,而@import是CSS提供的頁面被加載的時,link會同時被加載,而@import引用的CSS會等到頁面被加載完再加載
- import只在IE5以上才能識別,而link是HTML標簽,無兼容問題
- link方式的樣式的權重 高于@import的權重.
009.transition和animation的區(qū)別?
Animation和transition大部分屬性是相同的,他們都是隨時間改變元素的屬性值,他們的主要區(qū)別是transition需要觸發(fā)一個事件才能改變屬性,
而animation不需要觸發(fā)任何事件的情況下才會隨時間改變屬性值,并且transition為2幀,從from … to,而animation可以一幀一幀的。
010.CSS優(yōu)先級?
不同級別:總結排序:!important > 行內(nèi)樣式>ID選擇器 > 類選擇器 > 標簽 > 通配符 > 繼承 > 瀏覽器默認屬性1.屬性后面加!import 會覆蓋頁面內(nèi)任何位置定義的元素樣式2.作為style屬性寫在元素內(nèi)的樣式3.id選擇器4.類選擇器5.標簽選擇器6.通配符選擇器(*)7.瀏覽器自定義或繼承 **同一級別:后寫的會覆蓋先寫的**011.使元素消失的方法?
visibility:hidden、display:none、z-index=-1、opacity:0
1.opacity:0,該元素隱藏起來了,但不會改變頁面布局,并且,如果該元素已經(jīng)綁定了一些事件,如click事件也能觸發(fā)
2.visibility:hidden,該元素隱藏起來了,但不會改變頁面布局,但是不會觸發(fā)該元素已經(jīng)綁定的事件
3.display:node, 把元素隱藏起來,并且會改變頁面布局,可以理解成在頁面中把該元素刪掉
012.為什么css放在頂部而js寫在后面?
1.瀏覽器預先加載css后,可以不必等待HTML加載完畢就可以渲染頁面了
2.其實HTML渲染并不會等到完全加載完在渲染頁面,而是一邊解析DOM一邊渲染。
3.js寫在尾部,主要是因為js主要扮演事件處理的功能,一方面很多操作是在頁面渲染后才執(zhí)行的。另一方面可以節(jié)省加載時間,使頁面能夠更加的加載,提高用戶的良好體驗
但是隨著JS技術的發(fā)展,JS也開始承擔頁面渲染的工作。比如我們的UI其實可以分被對待,把渲染頁面的js放在前面,時間處理的js放在后面
013.理解BFC嗎?
BFC 即 Block Formatting Contexts (塊級格式化上下文)。
具有 BFC 特性的元素可以看作是隔離了的獨立容器,容器里面的元素不會在布局上影響到外面的元素,并且 BFC 具有普通容器所沒有的一些特性。
通俗一點來講,可以把 BFC 理解為一個封閉的大箱子,箱子內(nèi)部的元素無論如何翻江倒海,都不會影響到外部。
理解CSS中的BFC
014.Less的使用
Less 是一門 CSS 預處理語言,它擴展了 CSS 語言,增加了變量、Mixin、函數(shù)等特性和嵌套寫法,使 CSS 更易維護和擴展。
Vue面試題
001.vue中的MVVM模式
即Model-View-ViewModel。
Vue是以數(shù)據(jù)為驅動的,Vue自身將DOM和數(shù)據(jù)進行綁定,一旦創(chuàng)建綁定,DOM和數(shù)據(jù)將保持同步,每當數(shù)據(jù)發(fā)生變化,DOM會跟著變化
ViewModel是Vue的核心,它是Vue的一個實例。Vue實例時作用域某個HTML元素上的,這個HTML元素可以是body,也可以是某個id所指代的元素。
DOM Listeners和Data Bindings是實現(xiàn)雙向綁定的關鍵。DOM Listeners監(jiān)聽頁面所有View層DOM元素的變化,當發(fā)生變化,Model層的數(shù)據(jù)隨之變化;Data Bindings監(jiān)聽Model層的數(shù)據(jù),當數(shù)據(jù)發(fā)生變化,View層的DOM元素隨之變化。
002.v-show與v-if的區(qū)別
條件渲染指令,與v-if不同的是,無論v-show的值為true或false,元素都會存在于HTML代碼中;而只有當v-if的值為true,元素才會存在于HTML代碼中。v-show指令只是設置了元素CSS的style值
003.指令keep-alive
在vue-router寫著keep-alive,keep-alive的含義:如果把切換出去的組件保留在內(nèi)存中,可以保留它的狀態(tài)或避免重新渲染。為此可以添加一個keep-alive指令
004.路由嵌套
路由嵌套會將其他組件渲染到該組件內(nèi),而不是進行整個頁面跳轉。
router-view本身就是將組件渲染到該位置,
005.指令v-el的使用
有時候我們想就像使用jquery那樣去訪問一個元素,此時就可以使用v-el指令,去給這個元素注冊一個索引,方便通過所屬實例的$el訪問這個元素。
注: HTML不區(qū)分大小寫,所以v-el:someEl將轉換為全小寫??梢杂胿-el:some-el然后設置this.$el.someEl。
示例:
<span v-el:msg>hello</span> <span v-el:other-msg>world</span> this.$els.msg.textContent //-> "hello" this.$els.otherMsg.textContent// -> "world" this.$els.msg//-><span>hello</span>006.vue中使用事件名
在vuejs中,我們經(jīng)常要綁定一些事件,有時候給DOM元素綁定,有時候給組件綁定。綁定事件在HTML中用v-on:click=“event”,可以簡寫為:@click=“event”
007.vue.js是什么
Vue.js(是一套構建用戶界面的 漸進式框架。與其他重量級框架不同的是,Vue 采用自底向上增量開發(fā)的設計。
Vue 的核心庫只關注視圖層,并且非常容易學習,非常容易與其它庫或已有項目整合。
另一方面,Vue 完全有能力驅動采用單文件組件和Vue生態(tài)系統(tǒng)支持的庫開發(fā)的復雜單頁應用。
Vue.js 的目標是通過盡可能簡單的 API 實現(xiàn)響應的數(shù)據(jù)綁定和組合的視圖組件
008.route 和 router 的區(qū)別是什么?
route是“路由信息對象”,包括path,params,hash,query,fullPath,matched,name等路由信息參數(shù)。
router是“路由實例對象”,包括了路由的跳轉方法(push、replace),鉤子函數(shù)等。
009.mvvm和mvc區(qū)別?它和其它框架(jquery)的區(qū)別是什么?哪些場景適合?
mvc和mvvm其實區(qū)別并不大。都是一種設計思想。主要就是mvc中Controller演變成mvvm中的viewModel。mvvm主要解決了mvc中大量的DOM 操作使頁面渲染性能降低,加載速度變慢,影響用戶體驗。
區(qū)別:vue數(shù)據(jù)驅動,通過數(shù)據(jù)來顯示視圖層而不是節(jié)點操作。
場景:數(shù)據(jù)操作比較多的場景,更加便捷
010.vue的優(yōu)點是什么?
低耦合。視圖(View)可以獨立于Model變化和修改,一個ViewModel可以綁定到不同的"View"上,當View變化的時候Model可以不變,當Model變化的時候View也可以不變。
可重用性。你可以把一些視圖邏輯放在一個ViewModel里面,讓很多view重用這段視圖邏輯。
獨立開發(fā)。開發(fā)人員可以專注于業(yè)務邏輯和數(shù)據(jù)的開發(fā)(ViewModel),設計人員可以專注于頁面設計。
可測試。界面素來是比較難于測試的,而現(xiàn)在測試可以針對ViewModel來寫。
011.vuex面試相關
(1)vuex是什么?怎么使用?哪種功能場景使用它?
vue框架中狀態(tài)管理。在main.js引入store,注入。新建一個目錄store,…… export 。場景有:單頁應用中,組件之間的狀態(tài)。音樂播放、登錄狀態(tài)、加入購物車
(2)vuex有哪幾種屬性?
有五種,分別是 State、 Getter、Mutation 、Action、 Module
vuex的State特性
A、Vuex就是一個倉庫,倉庫里面放了很多對象。其中state就是數(shù)據(jù)源存放地,對應于一般Vue對象里面的data
B、state里面存放的數(shù)據(jù)是響應式的,Vue組件從store中讀取數(shù)據(jù),若是store中的數(shù)據(jù)發(fā)生改變,依賴這個數(shù)據(jù)的組件也會發(fā)生更新
C、它通過mapState把全局的 state 和 getters 映射到當前組件的 computed 計算屬性中
vuex的Getter特性
A、getters 可以對State進行計算操作,它就是Store的計算屬性
B、 雖然在組件內(nèi)也可以做計算屬性,但是getters 可以在多組件之間復用
C、 如果一個狀態(tài)只在一個組件內(nèi)使用,是可以不用getters
vuex的Mutation特性
Action 類似于 mutation,不同在于:Action 提交的是 mutation,而不是直接變更狀態(tài);Action 可以包含任意異步操作。
(3)不用Vuex會帶來什么問題?
可維護性會下降,想修改數(shù)據(jù)要維護三個地方;
可讀性會下降,因為一個組件里的數(shù)據(jù),根本就看不出來是從哪來的;
增加耦合,大量的上傳派發(fā),會讓耦合性大大增加,本來Vue用Component就是為了減少耦合,現(xiàn)在這么用,和組件化的初衷相背。
012.如何讓CSS只在當前組件中起作用
將當前組件的<style>修改為<style scoped>
013.響應式系統(tǒng)簡述:
- 任何一個 Vue Component 都有一個與之對應的 Watcher 實例
- Vue 的 data 上的屬性會被添加 getter 和 setter 屬性
- 當 Vue Component render 函數(shù)被執(zhí)行的時候, data 上會被 觸碰(touch), 即被讀, getter 方法會被調(diào)用, 此時 Vue 會去記錄此 Vue component 所依賴的所有 data。(這一過程被稱為依賴收集)
- data 被改動時(主要是用戶操作), 即被寫, setter 方法會被調(diào)用, 此時 Vue 會去通知所有依賴于此 data 的組件去調(diào)用他們的 render 函數(shù)進行更新
014.談談你對虛擬DOM的理解?
首先,我們都知道在前端性能優(yōu)化的一個秘訣就是盡可能少地操作DOM,不僅僅是DOM相對較慢,更因為頻繁變動DOM會造成瀏覽器的回流或者重回,這些都是性能的殺手,因此我們需要這一層抽象,在patch過程中盡可能地一次性將差異更新到DOM中,這樣保證了DOM不會出現(xiàn)性能很差的情況.
其次,現(xiàn)代前端框架的一個基本要求就是無須手動操作DOM,一方面是因為手動操作DOM無法保證程序性能,多人協(xié)作的項目中如果review不嚴格,可能會有開發(fā)者寫出性能較低的代碼,另一方面更重要的是省略手動DOM操作可以大大提高開發(fā)效率.
015.Vue 中 key 值的作用?
當 Vue.js 用 v-for 正在更新已渲染過的元素列表時,它默認用“就地復用”策略。如果數(shù)據(jù)項的順序被改變,Vue 將不會移動 DOM 元素來匹配數(shù)據(jù)項的順序, 而是簡單復用此處每個元素,并且確保它在特定索引下顯示已被渲染過的每個元素。key 的作用主要是為了高效的更新虛擬DOM。
016.vue 中怎么重置 data?
使用Object.assign(),vm.data可以獲取當前狀態(tài)下的data,vm.data可以獲取當前狀態(tài)下的data,vm.data可以獲取當前狀態(tài)下的data,vm.options.data可以獲取到組件初始化狀態(tài)下的data。
Object.assign(this.$data, this.$options.data())
017.組件中寫 name 選項有什么作用?
- 項目使用 keep-alive 時,可搭配組件 name 進行緩存過濾
- DOM 做遞歸組件時需要調(diào)用自身 name
- vue-devtools 調(diào)試工具里顯示的組見名稱是由vue中組件name決定的
018.為什么需要 nextTick?
Vue 是異步修改 DOM 的并且不鼓勵開發(fā)者直接接觸 DOM,但有時候業(yè)務需要必須對數(shù)據(jù)更改–刷新后的 DOM 做相應的處理,這時候就可以使用 Vue.nextTick(callback)這個 api 了。
019.vue 首屏加載優(yōu)化方案
- 把不常改變的庫放到 index.html 中,通過 cdn 引入
- vue 路由的懶加載
- 不生成 map 文件(找到 config/index.js,修改為 productionSourceMap: false)
- vue 組件盡量不要全局引入
- 使用更輕量級的工具庫
- 開啟gzip壓縮
- 首頁單獨做服務端渲染
020.Vue3.0 有沒有過了解?
關于Vue 3.0,大致說了三個點,第一個是關于提出的新API setup()函數(shù),第二個說了對于Typescript的支持,最后說了關于替換Object.defineProperty為 Proxy 的支持。
詳細說了下關于Proxy代替帶來的性能上的提升,因為傳統(tǒng)的原型鏈攔截的方法,無法檢測對象及數(shù)組的一些更新操作,但使用Proxy又帶來了瀏覽器兼容問題。
021.說一下Vue的雙向綁定數(shù)據(jù)的原理
vue 實現(xiàn)數(shù)據(jù)雙向綁定主要是:采用數(shù)據(jù)劫持結合發(fā)布者-訂閱者模式的方式,通過 Object.defineProperty() 來劫持各個屬性的 setter,getter,在數(shù)據(jù)變動時發(fā)布消息給訂閱者,觸發(fā)相應監(jiān)聽回調(diào)
022.NextTick 是做什么的?
$nextTick 是在下次 DOM 更新循環(huán)結束之后執(zhí)行延遲回調(diào),在修改數(shù)據(jù)之后使用 $nextTick,則可以在回調(diào)中獲取更新后的 DOM
023.Vue 組件 data 為什么必須是函數(shù)?
因為js本身的特性帶來的,如果 data 是一個對象,那么由于對象本身屬于引用類型,當我們修改其中的一個屬性時,會影響到所有Vue實例的數(shù)據(jù)。如果將 data 作為一個函數(shù)返回一個對象,那么每一個實例的 data 屬性都是獨立的,不會相互影響了
024.計算屬性computed 和事件 methods 有什么區(qū)別
我們可以將同一函數(shù)定義為一個 method 或者一個計算屬性。對于最終的結果,兩種方式是相同的
不同點:
- computed: 計算屬性是基于它們的依賴進行緩存的,只有在它的相關依賴發(fā)生改變時才會重新求值
- 對于 method ,只要發(fā)生重新渲染,method 調(diào)用總會執(zhí)行該函數(shù)
025.vue 等單頁面應用的優(yōu)缺點:
優(yōu)點:
- 良好的交互體驗
- 良好的前后端工作分離模式
- 減輕服務器壓力
缺點:
- SEO難度較高
- 前進、后退管理
- 初次加載耗時多
026.vue生命周期
vue的生命周期主要分為beforeCreate,created,beforeMount,mounted,beforeUpdate,updated,beforeDestroy,destroyed
創(chuàng)建前后、載入前后、更新前后、銷毀前后
Vue 生命周期與鉤子函數(shù)
027.Vue 導航守衛(wèi)(路由的生命周期)
全局的
- router.beforeEach
- router.beforeResolve
- router.afterEach
單個路由獨享的
- beforeEnter
組件級的
- beforeRouteEnter
- beforeRouteUpdate
- beforeRouteLeave
Vue 導航守衛(wèi)(路由的生命周期)
028.常見的跨域解決方案
前端配置webpack.config.js
后端配置
jsonp(只能解決get)
步驟: 1).去創(chuàng)建一個script標簽 2).script的src屬性設置接口地址 3).接口參數(shù),必須要帶一個自定義函數(shù)名,要不然后臺無法返回數(shù)據(jù) 4).通過定義函數(shù)名去接受返回的數(shù)據(jù)
常見的跨域解決方案
029.什么是webpack及其優(yōu)點
- 打包:可以把多個JavaScript文件打包成一個文件,減少服務器壓力和下載寬帶
- 轉換:把擴展語言轉換成為普通的JavaScript,讓瀏覽器順利運行。
- 優(yōu)化:肩負起了優(yōu)化和提升性能的責任
030.Vue中項目如何優(yōu)化?
- data優(yōu)化
- SPA首屏加載優(yōu)化
- 組件優(yōu)化
- 巧妙利用指令v-if(show),使用v-for要綁定key
- 使用Object.freeze
- 路由懶加載
- 動態(tài)導入組件
- 圖片懶加載
- 第三方模塊按需導入
- 骨架屏
- PWA緩存
- 預渲染
- 服務端渲染SSR
- 緩存和壓縮
- HTTP優(yōu)化
031.Vue遞歸組件的使用
遞歸組件
032.Vue的mode中hash與history的區(qū)別
hash模式重新加載的時候只加載#后面的
history模式則是整個地址重新加載,不過他可以保存歷史記錄,方便前進后退
vue-router 有 3 種路由模式:hash、history、abstract
- hash: 使用 URL hash 值來作路由。支持所有瀏覽器,包括不支持 HTML5 History Api 的瀏覽器;
- history : 依賴 HTML5 History API 和服務器配置。具體可以查看 HTML5 History 模式;
- abstract : 支持所有 JavaScript 運行環(huán)境,如 Node.js 服務器端。如果發(fā)現(xiàn)沒有瀏覽器的 API,路由會自動強制進入這個模式.
033.vue中常用的命令
v-if v-show區(qū)別
v-for
v-model
v-bind
v-on
034.Vue 的父組件和子組件生命周期鉤子函數(shù)執(zhí)行順序?
Vue 的父組件和子組件生命周期鉤子函數(shù)執(zhí)行順序?
- 加載渲染過程
父 beforeCreate -> 父 created -> 父 beforeMount -> 子 beforeCreate -> 子 created -> 子 beforeMount -> 子 mounted -> 父 mounted - 子組件更新過程
父 beforeUpdate -> 子 beforeUpdate -> 子 updated -> 父 updated - 父組件更新過程
父 beforeUpdate -> 父 updated - 銷毀過程
父 beforeDestroy -> 子 beforeDestroy -> 子 destroyed -> 父 destroyed
035.在哪個生命周期內(nèi)調(diào)用異步請求?
可以在鉤子函數(shù) created、beforeMount、mounted 中進行調(diào)用,因為在這三個鉤子函數(shù)中,data 已經(jīng)創(chuàng)建,可以將服務端端返回的數(shù)據(jù)進行賦值。但是本人推薦在 created 鉤子函數(shù)中調(diào)用異步請求,因為在 created 鉤子函數(shù)中調(diào)用異步請求有以下優(yōu)點:
- 能更快獲取到服務端數(shù)據(jù),減少頁面 loading 時間;
- ssr 不支持 beforeMount 、mounted 鉤子函數(shù),所以放在 created 中有助于一致性;
036.組件中 data 為什么是一個函數(shù)?
因為組件是用來復用的,且 JS 里對象是引用關系,如果組件中 data 是一個對象,那么這樣作用域沒有隔離,子組件中的 data 屬性值會相互影響。
如果組件中 data 選項是一個函數(shù),那么每個實例可以維護一份被返回對象的獨立的拷貝,組件實例之間的 data 屬性值不會互相影響;而 new Vue 的實例,是不會被復用的,因此不存在引用對象的問題。
037.Vue組件間通信有哪幾種方式?
- props
- $emit
- $attr
- $listener
- provide inject (隔代通信)
- $parent $children
- vuex
038.Proxy 與 Object.defineProperty 優(yōu)劣對比
Proxy 的優(yōu)勢如下:
- Proxy 可以直接監(jiān)聽對象而非屬性;
- Proxy 可以直接監(jiān)聽數(shù)組的變化;
- Proxy 有多達 13 種攔截方法,不限于 apply、ownKeys、deleteProperty、has 等等是 Object.defineProperty 不具備的;
- Proxy 返回的是一個新對象,我們可以只操作新的對象達到目的,而 Object.defineProperty 只能遍歷對象屬性直接修改;
- Proxy 作為新標準將受到瀏覽器廠商重點持續(xù)的性能優(yōu)化,也就是傳說中的新標準的性能紅利;
Object.defineProperty 的優(yōu)勢如下: - 兼容性好,支持 IE9,而 Proxy 的存在瀏覽器兼容性問題,而且無法用 polyfill 磨平,因此 Vue 的作者才聲明需要等到下個大版本( 3.0 )才能用 Proxy 重寫。
039.虛擬 DOM 的優(yōu)缺點?
優(yōu)點:
- 保證性能下限: 框架的虛擬 DOM 需要適配任何上層 API 可能產(chǎn)生的操作,它的一些 DOM 操作的實現(xiàn)必須是普適的,所以它的性能并不是最優(yōu)的;但是比起粗暴的 DOM 操作性能要好很多,因此框架的虛擬 DOM 至少可以保證在你不需要手動優(yōu)化的情況下,依然可以提供還不錯的性能,即保證性能的下限;
- 無需手動操作 DOM: 我們不再需要手動去操作 DOM,只需要寫好 View-Model 的代碼邏輯,框架會根據(jù)虛擬 DOM 和 數(shù)據(jù)雙向綁定,幫我們以可預期的方式更新視圖,極大提高我們的開發(fā)效率;
- 跨平臺: 虛擬 DOM 本質(zhì)上是 JavaScript 對象,而 DOM 與平臺強相關,相比之下虛擬 DOM 可以進行更方便地跨平臺操作,例如服務器渲染、weex 開發(fā)等等。
缺點: - 無法進行極致優(yōu)化: 雖然虛擬 DOM + 合理的優(yōu)化,足以應對絕大部分應用的性能需求,但在一些性能要求極高的應用中虛擬 DOM 無法進行針對性的極致優(yōu)化。
040.虛擬 DOM 實現(xiàn)原理?
虛擬 DOM 的實現(xiàn)原理主要包括以下 3 部分:
- 用 JavaScript 對象模擬真實 DOM 樹,對真實 DOM 進行抽象;
- diff 算法 — 比較兩棵虛擬 DOM 樹的差異;
- pach 算法 — 將兩個虛擬 DOM 對象的差異應用到真正的 DOM 樹。
041.vue插槽的使用?
默認插槽
具名插槽
作用域插槽
042.active-class是哪個組件的屬性?
vue-router模塊的router-link組件。
043.怎么定義vue-router的動態(tài)路由以及如何獲取傳過來的動態(tài)參數(shù)?
在router目錄下的index.js文件中,對path屬性加上/:id。使用router對象的params.id。
044.vue-loader是什么?使用它的用途有哪些?
vue文件的一個加載器。
用途:js可以寫es6、style樣式可以scss或less、template可以加jade等根據(jù)官網(wǎng)的定義,
vue-loader 是 webpack 的一個 loader,用于處理 .vue 文件.
045.為什么避免 v-if 和 v-for 用在一起?
當Vue 處理指令時,v-for 比 v-if 具有更高的優(yōu)先級,這意味著v-if將分別重復運行于每個v-for循環(huán)中。通過v-if 移動到容器元素,不會再重復遍歷列表中的每個值。取而代之的是,我們只檢查它一次,且不會在 v-if 為否的時候運算 v-for。
046.vue中Class 與 Style 如何動態(tài)綁定?
Vue Class與Style綁定
047.怎樣理解 Vue 的單向數(shù)據(jù)流?
所有的 prop 都使得其父子 prop 之間形成了一個單向下行綁定:父級 prop 的更新會向下流動到子組件中,但是反過來則不行。這樣會防止從子組件意外改變父級組件的狀態(tài),從而導致你的應用的數(shù)據(jù)流向難以理解。
額外的,每次父級組件發(fā)生更新時,子組件中所有的 prop 都將會刷新為最新的值。這意味著你不應該在一個子組件內(nèi)部改變 prop。如果你這樣做了,Vue 會在瀏覽器的控制臺中發(fā)出警告。子組件想修改時,只能通過 $emit 派發(fā)一個自定義事件,父組件接收到后,由父組件修改。
048.直接給一個數(shù)組項賦值,Vue 能檢測到變化嗎?
由于 JavaScript 的限制,Vue 不能檢測到以下數(shù)組的變動:
- 當你利用索引直接設置一個數(shù)組項時,例如:vm.items[indexOfItem] = newValue
- 當你修改數(shù)組的長度時,例如:vm.items.length = newLength
049.vue.js的核心是什么?
- 數(shù)據(jù)驅動(響應式):data中的數(shù)據(jù)變了,視圖才會變
- 組件化:拆組裝,目的在于重用,方便,臟活累活一次干完,之后就輕松了
050.vue的常用修飾符?
- 事件修飾符:
.stop stopPropagation 阻止冒泡
.prevent preventDefault 阻止默認行為
.self 事件作用在自己身上才觸發(fā)
.once 事件只觸發(fā)一次 - 鍵盤修飾符
.enter 回車鍵
.esc 退出鍵 - v-model 指令修飾符
.lazy 由監(jiān)聽oninput事件轉為onchange事件
.number 盡量將文本框中的值轉為數(shù)字,能轉就轉,不能轉就不轉
.trim 去掉字符串的首尾空格
051.VUE和REACT有什么區(qū)別?
- react整體是函數(shù)式的思想,把組件設計成純組件,狀態(tài)和邏輯通過參數(shù)傳入,所以在react中,是單向數(shù)據(jù)流;
- vue的思想是響應式的,也就是基于是數(shù)據(jù)可變的,通過對每一個屬性建立Watcher來監(jiān)聽,當屬性變化的時候,響應式的更新對應的虛擬dom。
052.請說出vue.cli項目中src目錄每個文件夾和文件的用法?
assets文件夾是放靜態(tài)資源;
components是放組件;
router是定義路由相關的配置;
view視圖;
app.vue是一個應用主組件;
main.js是入口文件;
053.單頁面應用和多頁面應用區(qū)別及優(yōu)缺點?
單頁面應用(SPA),通俗一點說就是指只有一個主頁面的應用,瀏覽器一開始要加載所有必須的 html, js, css。所有的頁面內(nèi)容都包含在這個所謂的主頁面中。但在寫的時候,還是會分開寫(頁面片段),然后在交互的時候由路由程序動態(tài)載入,單頁面的頁面跳轉,僅刷新局部資源。多應用于pc端。
多頁面(MPA),就是指一個應用中有多個頁面,頁面跳轉時是整頁刷新
單頁面的優(yōu)點:
用戶體驗好,快,內(nèi)容的改變不需要重新加載整個頁面,基于這一點spa對服務器壓力較小
前后端分離
頁面效果會比較炫酷(比如切換頁面內(nèi)容時的專場動畫)
單頁面缺點:
初次加載時耗時多
頁面復雜度提高很多
導航不可用,如果一定要導航需要自行實現(xiàn)前進、后退。
054.vue-router單頁面應用的切換?
在vue-router單頁面應用中,則是路徑之間的切換,也就是組件的切換。路由模塊的本質(zhì) 就是建立起url和頁面之間的映射關系。
055.為什么不能用a標簽?
至于為啥不能用a標簽,這是因為用Vue做的都是單頁應用,就相當于只有一個主的index.html頁面,所以你寫的標簽是不起作用的,必須使用vue-router來進行管理。
056.Vue雙向數(shù)據(jù)綁定實現(xiàn)原理?
057.vue兩個核心點是什么?
數(shù)據(jù)驅動
組件系統(tǒng)
058.Vue不能檢測數(shù)組或對象變動問題的解決方法有哪些?
使用Proxy
HTTP面試題
001.網(wǎng)絡七層模型
網(wǎng)絡七層模型(四層模型)及其區(qū)別
002.三次握手,四次揮手
TCP 三次握手 與 四次揮手
003.從輸入一個網(wǎng)址到看到一張網(wǎng)頁,經(jīng)歷了什么?
從輸入一個網(wǎng)址到瀏覽器顯示頁面的全過程詳細分析
004.HTTP的請求與響應
- 請求:
- 請求行,GET/HTTP/1.1
- 請求頭,非常多
- 請求正文,扔給服務器的數(shù)據(jù)
- 響應:
- 響應行,HTTP/1.1 200 OK
- 響應頭,非常多
- 響應正文,服務器扔給客戶端的數(shù)據(jù)
005.HTTP狀態(tài)碼
- 1xx
- 101(雙向通信)
- 2xx
- 200(成功)
- 204(沒有響應體)
- 206(斷點續(xù)傳)
- 3xx
- 301(永久重定向)
- 302(臨時重定向)
- 304(緩存)
- 4xx
- 401(沒有權限)
- 403(登陸了沒有權限)
- 404(找不到對應的資源)
- 405(請求方法不存在,不支持)
- 5xx
- 502(負載均衡)
006.HTTP中的請求方法(8種)
HTTP協(xié)議簡介
007.HTTP優(yōu)化策略(博客)
壓縮和緩存
HTTP前端性能優(yōu)化(壓縮與緩存)
008.HTTP中的頭(重點)
- 請求頭:
- accept-encoding 告訴服務器,我接收的數(shù)據(jù)支持壓縮格式
- if-modified-since 對比緩存 修改時間
- if-none-match 摘要緩存 和Etag配對使用的
- user-agent 不同設備自動帶上這個頭 判斷什么樣的設備,重定向到不同項目
- 響應頭:
- Content-Type 告訴瀏覽器 我給你的內(nèi)容的類型
- Content-Encoding 告訴瀏覽器 我給你的內(nèi)容的壓縮格式
- Cache-Control 強制緩存 告訴瀏覽器,你多長時間之間,不要來訪問我
- Expires 強緩 告訴瀏覽器,你多長時間之間,不要來訪問我
- Last-Modified 對比緩存 和 if-modified-since 配對使用
- Etag 根據(jù)摘要做緩存 和 if-none-match 配對使用
- Lotaion 重定向到 某個地方
009.HTTP中的代理
010.http和https有什么不同?
- https:是以安全為目標的HTTP通道,簡單講是HTTP的安全版本,通過SSL加密
- http:超文本傳輸協(xié)議。是一個客服端和服務器端請求和應答的標準(tcp),使瀏覽器更加高效,使網(wǎng)絡傳輸減少
011.localStorage, sessionStorage, cookie, session有什么區(qū)別?
- localStorage 不能跨域存取 最大存5M 超過5M的數(shù)據(jù)就會丟失 在發(fā)送請求時,不會帶上localStorage
- sessionStorage 當瀏覽器關閉時,里面的數(shù)據(jù)就丟失
- cookie 服務器種植的,每次請求都會帶上cookie,不安全,解決無狀態(tài)問題,最多4K,浪費流量
- session 基于cookie 保存在服務器(內(nèi)存,入庫) 相對安全
前后端分離(前端調(diào)后端api接口)開發(fā)的:cookie,主流:session 或 JWT
012.從輸入一個網(wǎng)址到瀏覽器顯示頁面的全過程?
1.DNS解析,找到IP地址
2.根據(jù)IP地址,找到對應的服務器
3.建立TCP連接(里面有個 三次握手)
4.連接建立后,發(fā)出HTTP請求
5.服務器根據(jù)請求作出HTTP響應
6.瀏覽器得到響應內(nèi)容,進行解析與渲染,并顯示
7.斷開連接(四次揮手)
從輸入一個網(wǎng)址到瀏覽器顯示頁面的全過程詳細分析
013.簡單說一下三次握手與四次揮手,為什么一個三次,一個四次?
TCP 三次握手 與 四次揮手
014.說一下web緩存?
1.web緩存就是存在于客戶端與服務器之間的一個副本、當你第一個發(fā)出請求后,緩存根據(jù)請求保存輸出內(nèi)容的副本
2.緩存的好處
(1)減少不必要的請求
(2)降低服務器的壓力,減少服務器的消耗
(3)降低網(wǎng)絡延遲,加快頁面打開速度(直接讀取瀏覽器的數(shù)據(jù))
015.常見的web安全及防護原理?
- sql注入原理:是將sql代碼偽裝到輸入?yún)?shù)中,傳遞到服務器解析并執(zhí)行的一種攻擊手法。
- XSS(跨站腳本攻擊):往web頁面插入惡意的html標簽或者js代碼。
- CSRF(跨站請求偽裝):通過偽裝來自受信任用戶的請求
JS面試題
JS中的方法(重中之重)
https://juejin.im/post/5d3bd7c9e51d45777a126290
JS中的繼承
https://juejin.im/post/5d385644e51d4510a73281a1
001.Promise原理(**)?
答:看代碼,參考:https://juejin.im/post/5b2f02cd5188252b937548ab
002.then可以鏈式調(diào)用,多個then時,如何走到下一個then的失敗回調(diào)?
答:1.返回一個失敗的promise。2.拋出一個錯誤(throw new Error())
003.then可以鏈式調(diào)用,多個then時,如何終止下一個then的調(diào)用?
答:返回一個處于pending(等待態(tài))狀態(tài)的promise
004.js的異步解決方案有哪些(**)?
答:
- 回調(diào)函數(shù)(嵌套,回調(diào)地獄,不優(yōu)雅)
- Promise
- Generator+co (co可以解決promise嵌套問題,generator+promise(promise嵌套問題))
- async+await:是Generator的語法糖
005.把一個偽數(shù)組變成真實的數(shù)組?
答:
- […obj],需要保證obj是可迭代的
- Array.from不需要保證obj是否迭代,內(nèi)部會使它可迭代
006.使用過ES6中哪些新語法(** 熟練使用ES6語法)?
答:
- 結構賦值 [] {}
- 展開運算符(…args)(考察深拷貝,淺拷貝)
- Set:常用于數(shù)組去重
- Map:里面存儲唯一的值
深拷貝實現(xiàn)的一種方式:JSON.parse(JSON.strinfy(obj));
ES6 新增內(nèi)容總結
007.實現(xiàn)深拷貝(重點)淺拷貝?
理解JS中的淺拷貝與深拷貝
function deepClone(source) {const targetObj = source.constructor === Array ? [] : {}; // 判斷復制的目標是數(shù)組還是對象for (let keys in source) { // 遍歷目標if (source.hasOwnProperty(keys)) {if (source[keys] && typeof source[keys] === 'object') { // 如果值是對象,就遞歸一下targetObj[keys] = source[keys].constructor === Array ? [] : {};targetObj[keys] = deepClone(source[keys]);} else { // 如果不是,就直接賦值targetObj[keys] = source[keys];}}}return targetObj; }var str1 = {arr: [1, 2, 3],obj: {key: 'value'},fn: function () {return 1;} }; var str3 = deepClone(str1);console.log(str3 === str1); // false console.log(str3.obj === str1.obj); // false console.log(str3.fn === str1.fn); // true008.求數(shù)組的交集、并集、差集?
答:
//-----------------------------------------并集 // let arr1 = [1, 2, 3, 4] // let arr2 = [3, 4, 5, 6]//并集 // function union(arr1, arr2) { // // let s1 = new Set(arr1) // // let s2 = new Set(arr2) // // let s = new Set([...s1,...s2]) // // return [...s]// let s = new Set([...arr1,...arr2]) // return [...s] // }// console.log(union(arr1,arr2)); //[ 1, 2, 3, 4, 5, 6 ]//-----------------------------------------交集 // let arr1 = [1, 2, 3, 4] // let arr2 = [3, 4, 5, 6]// //交集 // function intersection(arr1,arr2){ // let s1 = new Set(arr1) // let s2 = new Set(arr2) // return [...s1].filter(item=>{ // return s2.has(item) // }) // }// console.log(intersection(arr1,arr2)) //[ 3, 4 ]//-----------------------------------------差集 // let arr1 = [1, 2, 3, 4] // let arr2 = [3, 4, 5, 6]// function difference(arr1,arr2){ // let s1 = new Set(arr1) // let s2 = new Set(arr2) // return [...s1].filter(item=>{ // return !s2.has(item) // }) // }// console.log(difference(arr1,arr2)) //[ 1, 2 ]009.ES6中的模塊化?
答: https://juejin.im/post/5d3eb1b6f265da03c23eacc2#heading-44
ES6 的模塊化分為導出(export) @與導入(import)兩個模塊。
as 的用法
010.模塊化的發(fā)展流程?
011.JS中的閉包
012.瀏覽器事件環(huán) (宏、微任務)
JS(瀏覽器)事件環(huán) (宏、微任務)
013.ES6新增了哪些內(nèi)容,簡單說一下
ES6 新增內(nèi)容總結
014.對JS原型和原型鏈的理解?
JavaScript 原型 與 原型鏈
015.對JS作用域和作用域鏈的理解?
JavaScript 作用域 與 作用域鏈
016.JS中new究竟做了什么?
1.創(chuàng)建對象
2.綁定this
3.鏈接到原型
4.返回對象
JS中 new究竟做了什么?
017.JS中this到底指向誰?怎么改變this指向?
誰調(diào)用了包含this的方法,那么this就指向誰
JS中的 this 到底指向誰?
改變this,可以用call、apply、bind,他們之間的區(qū)別?
JS中改變this的指向 call、apply 和 bind 的區(qū)別
018.TS主要是干什么的?
簡單地說,TS就是增加了重要的類型檢測機制,添加了很多類型,可以用來寫大型項目。
布爾值、數(shù)字、字符串、數(shù)組、元組、枚舉、any、void、null、undefined、never、object、類型斷言
項目相關
001.適配?
cube里面自帶適配,不需要上面的適配,如果用別的UI庫,需要使用REM+Flex適配方案
002.首頁白屏怎么解決?
1,把首頁做服務端渲染 SEO nuxt.js寫項目
2,預渲染 數(shù)據(jù)還沒有回來前,先返回的一些死數(shù)據(jù),多用在首頁面的內(nèi)部經(jīng)常不變
3,骨架屏 配置
003.封裝axios?
004.管理狀態(tài)(數(shù)據(jù))
多個組件需要使用的狀態(tài),放到vuex倉庫中
單個組件使用的狀態(tài),放到data中
005.來回切換tabbar時,不能重新請求數(shù)據(jù)
使用路由鉤子
006.來回切換tabbar時,需要加上動畫
使用vue中的動畫
007.把數(shù)據(jù)緩存到內(nèi)存中,避免再次去請求接口
使用vue中keep-alive組件
008.有的頁面需要緩存,有的不需要怎么辦?
可以在路由處加標識
009.在一個頁面中滑倒中間位置,如果切換頁面,再切換回去,應該還是處于中間位置怎么辦?
當切換的時候,把位置保存起來,再切換回去的時候,讓他還處于那個位置
010.對于一個app來說,有的頁面需要登錄后才能看到,有的則不需要怎么辦?
在路由處配標識
011.怎么驗證登錄?
1.驗證是否登錄過,如果登錄過,服務器會返回客戶端一個token
2.客戶端把token保存在localStorage中,后面客戶再去請求服務器,會在請求攔截那里帶上token
3.如果調(diào)用/validata接口時,如果你帶著token去訪問這個接口,就返回你已登錄,如果你沒有帶上token,就給你返回未登錄。
非技術性問題
請你做一下自我介紹?
回答提示:一般人回答這個問題過于平常,只說姓名、年齡、愛好、工作經(jīng)驗,這些在簡歷上都有。其實,企業(yè)最希望知道的是求職者能否勝任工作,包括:最強的技能、最深入研究的知識領域、性格中最積極的部分、做過的最成功的事,主要的成就等,這些回答關于學習或者生活都可以,但要突出積極的個性和做事的能力,說得合情合理企業(yè)才會相信。企業(yè)很重視一個人的禮貌,求職者要尊重考官,要在自我介紹結束后說一句“謝謝”。
你覺得你最大的優(yōu)點是什么?
回答提示:沉著冷靜、條理清楚、立場堅定、頑強向上、樂于助人和關心他人、適應能力和幽默感、樂觀和友愛。我在LAMP兄弟連經(jīng)過五個月的高強度培訓及項目實戰(zhàn),使我適合這份工作。要例舉具體的優(yōu)點,如:做事認真、抗壓能力強、樂于助人、學習能力強等,然后要舉實例證明這也是最重要的一點。
說說你最大的缺點?
回答提示:這個問題企業(yè)問的概率很大,通常不希望聽到直接回答的缺點是什么,如果求職者說自己有強迫癥、愛忌妒人、非常懶、脾氣大、工作效率低,那么肯定不會被企業(yè)錄用。絕對不要自作聰明地回答“我最大的缺點是過于追求完美”,有的人以為這樣回答會顯得自己比較出色,但事實上,他已經(jīng)岌岌可危了。企業(yè)喜歡求職者從自己的優(yōu)點說起,中間加一些小缺點,最后再把問題轉回到優(yōu)點上,突出優(yōu)點的部分?;卮饦颖?#xff1a;我平時比較愛忘事,然后我通過寫便條來提醒我自己什么時候該做什么事。
你對加班的看法?
回答提示:實際上好多公司問這個問題,并不證明一定要加班,只是想測試你是否愿意為公司奉獻。
回答樣本:如果是工作需要我會義不容辭加班,我現(xiàn)在單身,沒有任何家庭負擔,可以全身心的投入工作。但同時,我也會提高工作效率,減少不必要的加班。
如何安排自己的時間?會不會排斥加班?
回答提示:基本上,如果上班工作有效率,工作量合理的話,應該不太需要加班??墒俏乙仓烙袝r候很難避免加班,加上現(xiàn)在工作都采用責任制,所以我會調(diào)配自己的時間,全力配合。
分析:雖然不會有人心甘情愿的加班,但依舊要表現(xiàn)出高配合度的誠意。
在五年的時間內(nèi),你的職業(yè)規(guī)劃?
回答提示:一般公司高管或者副總喜歡問個人職業(yè)規(guī)劃方面的問題。當然,說出其他一些你感興趣的職位也是可以的,比如產(chǎn)品銷售部經(jīng)理,生產(chǎn)部經(jīng)理等一些與你的專業(yè)有相關背景的工作。要知道,考官總是喜歡有進取心的應聘者,此時如果說“不知道”,或許就會使你喪失一個好機會。最普通的回答應該是“我準備在技術領域有所作為”或“我希望能按照公司的管理思路發(fā)展”。能把職業(yè)規(guī)劃分成幾部分去完成,比如1個月、三個月、半年、1年以至3年的具體發(fā)展目標和實施方案。
你的朋友是如何評價你的?
回答提示: 面試官想從側面了解一下你的性格及與人相處的問題。
回答樣本一:我的朋友都說我是一個可以信賴的人。因為,我一旦答應別人的事情,就一定會做到。如果我做不到,我就不會輕易許諾。
回答樣本二:我覺的我是一個比較隨和的人,與不同的人都可以友好相處。在我與人相處時,我總是能站在別人的角度考慮問題。
你還有什么要問我的嗎?
回答提示:企業(yè)的這個問題看上去可有可無,其實很關鍵,企業(yè)不喜歡說“沒問題”的人,因為其很注重員工的個性和創(chuàng)新能力。企業(yè)不喜歡求職者問個人福利之類的問題,如果有人這樣問:咱公司對新入公司的員工有沒有什么培訓項目,我可以參加嗎?或者說咱公司的晉升機制是什么樣的?公司希望我以后向什么方向發(fā)展?企業(yè)將很歡迎,因為體現(xiàn)出你對學習的熱情和對公司的忠誠度以及你的上進心。
你對薪資的要求?
回答提示:如果你對薪酬的要求太低,那顯然貶低自己的能力;如果你對薪酬的要求太高,那又會顯得你分量過重,公司受用不起。一些雇主通常都事先對求聘的職位定下開支預算,因而他們第一次提出的價錢往往是他們所能給予的最高價錢,他們問你只不過想證實一下這筆錢是否足以引起你對該工作的興趣。
回答樣本一:我對工資沒有硬性要求,我相信貴公司在處理我的問題上會友善合理。我注重的是找對工作機會,所以只要條件公平,我則不會計較太多。
回答樣本二:我受過系統(tǒng)的軟件編程的訓練,不需要進行大量的培訓,而且我本人也對編程特別感興趣。因此,我希望公司能根據(jù)我的情況和市場標準的水平,給我合理的薪水。
回答樣本三:如果你必須自己說出具體數(shù)目,請不要說一個寬泛的范圍,那樣你將只能得到最低限度的數(shù)字。最好給出一個具體的數(shù)字,這樣表明你已經(jīng)對當今的人才市場作了調(diào)查,而且自己具有這方面的價值。
為什么選擇我們這家公司?
回答提示:曾經(jīng)在報章雜志看過關于公司的報道,與自己所追求的理念有志一同。而貴公司在業(yè)界的成績也是有目共睹的,而且對員工的教育訓練、升遷等也都很有制度。并具體詳談你調(diào)查到的內(nèi)容會讓面試官覺得你很用心。
分析:去面試前先做功課,了解一下該公司的背景,讓對方覺得你真的很有心想得到這份工作,而不只是探探路。
談談你對跳槽的看法?
回答提示:①我認為跳槽應該是進入到更好的企業(yè)和更大的平臺,而不是在公司待幾個月就認為公司同事關系不好,自己發(fā)展有瓶頸就跳槽,這樣換工作是無意義的。②頻繁的跳槽對單位和個人雙方都不利,應該反對。
談談如何適應新的工作環(huán)境?
回答提示①辦公室里每個人有各自的崗位與職責,不得擅離崗位。②根據(jù)領導指示和工作安排,制定工作計劃,提前預備,并按計劃完成。③多請示并及時匯報,遇到不明白的要虛心請教。④抓間隙時間,多學習,努力提高自己代碼質(zhì)量和代碼規(guī)范性。
你來我們公司做前端可以嗎?
回答提示:面試者在考驗面試者是否對所述職位專一時,如果面試者過多表現(xiàn)在前端上的技能,那面試官就會用這個問題問你,如果你回答可以,那么面試官會認為你求職目標不明確,從而不會要你繼續(xù)面試。
假設你在某單位工作,成績比較突出,得到領導的肯定。但同時你發(fā)現(xiàn)同事們越來越孤立你,你怎么看這個問題?你準備怎么辦?
回答提示:①成績比較突出,得到領導的肯定是件好事情,以后更加努力。②檢討一下自己是不是對工作的熱心度超過同事間交往的熱心了,加強同事間的交往及共同的興趣愛好。③工作中,切勿傷害別人的自尊心④不再領導前撥弄是非。
請說說你對我們公司了解多少?
回答提示:在去公司面試前上網(wǎng)查一下該公司主營業(yè)務(公司官網(wǎng)、百度-新聞、招聘網(wǎng)站)或者向公司內(nèi)的學長咨詢(向就業(yè)專員要電話)。如回答:貴公司有意改變策略,加強與國外大廠的OEM合作,自有品牌的部分則透過海外經(jīng)銷商。
請說出你選擇這份工作的目的?
回答提示:這是想知道面試者對這份工作的熱忱及理解度,并篩選因一時興起而來應試的人,如果是無經(jīng)驗者,可以強調(diào)“就算職種不同,也希望有機會發(fā)揮之前的經(jīng)驗”。包括對面試官的了解和團隊的了解都是面試之前應該了解的。
你能為我們公司帶來什么呢?
回答提示:①假如你可以的話,試著告訴他們你可以減低他們的培養(yǎng)費用——“我已經(jīng)接受過LAMP兄弟連五個月的高強度培訓,立刻就可以上崗工作”。② 企業(yè)很想知道未來的員工能為企業(yè)做什么,求職者應再次重復自己的優(yōu)勢,然后說:“就我的能力,我可以做一個優(yōu)秀的員工在組織中發(fā)揮能力,給組織帶來高效率和更多的收益”。③給公司帶來活力,“我更加積極、更加努力、更加有朝氣?!?/p>
怎樣看待學歷和能力?
回答提示:學歷不一定完全代表能力,雖然我的學歷不夠硬但是我會在技術上更努力更認真,并在短期內(nèi)發(fā)揮自己的優(yōu)勢,把公司項目做的更好。
你的業(yè)余愛好是什么?
回答提示:找一些富于團體合作精神的,這里有一個真實的故事:有人被否決掉,因為他的愛好是深海潛水。主考官說:因為這是一項單人活動,我不敢肯定他能否適應團體工作?;蛘呖醇夹g論壇,會給工作帶來新的思路,或者看關于數(shù)據(jù)庫優(yōu)化/數(shù)據(jù)原理的書籍。
作為被面試者請你給我打一下分?
回答提示:試著列出四個優(yōu)點和一個非常非常非常小的缺點(可以抱怨一下設施,沒有明確責任人的缺點是不會有人介意的)。
你怎么理解PHP這個職位?
回答提示:把崗位職責和任務及工作態(tài)度闡述一下,更多的說PHP發(fā)展和優(yōu)勢以及你學習PHP的原因。比如:PHP語言上的應用發(fā)展,PHP最大特點就是語法靈活,開發(fā)速度快, 開發(fā)成本低,最適合開發(fā)業(yè)務流程,所以互聯(lián)中使用PHP開發(fā)動態(tài)網(wǎng)站將成為主流。
喜歡這份工作的哪一點?
回答提示:每個人的價值觀不同,自然評斷的標準也會不同,但是,在回答面試官這個問題時可不能太直接就把自己心理的話說出來,尤其是薪資方面的問題,不過一些無傷大雅的回答是不錯的考慮,如交通方便,工作性質(zhì)及內(nèi)容頗能符合自己的興趣等等都是不錯的答案,不過如果這時自己能仔細思考出這份工作的與眾不同之處,相信在面試上會大大加分。
對工作的期望與目標何在?
回答提示:就是職業(yè)規(guī)劃的另一種問法,也是公司在以后培養(yǎng)你的方向上的選擇??梢蕴嵋恍┚唧w的想法和做法。讓上級認為你之前考慮過這個事,而且重視自己的職業(yè)發(fā)展。
就你申請的這個職位,你認為你還欠缺什么?
回答提示:企業(yè)喜歡問求職者弱點,他們希望看到這樣的求職者:繼續(xù)重復自己的優(yōu)勢,然后說:“對于這個職位和我的能力來說,我相信自己是可以勝任的,只是缺乏經(jīng)驗,這個問題我想我可以進入公司以后以最短的時間來解決,我的學習能力很強,我相信可以很快融入公司的企業(yè)文化,進入工作狀態(tài)?!逼髽I(yè)喜歡能夠巧妙地躲過難題的求職者。
你通常如何處理別人的批評?
回答提示:①沈默是金,不必說什么,否則情況更糟,不過我會接受建設性的批評。②我會等大家冷靜下來再討論,反思自己是否有這方面問題并進行完善。
怎樣對待自己的失敗?
回答提示:我認為失敗不是壞事,一件事情沒有成功肯定是我做的地方有不是,我覺得能積極面對失敗并總結經(jīng)驗成功就指日可待。
什么會讓你有成就感?
回答提示:為公司竭力效勞,盡我所能,完成一個項目,并且能提出自己的創(chuàng)新想法。
眼下你生活中最重要的是什么?
回答提示:對我來說,能在這個領域找到工作是最重要的,能在公司任職對我說最重要。
你為什么愿意到我們公司來工作?
回答提示:對于這個問題,你要格外小心,如果你已經(jīng)對該單位作了研究,你可以回答一些詳細的原因,像“公司本身的高技術開發(fā)環(huán)境很吸引我。”我希望能夠進入一家與我共同成長的公司”,“你們公司一直都穩(wěn)定發(fā)展,在近幾年來在市場上很有競爭力”,“我認為公司能夠給我提供一個與眾不同的發(fā)展道路?!边@都顯示出你已經(jīng)做了一些調(diào)查,也說明你對自己的未來有了較為具體的遠景規(guī)劃。
你和別人發(fā)生過爭執(zhí)嗎?你是怎樣解決的?
回答提示:這是面試中最險惡的問題,其實是考官布下的一個陷阱,千萬不要說任何人的過錯,應知成功解決矛盾是一個協(xié)作團體中成員所必備的能力。基本上沒有和他人產(chǎn)生矛盾,首先有矛盾就是因為大家對同一個問題有不同的解決方案,把方案里的優(yōu)秀點統(tǒng)一起來就是最佳解決方案。你是否能獲得這份工作,將取決于這個問題的回答??脊傧M吹侥闶浅墒烨覙酚诜瞰I的。他們通過這個問題了解你的成熟度和處世能力。在沒有外界干涉的情況下,通過妥協(xié)的方式來解決才是正確答案。
你做過的哪件事最令自己感到驕傲?
回答提示:這是考官給你的一個機會,讓你展示自己把握命運的能力。這會體現(xiàn)你潛在的領導能力以及你被提升的可能性。記住:你的前途取決于你的知識、你的社交能力和綜合表現(xiàn)。
想過創(chuàng)業(yè)嗎?
回答提示:這個問題可以顯示你的沖勁,但如果你的回答是“有”的話,千萬小心,下一個問題可能就是:那么為什么你不這樣做呢?而且HR會覺得你在公司的穩(wěn)定性弱,所以有或者沒有不要馬上說出來。
對這項工作,你有哪些可預見的困難?
回答提示:①不宜直接說出具體的困難,否則可能令對方懷疑應聘者不行。②可以嘗試迂回戰(zhàn)術,說出應聘者對困難所持有的態(tài)度——工作中出現(xiàn)一些困難是正常的,也是難免的,但是只要有堅忍不拔的毅力、良好的合作精神以及事前周密而充分的準備,任何困難都是可以克服。
分析:一般問這個問題,面試者的希望就比較大了,因為已經(jīng)在談工作細節(jié),但常規(guī)思路中的回答,又被面試官“騙”了。當面試官詢問這個問題的時候,有兩個目的。一是看看應聘者是不是在行,說出的困難是不是在這個職位中一般都不可避免的問題。二是想看一下應聘者解決困難的手法對不對,及公司能否提供這樣的資源。而不是想了解應聘者對困難的態(tài)度。
如果我錄用你,你將怎樣開展工作?
回答提示: ①如果應聘者對于應聘的職位缺乏足夠的了解,最好不要直接說出自己開展工作的具體辦法。②可以嘗試采用迂回戰(zhàn)術來回答,如“首 先聽取領導的指示和要求,然后就有關情況進行了解和熟悉,接下來制定一份近期的工作計劃并報領導批準,最后根據(jù)計劃開展工作?!?br /> 分析:這個問題的主要目的也是了解應聘者的工作能力和計劃性、條理性,而且重點想要知道細節(jié)。如果向思路中所講的迂回戰(zhàn)術,面試官會認為回避問題,如果引導了幾次仍然是回避的話,此人絕對不會錄用了。
你希望與什么樣的上級共事?
回答提示:①通過應聘者對上級的“希望”可以判斷出應聘者對自我要求的意識,這既上一個陷阱,又是一次機會。②最好回避對上級具體的希望,多談對自己的要求。③如“做為剛步入社會的新人,我應該多要求自己盡快熟悉環(huán)境、適應環(huán)境,而不應該對環(huán)境提出什么要求,只要能發(fā)揮我的專長就可以了。
分析:這個問題比較好的回答是,希望我的上級能夠在工作中對我多指導,對我工作中的錯誤能夠立即指出。總之,從上級指導這個方面談,不會有大的紕漏。
與上級意見不一致時,你將怎么辦?
回答提示:①一般可以這樣回答“我會給上級以必要的解釋和提醒,在這種情況下,我會服從上級的意見?!雹谌绻嬖嚹愕氖强偨?jīng)理,而你所應聘的職位另有一位經(jīng)理,且這位經(jīng)理當時不在場,可以這樣回答:“對于非原則性問題,我會服從上級的意見,對于涉及公司利益的重大問題,我希望能向更高層領導反映?!?br /> 分析:這個問題的標準答案是思路①,如果用②的回答,必死無疑。你沒有摸清楚改公司的內(nèi)部情況,先想打小報告,這樣的人沒有人敢要。
您在前一家公司的離職原因是什么?
回答提示:避免把“離職原因”說得太詳細、太具體。盡量說原單位給你帶來的提升,體現(xiàn)出感恩的心態(tài),而不能抱怨公司哪里不好。
相關例子:如“我離職是因為這家公司倒閉;我在公司工作了三年多,有較深的感情;從去年始,由于市場形勢突變,公司的局面急轉直下;到眼下這一步我覺得很遺憾,但還要面對顯示,重新尋找能發(fā)揮我能力的舞臺?!蓖粋€面試問題并非只有一個答案,而同一個答案并不是在任何面試場合都有效,關鍵在應聘者掌握了規(guī)律后,對面試的具體情況進行把握,有意識地揣摩面試官提出問題的心理背景,然后投其所好。
你工作經(jīng)驗欠缺,如何能勝任這項工作?
回答提示:①如果招聘單位對應屆畢業(yè)生的應聘者提出這個問題,說明招聘公司并不真正在乎“經(jīng)驗”,關鍵看應聘者怎樣回答。②對這個問題的回答最好要體現(xiàn)出應聘者的誠懇、機智、果敢及敬業(yè)。③如“作為應屆畢業(yè)生,在工作經(jīng)驗方面的確會有所欠缺,因此在讀書期間我一直利用各種機會在這個行業(yè)里做兼職。我也發(fā)現(xiàn),實際工作遠比書本知識豐富、復雜。但我有較強的責任心、適應能力和學習能力,而且比較勤奮,所以在兼職中均能圓滿完成各項工作,從中獲取的經(jīng)驗也令我受益非淺。請公司放心,學校所學及兼職的工作經(jīng)驗使我一定能勝任這個職位?!?br /> 分析:這個問題思路中的答案尚可。突出自己的吃苦能力和適應性以及學習能力(不是學習成績)為好。
如果你在這次面試中沒有被錄用,你怎么打算?
回答提示:現(xiàn)在的社會是一個競爭的社會,從這次面試中也可看出這一點,有競爭就必然有優(yōu)劣,有成功必定就會有失敗。往往成功的背后有許多的困難和挫折,如果這次失敗了也僅僅是一次而已,只有經(jīng)過經(jīng)驗經(jīng)歷的積累才能塑造出一個完全的成功者。我會從以下幾個方面來正確看待這次失敗:①要敢于面對,面對這次失敗不氣餒,接受已經(jīng)失去了這次機會就不會回頭這個現(xiàn)實,從心理意志和精神上體現(xiàn)出對這次失敗的抵抗力。要有自信,相信自己經(jīng)歷了這次之后經(jīng)過努力一定能行,能夠超越自我。②善于反思,對于這次面試經(jīng)驗要認真總結,思考剖析,能夠從自身的角度找差距。正確對待自己,實事求是地評價自己,辯證的看待自己的長短得失,做一個明白人。③主要是技術上哪里薄弱,把不足的技術抓緊時間攻克。
談談你做過的項目?
回答提示:舉一個你最有把握的例子,把來龍去脈說清楚,而不要說了很多卻沒有重點。切忌夸大其詞,把別人的功勞到說成自己的,很多主管為了確保要用的人是最適合的,會打電話向你的前一個主管征詢對你的看法及意見,所以如果說謊,是很容易穿梆的。
談談你過去的工作中,最令你受挫的事情?
回答提示:如果是學生可以用競賽里的名次來舉例;如果是員工可以以工作中自己努力而又沒有做成功的項目來舉例。分析:該問題的目的是借此了解你對挫折的容忍度及調(diào)解方式。
你覺得原來的工作對你從事PHP開發(fā)有幫助嗎?
回答提示:這是針對求職者提出的問題,建議此時可以配合面試工作的特點作為主要依據(jù)來回答,如業(yè)務工作需要與人溝通,便可舉出之前工作與人溝通的例子,經(jīng)歷了哪些困難,學習到哪些經(jīng)驗,把握這些要點做陳述,就可以輕易過關了。
工作中你難以和同事、上司相處,你該怎么辦?
回答提示:①我會服從領導的指揮,配合同事的工作。②我會從自身找原因,仔細分析是不是自己工作做得不好讓領導不滿意,同事看不慣。還要看看是不是為人處世方面做得不好,如果是這樣的話 我會努力改正。③如果我找不到原因,我會找機會跟他們溝通,請他們指出我的不足,有問題就及時改正。④作為優(yōu)秀的員工,應該時刻以大局為重,即使在一段時間內(nèi),領導和同事對我不理解,我也會做好本職工作,虛心向他們學習,我相信,他們會看見我在努力,總有一天會對我微笑的。
如果通過這次面試我們單位錄用了你,但工作一段時間卻發(fā)現(xiàn)你根本不適合這個職位,你怎么辦?
回答提示:工作一段時間后發(fā)現(xiàn)工作不適合你,有兩種情況:①如果你確實熱愛PHP程序員這個職業(yè),那你就要不斷學習,虛心向領導和同事學習業(yè)務知識和處事經(jīng)驗,了解這個職業(yè)的精神內(nèi)涵和職業(yè)要求,力爭減少差距;②你覺得這個職業(yè)可有可無,那還是趁早換個職業(yè),去發(fā)現(xiàn)適合你的,你熱愛的職業(yè),那樣你的發(fā)展前途也會大點,對單位和個人都有好處。而且我會推薦更適合PHP職位的人選。
在完成某項工作時,你認為領導要求的方式不是最好的,自己還有更好的方法,你應該怎么做?
回答提示:①原則上我會尊重和服從領導的工作安排,同時私底下找機會以請教的口吻,婉轉地表達自己的想法,看看領導是否能改變想法。②如果領導沒有采納我的建議,我也同樣會按領導的要求認真地去完成這項工作。③還有一種情況,假如領導要求的方式違背原則,我會堅決提出反對意見,如領導仍固執(zhí)己見,我會毫不猶豫地再向上級領導反映。
如果你的工作出現(xiàn)失誤,給本公司造成經(jīng)濟損失,你認為該怎么辦?
回答提示:①我本意是為公司努力工作,如果造成經(jīng)濟損失,我認為首要的問題是想方設法去彌補或挽回經(jīng)濟損失。如果我無能力負責,希望公司幫助解決。②分清責任,各負其責,如果是我的責任,我甘愿受罰;如果是一個我負責的團隊中別人的失誤,也不能幸災樂禍,作為一個團隊,需要互相提攜共同完成工作,安慰同事并且?guī)椭虏檎以蚩偨Y經(jīng)驗。③總結經(jīng)驗教訓,一個人的一生不可能不犯錯誤,重要的是能從自己的或者是別人的錯誤中吸取經(jīng)驗教訓,并在今后的工作中避免發(fā)生同類的錯誤。檢討自己的工作方法、分析問題的深度和力度是否不夠,以致出現(xiàn)了本可以避免的錯誤。
如果你做的一項工作受到上級領導的表揚,但你主管領導卻說是他做的,你該怎樣?
回答提示:我首先不會找那位上級領導說明這件事,我會主動找我的主管領導來溝通,因為溝通是解決人際關系的最好辦法,但結果會有兩種:①我的主管領導認識到自己的錯誤,我想我會視具體情況決定是否原諒他。②他更加變本加厲的來威脅我,那我會毫不猶豫地找我的上級領導反映此事,因為他這樣做會造成負面影響,對今后的工作不利。
面試中注意的問題
1、基本注意事項
(1)要謙虛謹慎。面試和面談的區(qū)別之一就是面試時對方往往是多數(shù)人,其中不乏專家、學者,求職者在回答一些比較有深度的問題時,切不可不懂裝懂,不明白的地方就要虛心請教或坦白說不懂,這樣才會給用人單位留下誠實的好印象。
(2)要機智應變。當求職者一人面對眾多考官時,心理壓力很大,面試的成敗大多取決于求職者是否能機智果斷,隨機應變,能當場把自己的各種聰明才智發(fā)揮出來。首先,要注意分析面試類型,如果是主導式,你就應該把目標集中投向主考官,認真禮貌地回答問題;如果是答辯式,你則應把目光投向提問者,切不可只關注甲方而冷待乙方;如果是集體式面試,分配給每個求職者的時間很短,事先準備的材料可能用不上,這時最好的方法是根據(jù)考官的提問在腦海里重新組合材料,言簡意賅地作答,切忌長篇大論。其次要避免尷尬場面,在回答問題時常遇到這些情況:未聽清問題便回答,聽清了問題自己一時不能作答,回答時出現(xiàn)錯誤或不知怎么回答的問題時,可能使你處于尷尬的境地。避免尷尬的技巧是:對未聽清的問題可以請求對方重復一遍或解釋一下;一時回答不出可以請求考官提下一個問題,等考慮成熟后再回答前一個問題;遇到偶然出現(xiàn)的錯誤也不必耿耿于懷而打亂后面問題的思路。
(3)要揚長避短。每個人都有自己的特長和不足,無論是在性格上還是在專業(yè)上都是這樣。因此在面試時一定要注意揚我所長,避我所短。必要時可以婉轉地說明自己的長處和不足,用其他方法加以彌補。例如有些考官會問你這樣的問題:“你曾經(jīng)犯過什么錯誤嗎?”你這時候就可以選擇這樣回答:“以前我一直有一個粗心的毛病,有一次實習的時候,由于我的粗心把公司的一份材料弄丟了,害的老總狠狠地把我批評了一頓。后來我經(jīng)常和公司里一個非常細心的女孩子合作,也從她那里學來了很多處理事情的好辦法,一直到現(xiàn)在,我都沒有因為粗心再犯什么錯?!边@樣的回答,即可以說明你曾經(jīng)犯過這樣的錯誤,回答了招聘官提出的問題,也表明了那樣的錯誤只是以前出現(xiàn),現(xiàn)在已經(jīng)改正了。
(4)顯示潛能。面試的時間通常很短,求職者不可能把自己的全部才華都展示出來,因此要抓住一切時機,巧妙地顯示潛能。例如,應聘會計職位時可以將正在參加計算機專業(yè)的業(yè)余學習情況“漫不經(jīng)心”地講出來,可使對方認為你不僅能熟練地掌握會計業(yè)務,而且具有發(fā)展會計業(yè)務的潛力;報考秘書工作時可以借主考官的提問,把自己的名字、地址、電話等簡單資料寫在準備好的紙上,順手遞上去,以顯示自己寫一手漂亮字體的能力等。顯示潛能時要實事求是、簡短、自然、巧妙,否則也會弄巧成拙。
2、面試時如何消除緊張感
由于面試成功與否關系到求職者的前途,所以大學生面試時往往容易產(chǎn)生緊張情緒,有的大學生可能還由于過度緊張導致面試失敗。所以緊張感在面試中是常見的。緊張是應考者在考官面前精神過度集中的一種心理狀態(tài),初次參加面試的人都會有緊張感覺,慌慌張張、粗心大意、說東忘西、詞不達意的情況是常見的。那么怎樣才能在面試時克服、消除緊張呢?
(1)要保持”平常心”。在競爭面前,人人都會緊張,這是一個普遍的規(guī)律,面試時你緊張,別人也會緊張,這是客觀存在的,要接受這一客觀事實。這時你不妨坦率地承認自己緊張,也許會求得理解。同時要進行自我暗示,提醒自己鎮(zhèn)靜下來,常用的方法是或大聲講話,把面對的考官當熟人對待;或掌握講話的節(jié)奏;或握緊雙拳、閉目片刻,先聽后講;或調(diào)侃兩三句等等,都有助于消除緊張。
(2)不要把成敗看得太重。”勝敗乃兵家常事”要這樣提醒自己,如果這次不成,還有下一次機會;這個單位不聘用,還有下一個單位面試的機會等著自己;即使求職不成,也不是說你一無所獲,你可以在分析這次面試過程中的失敗,總結經(jīng)驗,得出寶貴的面試經(jīng)驗,以新的姿態(tài)迎接下一次的面試。在面試時不要老想著面試結果,要把注意力放在談話和回答問題上,這樣就會大大消除你的緊張感。
(3)不要把考官看得過于神秘。并非所有的考官都是經(jīng)驗豐富的專業(yè)人才,可能在陌生人面前也會緊張,認識到這一點就用不著對考官過于畏懼,精神也會自然放松下來。面試官來面試你其實他也很緊張,如果招不到合適的人,老板就會扣他工資,所以他的壓力也很大。因此,如果面試時你很緊張,那么這場面試一定很快就結束了。
(4)要準備充分。實踐證明,面試時準備得越充分,緊張程度就越小??脊偬岢龅膯栴}你都會,還緊張什么?”知識就是力量”,知識也會增加膽量。面試前除了進行道德、知識、技能、心理準備外,還要了解和熟悉求職的常識、技巧、基本禮節(jié),必要時同學之間可模擬考場,事先多次演練,互相指出不足,相互幫助、相互模仿,到面試時緊張程度就會減少。
(5)要增強自信心。面試時應聘者往往要接受多方的提問,迎接多方的目光,這是造成緊張的客觀原因之一。這時你不妨將目光盯住主考官的腦門,用余光注視周圍,既可增強自信心又能消除緊張感;在面試過程中,考官們可能交頭接耳,小聲議論,這是很正常的,不要把它當成精神負擔,而應作為提高面試能力的動力,你可以想象他們的議論是對你的關注,這樣你就可以增加信心,提高面試的成功的率;面試中考官可能提示你回答問題時的不足甚至錯誤,這也沒有必要緊張,因為每個人都難免出點差錯,能及時糾正就糾正,是事實就坦率承認,不合事實還可婉言爭辯,關鍵要看你對問題的理解程度和你敢于和主考官爭辯真?zhèn)蔚淖孕诺某潭取?br /> 3、面試時應注意的禮儀
(1)服飾要得體。就服飾而言,應聘者在去求職面試前,必須精心選擇自己的服飾。那就是服飾要與自己的身材、身份相符,表現(xiàn)出樸實、大方、明快、穩(wěn)健的風格。在面試時,著裝應該符合時代、季節(jié)、場所、收入的程度,并且要與自己應聘的職業(yè)相協(xié)調(diào),能體現(xiàn)自己的個性和職業(yè)特點。一般說來,服飾要給人以整潔、大方得體的感覺,穿著應以保守、莊重一點為好,不要追求時髦,濃妝艷抹,尤其是女生,如果衣著過于華麗,描眉搽粉,項鏈、耳環(huán)、戒指都戴上,這樣會給用人單位一種輕浮的印象,影響面試的成績女生的裝束以樸實、莊重為好,男生則以整潔、干練為好。要注意提前理好自己的發(fā)型,如在夏季,男生可穿著整潔的襯衫或T 恤衫。另外,裝束打扮一定要與謀求的職業(yè)相稱,應與自己的興趣、愛好、個性、習慣相符合,一個平時著裝隨便的人,突然間讓他衣冠楚楚,他會感到拘謹、不自在。
(2)遵守時間。守時是現(xiàn)代交際時效觀的一種重要原則,是作為一個社會人要遵守的最起碼的禮儀。面試中,最忌的首先就是不守時,因為等待會使人產(chǎn)生焦急煩躁的情緒,從而使面談的氣氛不夠融洽。有專家統(tǒng)計,求職面試遲到者獲得錄用的概率只有相當于不遲到者的一半??梢?#xff0c;守時這一禮儀在面試中的重要性。因此,面試時,千萬不能遲到,而且最好能夠提前十分鐘到達面試地點,以有充分的時間調(diào)整好自己緊張的情緒,也表示求職的誠意。
(3)表情要自然,動作要得體。進門時,不要緊張,表情越自然越好,在對方?jīng)]有請你坐下時切勿急于坐下,請你坐下時,應說聲”謝謝”,坐下后要保持良好的坐姿,不要又是撓頭皮、摳鼻孔,又是挖耳朵,或起二郎腿亂抖。對于女生來講,動作更應得當,任何輕浮的表情或動作都可能會讓招聘人員讀你不滿。另外各種手勢語也要恰當?shù)皿w、自然。
(4)要講究文明禮貌。進門時應主動打招呼:“您好,我是某某”,如果是對方主動約自己面談,一定要感謝對方給自己這樣一個機會;如果是自己約對方面談,一定要表示歉意“對不起,打擾您了”等等。面談時要真誠地注視對方,表示對他的話感興趣,決不可東張西望,心不在焉,不要不停地看手表,否則,顯得不尊重對方。另外,對對方的談話的反應要適度,要有呼應。他說幽默話時,你的笑聲會增添他的興致;他說話嚴肅認真時,你屏住呼吸則強化了氣氛,這種反應要自然坦率,不能故意做作或大驚小怪地做出表情。
(5)保持安靜。在等候面試時,不要到處走動,更不能擅自到考場外面張望,求職者之間的交談也應盡可能地降低音量,避免影響他人應試或思考。最好的辦法就是抓緊時間熟悉可能被提問的問題,積極做好應試準備。
(6)“聽”的學問。首先,要耐心。對對方提起的任何話題,你都應耐心傾聽,不能表現(xiàn)出心不在焉或不耐煩的神色,要盡量讓對方興致勃勃地講完,不要輕易打斷或插話;其次,要細心。也就是要具備足夠的敏感性,善于理解對方的“弦外之音”,即從對方的言談話語之間找出他沒能表達出來的潛在意思,同時要注意傾聽對方說話的語調(diào)和說話的每一個細節(jié);再次,要專心。專心的目的是要抓住對方談話的要點和實質(zhì),因此,你應該保持飽滿的精神狀態(tài),專心致志地注視對方,并有表示聽懂或贊同的聲音或動作;如果對方提出的問題本身很明確,但你卻沒有完全理解,那么你可以以婉轉誠懇的語言提出不明確的部分,對方會進一步解釋的。這樣既能弄清問題的要點和實質(zhì),又能給對方以專心致志的好印象;最后,要注意強化。要認真琢磨對方講話的重點或反復強調(diào)的問題,必要時,你可以進行復述或提問,如:“我同意您剛才所提的……”、“您是不是說……”重復對方強調(diào)的問題,會使對方產(chǎn)生”酒逢知己千杯少”的感覺,往往會促進情感的融風
(7)交談的學問。“聽”有學問,“說”同樣有學問。參加面談的求職者不可避免地會不同程度地產(chǎn)生緊張情緒或羞怯心理,因此你談話之前應盡可能地清除緊張、克服羞怯,并坦率、謙虛地告訴對方“對不起,我有點緊張”等,對方會理解你,甚至會安慰你,幫助你放松。承認緊張對推薦自己沒有什么消極影響,反而會顯示你實在、坦率和求職的誠意,這是良好交談的第一步。其次,采用呼應式的交談,并巧妙地引導話題。求職面談既不同于當眾演講,又不同于自言自語,而在于相互間的呼應。成功的對話是一個相互應答的過程,自己每一句話都應是對方上一句話的繼續(xù),并給對方提供發(fā)言的余地,還要注意巧妙地引導話題。如當所談內(nèi)容與求職無關,而對方卻大談特談時,你可以說:“這件事很有意思,以后一定向您請教。現(xiàn)在我有個問題不明白……”,從而巧妙地轉移了話題;“您認為某項工作應具備哪些素質(zhì)?”以引起雙方感興趣的話題。再次,談話要動之以情,處處表現(xiàn)情真意切,實實在在。不要海闊天空,華而不實,更不能虛情假意,說假話、空話。另外,人們在緊張的情況下,往往講話的節(jié)奏加快,這不利于進行情感交流,因此,談話時應掌握節(jié)奏,必要時可用機智、幽默、風趣的語言使雙方都放慢談話的節(jié)奏。
(8)尊重對方,善解人意。取得招聘者的好感必須真正尊重對方,善解人意。在求職時往往有這種情況:招聘者的資歷或學歷、職稱、年齡等可能不如求職者,此時千萬不能妄自尊大。如果一旦流露出不尊重對方的表情,處處顯示出優(yōu)于對方、待價而沽的情緒,引起了對方的反感,往往會將好事辦砸。
(9)跟進面試情況。很多面試者面試后都會告知你回去等通知,很多時候是在考驗面試者的積極主動性,所以面試結束后要詢問面試官電話和稱呼,以便后續(xù)跟進面試情況。
4、面試九忌
(1)忌握手無力,過于靠近面試官。中國人見面問候的方式是握手,面試時與主試者應恰如其分地輕輕一握,不要有氣無力地被動握手,給對方一種精力不足,身體虛弱之感。落座后應與對方保持合適的距離,不能過分靠近對方,逼視對方。更不能以姓名稱呼主試者,而應時時表現(xiàn)出你對他們的尊敬。
(2)忌坐立不安,舉止失當。面試時決不能做小動作,如搖頭晃腦、頻頻改變坐姿,更不能嚼口香糖、抽煙。主試者可能示意你抽煙,但最好謝絕他的好意。主試者的“寬宏大量”是暴露應聘者弱點的最佳武器之一,在整個面試過程中,注意不要讓自己的小毛病浮出水面。
(3)忌言語離題。有的求職者講話不分場合,不看對象,讓主試者聽得莫名其妙。例如說些俗不可耐的笑話,談及家庭和經(jīng)濟方面的問題,講些涉及個人生活的小道消息,或任意對面試室的家具和裝修評頭論足。主試者可沒有時間猜測你想真正表達的是什么。
(4)忌說得太急。言談中迫不及待想得到這個工作,急著回答自己沒聽清或沒有理解透徹的問題,而不是有禮貌地請對方再說一遍或再說明;不加解釋就自稱掌握某種技術,何處培訓、何時參加、何人教授一律避而不答,令人生疑。所謂“欲速則不達“。
(5)忌提問幼稚。在想考官提問時要考慮自己提的問題是否有價值或者主考官已經(jīng)回答過或解釋過。千萬別提一些很幼稚的問題,如:“辦公室有空調(diào)嗎?”“你知道某某主任在哪里嗎?”
(6)忌言語粗俗。粗俗的語言,毫不修飾語言習慣并不代表你男子漢的氣概或不拘小節(jié),反倒另人難堪、生厭。
(7)忌反應遲鈍。聆聽主考官講話并非單純用耳朵,還包括所有的器官;不僅用頭腦,還得用心靈。如果對方說話時你雙眼無神、反應遲鈍,這組已讓考官對你失去信心,不論你將來如何推銷自己,一切都基本上是徒勞,敗局已定。
(8)忌做鬼臉。頑童做鬼臉,人們往往覺得其天真可愛,而且在平時人們的表達中也經(jīng)常用到。但是,在面試中,夸張的鬼臉會使主試者認為你過于造作、善于偽裝、會演戲,另外,表達惡意的鬼臉更容易另對方覺得你是沒有禮貌、無教養(yǎng)的。
(9)忌像個嫌疑犯一般。應但意識到面試是一種機會平等的面談,不是公安機關審訊嫌疑犯。不要過多理會主試者的態(tài)度。一開始就與你談笑風生的主試者幾乎是沒有的,多數(shù)人的表情是正兒八經(jīng)的。但應聘者還是應該把自己解放出來,不要擔當被審察的角色。這樣才利于自己正常的發(fā)揮。自信別緊張,保持微笑。
怎么向面試官提問題?
團隊成員有多少人?大家怎么分工?目前團隊的核心工作是哪些?
如果我來到公司之后,每天的日常工作是什么?
如何評估員工在試用期間的表現(xiàn)?考核標準是什么?
貴公司與競爭對手不同在什么方面?
您為什么從眾多簡歷里選中我來參加面試?
在這里工作您最享受什么?
最成功的團隊成員與其他普通員工之間有什么不同?
雜東西
這個項目你遇到了哪個比較棘手的問題? 至少兩個
問題:驗證
用什么客服?
七魚—收費的
cube-ui怎么用?
cube-ui什么時候能使用?兩年前可以使用嗎?如果使用別的適配方案呢?不使用cube-ui的
跨域問題?
為什么產(chǎn)生跨域?同源策略是指"協(xié)議+域名+端口"三者相同
具體看我博客
MySQL與MongoDB區(qū)別?
MySQL為關系型數(shù)據(jù)庫
MongoDB為非關系型數(shù)據(jù)庫
mongoose使用步驟
安裝,connect new Schema 創(chuàng)建model 實例化model
JWT是什么?
JSON web Token,簡稱JWT,本質(zhì)是一個token,是一種緊湊的URL安全方法,用于在網(wǎng)絡通信的雙方之間傳遞。一般放在HTTP的headers 參數(shù)里面的authorization里面,值的前面加Bearer關鍵字和空格。 使用 JWT.decode 解析
redux源碼?
createStore combineReducers bindActionCreators applyMiddleware componse
結合react使用:react-redux redux-thunk
React生命周期
初始化階段、掛載階段、更新階段、卸載階段
初始化階段:constructor
掛載階段 :componentWillMount render(必須定義) componentDidMount(通常在這里發(fā)起異步請求,獲取數(shù)據(jù),使用axios)
更新階段:componentWillReceiveProps(props發(fā)生變化以及父組件重新渲染時都會觸發(fā)該生命周期函數(shù))
shouldComponentUpdate(用來判斷是否重新渲染,通常在這里優(yōu)化性能)
componentWillUpdate(組件即將更新時觸發(fā))
componentDidUpdate(在組件更新后調(diào)用)
卸載階段:componentWillUnmount(在組件卸載錢調(diào)用)
v16.4
static getDerivedStateFromProps(每次更新都會調(diào)用)
getSnapshotBeforeUpdate(用來返回一個快照)
webpack
熟練掌握Webpack的常用配置,能夠自己構建前端環(huán)境,并進行項目優(yōu)化;
談談你對webpack的看法:
webpack是一個模塊打包工具,可以使用它管理項目中的模塊依賴,并編譯輸出模塊所需的靜態(tài)文件。它可以很好地管理、打包開發(fā)中所用到的HTML,CSS,JavaScript和靜態(tài)文件(圖片,字體)等,讓開發(fā)更高效。對于不同類型的依賴,webpack有對應的模塊加載器,而且會分析模塊間的依賴關系,最后合并生成優(yōu)化的靜態(tài)資源。
webpack的基本功能和工作原理?
代碼轉換:TypeScript 編譯成 JavaScript、SCSS 編譯成 CSS 等等
文件優(yōu)化:壓縮 JavaScript、CSS、HTML 代碼,壓縮合并圖片等
代碼分割:提取多個頁面的公共代碼、提取首屏不需要執(zhí)行部分的代碼讓其異步加載
模塊合并:在采用模塊化的項目有很多模塊和文件,需要構建功能把模塊分類合并成一個文件
自動刷新:監(jiān)聽本地源代碼的變化,自動構建,刷新瀏覽器
代碼校驗:在代碼被提交到倉庫前需要檢測代碼是否符合規(guī)范,以及單元測試是否通過
自動發(fā)布:更新完代碼后,自動構建出線上發(fā)布代碼并傳輸給發(fā)布系統(tǒng)。
webpack構建過程:
從entry里配置的module開始遞歸解析entry依賴的所有module
每找到一個module,就會根據(jù)配置的loader去找對應的轉換規(guī)則
對module進行轉換后,再解析出當前module依賴的module
這些模塊會以entry為單位分組,一個entry和其所有依賴的module被分到一個組Chunk
最后webpack會把所有Chunk轉換成文件輸出
在整個流程中webpack會在恰當?shù)臅r機執(zhí)行plugin里定義的邏輯
webpack打包原理
將所有依賴打包成一個bundle.js,通過代碼分割成單元片段按需加載
什么是entry,output?
entry 入口,告訴webpack要使用哪個模塊作為構建項目的起點,默認為./src/index.js
output 出口,告訴webpack在哪里輸出它打包好的代碼以及如何命名,默認為./dist
什么是loader,plugins?
loader是用來告訴webpack如何轉換某一類型的文件,并且引入到打包出的文件中。
plugins(插件)作用更大,可以打包優(yōu)化,資源管理和注入環(huán)境變量
什么是bundle,chunk,module?
bundle是webpack打包出來的文件,chunk是webpack在進行模塊的依賴分析的時候,代碼分割出來的代碼塊。module是開發(fā)中的單個模塊
npm打包時需要注意哪些?如何利用webpack來更好的構建?
有哪些常見的Loader?他們是解決什么問題的?
file-loader:把文件輸出到一個文件夾中,在代碼中通過相對 URL 去引用輸出的文件url-loader:和 file-loader 類似,但是能在文件很小的情況下以 base64 的方式把文件內(nèi)容注入到代碼中去source-map-loader:加載額外的 Source Map 文件,以方便斷點調(diào)試image-loader:加載并且壓縮圖片文件babel-loader:把 ES6 轉換成 ES5css-loader:加載 CSS,支持模塊化、壓縮、文件導入等特性style-loader:把 CSS 代碼注入到 JavaScript 中,通過 DOM 操作去加載 CSS。eslint-loader:通過 ESLint 檢查 JavaScript 代碼
webpack默認遵循commonjs規(guī)范 module.exports
es6中的規(guī)范 export
使用webpack進行打包時有兩種模式:
開發(fā)模式:
生產(chǎn)模式:要壓縮 如果沒有插件 就不會壓縮
默認情況下webpack的配置文件叫webpack.config.js,可以通過–config指定webpack的配置文件名
流程:
嘗試配置腳手架:可以
loader:
css需要兩個loader來處理:css-loader style-loader
postcss-loader 有動畫 目的就是使用瀏覽器的兼容。
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
mini-css-extract-plugin 以前都是之間引入內(nèi)部樣式,把css專門打包成一個css文件,在index.html文件中引入css
optimize-css-assets-webpack-plugin css壓縮
terser-webpack-plugin css壓縮 js不能壓縮了 然后由來一個插件 能壓縮js
file-loader 是讓webpack打包圖片
url-loader可以讓圖片轉化base64,也可以讓webpack打包圖片
webpack 默認情況下 不支持js的高級語法 。 babel轉化 npm i @babel/core @babel/preset-env babel-loader --save-dev
plugins
html-webpack-plugin 根據(jù)模塊生成一個html文件 此時不會在dist文件夾下面 新建index文件了 我需要 在public新建 新建index文件 根據(jù)這個模板文件 在內(nèi)存中生成 index.html 然后自動引入bundle.js
clean-webpack-plugin 去掉沒有用到的模塊
面試題:
2.1. loader是使webpack擁有加載和解析非js文件的能力
2.2. plugin 可以擴展webpack的功能,使得webpack更加靈活。可以在構建的過程中通過webpack的api改變輸出的結果
自己整理的面試題
文章目錄
- title: 面試題匯總
- HTML+CSS面試題
- 001.Flex布局
- 002.HTML5+CSS3新特性
- 003.盒子模型
- 004.如何讓一個div水平居中?
- 005.如何讓一個div水平垂直居中?
- 006.如何清除浮動?
- 007.css3實現(xiàn)三欄布局,左右固定,中間自適應?
- 008.CSS中 link 和@import 的區(qū)別是什么?
- 009.transition和animation的區(qū)別?
- 010.CSS優(yōu)先級?
- 011.使元素消失的方法?
- 012.為什么css放在頂部而js寫在后面?
- 013.理解BFC嗎?
- 014.Less的使用
- Vue面試題
- 001.vue中的MVVM模式
- 002.v-show與v-if的區(qū)別
- 003.指令keep-alive
- 004.路由嵌套
- 005.指令v-el的使用
- 006.vue中使用事件名
- 007.vue.js是什么
- 008.route 和 router 的區(qū)別是什么?
- 009.mvvm和mvc區(qū)別?它和其它框架(jquery)的區(qū)別是什么?哪些場景適合?
- 010.vue的優(yōu)點是什么?
- 011.vuex面試相關
- 012.如何讓CSS只在當前組件中起作用
- 013.響應式系統(tǒng)簡述:
- 014.談談你對虛擬DOM的理解?
- 015.Vue 中 key 值的作用?
- 016.vue 中怎么重置 data?
- 017.組件中寫 name 選項有什么作用?
- 018.為什么需要 nextTick?
- 019.vue 首屏加載優(yōu)化方案
- 020.Vue3.0 有沒有過了解?
- 021.說一下Vue的雙向綁定數(shù)據(jù)的原理
- 022.NextTick 是做什么的?
- 023.Vue 組件 data 為什么必須是函數(shù)?
- 024.計算屬性computed 和事件 methods 有什么區(qū)別
- 025.vue 等單頁面應用的優(yōu)缺點:
- 026.vue生命周期
- 027.Vue 導航守衛(wèi)(路由的生命周期)
- 028.常見的跨域解決方案
- 029.什么是webpack及其優(yōu)點
- 030.Vue中項目如何優(yōu)化?
- 031.Vue遞歸組件的使用
- 032.Vue的mode中hash與history的區(qū)別
- 033.vue中常用的命令
- 034.Vue 的父組件和子組件生命周期鉤子函數(shù)執(zhí)行順序?
- 035.在哪個生命周期內(nèi)調(diào)用異步請求?
- 036.組件中 data 為什么是一個函數(shù)?
- 037.Vue組件間通信有哪幾種方式?
- 038.Proxy 與 Object.defineProperty 優(yōu)劣對比
- 039.虛擬 DOM 的優(yōu)缺點?
- 040.虛擬 DOM 實現(xiàn)原理?
- 041.vue插槽的使用?
- 042.active-class是哪個組件的屬性?
- 043.怎么定義vue-router的動態(tài)路由以及如何獲取傳過來的動態(tài)參數(shù)?
- 044.vue-loader是什么?使用它的用途有哪些?
- 045.為什么避免 v-if 和 v-for 用在一起?
- 046.vue中Class 與 Style 如何動態(tài)綁定?
- 047.怎樣理解 Vue 的單向數(shù)據(jù)流?
- 048.直接給一個數(shù)組項賦值,Vue 能檢測到變化嗎?
- 049.vue.js的核心是什么?
- 050.vue的常用修飾符?
- 051.VUE和REACT有什么區(qū)別?
- 052.請說出vue.cli項目中src目錄每個文件夾和文件的用法?
- 053.單頁面應用和多頁面應用區(qū)別及優(yōu)缺點?
- 054.vue-router單頁面應用的切換?
- 055.為什么不能用a標簽?
- 056.Vue雙向數(shù)據(jù)綁定實現(xiàn)原理?
- 057.vue兩個核心點是什么?
- 058.Vue不能檢測數(shù)組或對象變動問題的解決方法有哪些?
- HTTP面試題
- 001.網(wǎng)絡七層模型
- 002.三次握手,四次揮手
- 003.從輸入一個網(wǎng)址到看到一張網(wǎng)頁,經(jīng)歷了什么?
- 004.HTTP的請求與響應
- 005.HTTP狀態(tài)碼
- 006.HTTP中的請求方法(8種)
- 007.HTTP優(yōu)化策略(博客)
- 008.HTTP中的頭(重點)
- 009.HTTP中的代理
- 010.http和https有什么不同?
- 011.localStorage, sessionStorage, cookie, session有什么區(qū)別?
- 012.從輸入一個網(wǎng)址到瀏覽器顯示頁面的全過程?
- 013.簡單說一下三次握手與四次揮手,為什么一個三次,一個四次?
- 014.說一下web緩存?
- 015.常見的web安全及防護原理?
- JS面試題
- JS中的方法(重中之重)
- JS中的繼承
- 001.Promise原理(\*\*)?
- 002.then可以鏈式調(diào)用,多個then時,如何走到下一個then的失敗回調(diào)?
- 003.then可以鏈式調(diào)用,多個then時,如何終止下一個then的調(diào)用?
- 004.js的異步解決方案有哪些(\*\*)?
- 005.把一個偽數(shù)組變成真實的數(shù)組?
- 006.使用過ES6中哪些新語法(\*\* 熟練使用ES6語法)?
- 007.實現(xiàn)深拷貝(重點)淺拷貝?
- 008.求數(shù)組的交集、并集、差集?
- 009.ES6中的模塊化?
- 010.模塊化的發(fā)展流程?
- 011.JS中的閉包
- 012.瀏覽器事件環(huán) (宏、微任務)
- 013.ES6新增了哪些內(nèi)容,簡單說一下
- 014.對JS原型和原型鏈的理解?
- 015.對JS作用域和作用域鏈的理解?
- 016.JS中new究竟做了什么?
- 017.JS中this到底指向誰?怎么改變this指向?
- 018.TS主要是干什么的?
- 項目相關
- 001.適配?
- 002.首頁白屏怎么解決?
- 003.封裝axios?
- 004.管理狀態(tài)(數(shù)據(jù))
- 005.來回切換tabbar時,不能重新請求數(shù)據(jù)
- 006.來回切換tabbar時,需要加上動畫
- 007.把數(shù)據(jù)緩存到內(nèi)存中,避免再次去請求接口
- 008.有的頁面需要緩存,有的不需要怎么辦?
- 009.在一個頁面中滑倒中間位置,如果切換頁面,再切換回去,應該還是處于中間位置怎么辦?
- 010.對于一個app來說,有的頁面需要登錄后才能看到,有的則不需要怎么辦?
- 011.怎么驗證登錄?
- 非技術性問題
- 請你做一下自我介紹?
- 你覺得你最大的優(yōu)點是什么?
- 說說你最大的缺點?
- 你對加班的看法?
- 如何安排自己的時間?會不會排斥加班?
- 在五年的時間內(nèi),你的職業(yè)規(guī)劃?
- 你的朋友是如何評價你的?
- 你還有什么要問我的嗎?
- 你對薪資的要求?
- 為什么選擇我們這家公司?
- 談談你對跳槽的看法?
- 談談如何適應新的工作環(huán)境?
- 你來我們公司做前端可以嗎?
- 假設你在某單位工作,成績比較突出,得到領導的肯定。但同時你發(fā)現(xiàn)同事們越來越孤立你,你怎么看這個問題?你準備怎么辦?
- 請說說你對我們公司了解多少?
- 請說出你選擇這份工作的目的?
- 你能為我們公司帶來什么呢?
- 怎樣看待學歷和能力?
- 你的業(yè)余愛好是什么?
- 作為被面試者請你給我打一下分?
- 你怎么理解PHP這個職位?
- 喜歡這份工作的哪一點?
- 對工作的期望與目標何在?
- 就你申請的這個職位,你認為你還欠缺什么?
- 你通常如何處理別人的批評?
- 怎樣對待自己的失敗?
- 什么會讓你有成就感?
- 眼下你生活中最重要的是什么?
- 你為什么愿意到我們公司來工作?
- 你和別人發(fā)生過爭執(zhí)嗎?你是怎樣解決的?
- 你做過的哪件事最令自己感到驕傲?
- 想過創(chuàng)業(yè)嗎?
- 對這項工作,你有哪些可預見的困難?
- 如果我錄用你,你將怎樣開展工作?
- 你希望與什么樣的上級共事?
- 與上級意見不一致時,你將怎么辦?
- 您在前一家公司的離職原因是什么?
- 你工作經(jīng)驗欠缺,如何能勝任這項工作?
- 如果你在這次面試中沒有被錄用,你怎么打算?
- 談談你做過的項目?
- 談談你過去的工作中,最令你受挫的事情?
- 你覺得原來的工作對你從事PHP開發(fā)有幫助嗎?
- 工作中你難以和同事、上司相處,你該怎么辦?
- 如果通過這次面試我們單位錄用了你,但工作一段時間卻發(fā)現(xiàn)你根本不適合這個職位,你怎么辦?
- 在完成某項工作時,你認為領導要求的方式不是最好的,自己還有更好的方法,你應該怎么做?
- 如果你的工作出現(xiàn)失誤,給本公司造成經(jīng)濟損失,你認為該怎么辦?
- 如果你做的一項工作受到上級領導的表揚,但你主管領導卻說是他做的,你該怎樣?
- 面試中注意的問題
- 怎么向面試官提問題?
- 雜東西
- 這個項目你遇到了哪個比較棘手的問題? 至少兩個
- 用什么客服?
- cube-ui怎么用?
- 跨域問題?
- MySQL與MongoDB區(qū)別?
- mongoose使用步驟
- JWT是什么?
- redux源碼?
- React生命周期
- webpack
- 談談你對webpack的看法:
- webpack的基本功能和工作原理?
- webpack構建過程:
- webpack打包原理
- 什么是entry,output?
- 什么是loader,plugins?
- 什么是bundle,chunk,module?
- npm打包時需要注意哪些?如何利用webpack來更好的構建?
- 有哪些常見的Loader?他們是解決什么問題的?
- 流程:
- loader:
- plugins
- 自己整理的面試題
- 一. js中的面試點
- 01. 閉包
- 02. JavaScript的作?域鏈理解
- 03. 對原型鏈的理解
- 04. this指向的總結
- 05. call、apply、bind三者的區(qū)別
- 06. new 實現(xiàn)的原理
- 07. 為什么局部變量不能在外部進行訪問
- 08.
- 二. vue相關知識點
- 01. 防抖節(jié)流?
- 02. 封裝axios
- 03. 如何解決首頁白屏問題?
- 04. mongoDB與mySql的區(qū)別?
- 05. 如何在前端配置代理,解決跨域問題?
- 06. keep-alive緩存組件
- 07. 按需加載與預先加載
- 08. 如何解決異步組件之間切換出現(xiàn)的閃動問題
- 09. VUE有點
- 三. react相關知識點
- 1. React中的key的作用
- 2. jsx語法注意事項
- 3. react的核心思想
- 4. react-router-dom
- 5. redux
- 四 分支的操作
- 1. git沖突了怎么辦
- 2. 分支的大量使用
一. js中的面試點
01. 閉包
閉包是什么
閉包 =『函數(shù)』和『函數(shù)體內(nèi)可訪問的變量總和』
閉包的作用
閉包最?的作?就是隱藏變量,閉包的??特性就是內(nèi)部函數(shù)總是可以訪問其所在的外部函數(shù)中聲明的參數(shù)和變量,即
使在其外部函數(shù)被返回(壽命終結)了之后
02. JavaScript的作?域鏈理解
本質(zhì)是JavaScript在執(zhí)?過程中會創(chuàng)造可執(zhí)?上下?,可執(zhí)?上下?中的環(huán)境中含有外部環(huán)境的引?,我們可以通過這個引?獲取外部環(huán)境的變量、聲明等,這些引?串聯(lián)起來?直指向全局的環(huán)境,因此形成了作?域鏈。
03. 對原型鏈的理解
從原型對象是什么,原型鏈如何形成的進行回答
原型對象
絕大部分函數(shù)都有一個prototype屬性,這個屬性是原型對象用來創(chuàng)建新對象實例,而所有被創(chuàng)建的對象都會共享原型對象,因此這些對象便可以訪問原型對象的屬性。
原型鏈
每個對象都有 __proto__屬性,此屬性指向該對象的構造函數(shù)的原型。對象可以通過__proto__ 與上游的構造函數(shù)的原型對象連接起來,?上游的原型對象也有?個 __proto__,這樣就形成了原型鏈。
04. this指向的總結
05. call、apply、bind三者的區(qū)別
三者都是改變當前this的指向,但具體的使用方式,都存在著一定的區(qū)別,具體請參考下面call、apply、bind應用的介紹的文檔:
- call、apply、bind應用的介紹
06. new 實現(xiàn)的原理
07. 為什么局部變量不能在外部進行訪問
從執(zhí)行上下文的角度進行分析。執(zhí)行上下文作用:給全局代碼或局部代碼提供數(shù)據(jù)。
當執(zhí)行全局代碼時,產(chǎn)生一個全局執(zhí)行上下文。全局上下文只能訪問全局上下文里面的數(shù)據(jù);當執(zhí)行函數(shù)代碼時,產(chǎn)生一個局部執(zhí)行上下文。 此時局部執(zhí)行上下文包含:自身的執(zhí)行上下文與全局執(zhí)行上下文,所以,內(nèi)部可以訪問外部數(shù)據(jù);外部不能訪問內(nèi)部數(shù)據(jù)。
08.
二. vue相關知識點
01. 防抖節(jié)流?
防抖(debounce)02. 封裝axios
Axios 請求攔截器 and 響應攔截器
攔截的流程
主要截取,請求 或 響應在被 then 或者 catch 處理之前,做些什么。
我們可以把每一次請求想象成一條管道里的流過的水, 當一個請求發(fā)出的時候,會先流過 interceptors 的 request 部分, 接著 request 會發(fā)出,當接受到響應時,會先流過 interceptors 的 response 部分,最后 response。
封裝的要點
封裝請求攔截,封裝響應攔截,封裝防止多次請求,封裝取消請求等
03. 如何解決首頁白屏問題?
1,把首頁做服務端渲染,使用nuxt.js寫項目
2,預渲染 數(shù)據(jù)還沒有回來前,先返回的一些死數(shù)據(jù),多用在首頁面的內(nèi)部經(jīng)常不變
3,配置骨架屏 ,或者加載動畫
04. mongoDB與mySql的區(qū)別?
MySQL為關系型數(shù)據(jù)庫,而MongoDB為非關系型數(shù)據(jù)庫,起來都比較簡單,沒有關系型數(shù)據(jù)庫那么復雜。Mongo的寫操作會比關系型數(shù)據(jù)庫快很多
05. 如何在前端配置代理,解決跨域問題?
跨域出現(xiàn)的原因,(協(xié)議,域名,端口,+ ajax請求),
代理就是在本地開啟一臺服務器,請求與代理服務器同源,然后服務器去請求
06. keep-alive緩存組件
給需要緩存的頁面添加標識,進行緩存
可以把數(shù)據(jù)緩存到內(nèi)存中,避免再次去請求接口。
07. 按需加載與預先加載
預先加載適合于相冊類項目,按需加載適合于圖片較多的圖片展示類項目。
08. 如何解決異步組件之間切換出現(xiàn)的閃動問題
使用vue的高階組件,組件里面套一個組件
09. VUE有點
組件化開發(fā)(復用性)–提高效率
低耦合
虛擬dom
視圖,數(shù)據(jù),結構分離
單頁面路由
豐富的Api方法
雙向的數(shù)據(jù)綁定
單向數(shù)據(jù)流
三. react相關知識點
1. React中的key的作用
Key是 React 用于追蹤哪些列表中元素被修改、被添加或者被移除的輔助標識。
react中有兩種組件 類組件(有狀態(tài)組件) 與 函數(shù)組件(無狀態(tài)組件)
類組件需要繼承React.Component這個屬性
2. jsx語法注意事項
jsx中必須有一個根標簽
jsx嚴格區(qū)分大小寫,所有標簽都要關閉,屬性必須有引號包含
3. react的核心思想
- 虛擬dom
- 數(shù)據(jù)驅動dom,不需要操作dom
4. react-router-dom
history的編程式路由:不會自動跳轉過去,需要強制刷新
5. redux
applyMiddleware:
bindActionCreators:
combineReducers:
compose:
createStore:
四 分支的操作
1. git沖突了怎么辦
情景一:在當前的分支上,直接修改沖突代碼----->add------>commit。
情景二:在本地當前分支上,修改沖突代碼------>add------->commit-------->push
2. 分支的大量使用
查看分支:git branch
創(chuàng)建分支:git branch <name>
切換分支:git checkout <name>或者git switch <name>
創(chuàng)建+切換分支:git checkout -b <name>或者git switch -c <name>
合并某分支到當前分支:git merge <name>
刪除分支:git branch -d <name>
人事部、銷售部、產(chǎn)品部、設計部、技術部、測試部、財務部、運營推廣部
共40人:
UI:4人
技術部:
android:3人
ios:3人
H5:5人
Java:7人
測試部:
總結
- 上一篇: pycharm此应用程序无法启动,因为无
- 下一篇: 高等院校毕业生登记表计算机水平怎么填,关