淘客网站建设,做外贸在那些网站找业务,网站建设和管理什么意思,网页设计模板素材营销型首页一、总体上
1、回答每个题目时#xff0c;*最好能够联系项目的场景*#xff08;前提是#xff1a;你是知道的#xff09;#xff0c;这样会让对方很满意#xff0c;这也是为什么#xff0c;同样是回答上了#xff0c;但是面试结果好坏不同。
2、回答时#xff0c;一…
一、总体上
1、回答每个题目时*最好能够联系项目的场景*前提是你是知道的这样会让对方很满意这也是为什么同样是回答上了但是面试结果好坏不同。
2、回答时一定要带上序号如第一、第二 首先、其次
3、对80%的面试题需要达到理解
1、把面试题的答案以前的课堂视频课堂案例统一进行整理特别是自己的薄弱点。 2、可以在背诵面试题的同时敲一下代码。加深印象和理解。眼过千遍不如手敲一遍
4、背诵时最好沿着输入》理解》输出的思路。不要只停留在输入背诵的步骤中。
如
输入背诵完一道题目把答案输入到大脑中。
理解消化把答案盖住大脑思考回忆如果这个步骤中效果不好就需要观察答案中的描述逻辑每一步在描述哪些问题有没有联系找出关键词等等。
输出写出来。写的时候把序号带上缩进对齐都做好格式整齐了就能带动背诵时的思路清晰。 二、题目进行分类
答案和模板参考VUE面试题系列01带数字带序号前端面试题-CSDN博客
1、两个知识点的区别
先说相同点再说不同点不同点要分维度分出维度才好理解。
如 v-show 与 v-if 有什么区别 一、相同点 v-show和 v-if都是 控制 dom元素 的 显示和隐藏 的。 二、不同点 1、原理不同 v-if是通过dom元素的删除和添加来完成显示和隐藏 v-show是通过修改样式属性display的值来完成显示和隐藏。 2、性能消耗的不同 v-if的性能损耗体现在切换时 v-show的性能损耗在首次特别是首次处于的显示的情况下 3、使用场景的不同 v-if使用在元素切换不频繁的场景。 v-show使用在元素切换频繁的场景。 4、安全性的不同 v-if的安全性好 v-show的安全性不好。 再如 请问 cookielocalStoragesessionStorage 的区别 相同点 cookielocalStoragesessionStorage都是在客户端保存数据的存储数据的类型都是字符串。 不同点 1、生命周期 1、cookie如果不设置有效期那么就是临时存储存储在内存中是会话级别的会话结束后cookie也就失效了如果设置了有效期那么cookie存储在硬盘里有效期到了就自动消失了。 2、localStorage的生命周期是永久的关闭页面或浏览器之后localStorage中的数据也不会消失。localStorage除非主动删除数据否则数据永远不会消失。 3、sessionStorage仅在当前会话下有效。sessionStorage引入了一个“浏览器窗口”的概念sessionStorage是在同源的窗口中始终存在的数据。只要这个浏览器窗口没有关闭即使刷新页面或者进入同源另一个页面数据依然存在。但是sessionStorage在关闭了浏览器窗口后就会被销毁。同时独立的打开同一个窗口同一个页面sessionStorage也是不一样的。 可以简单的理解为sessionStorage没有设置有效期的cookie。 如果说把cookie的有效期设置为永远永远永久那么就是localStorage。 cookie没有设置有效期那么就是sessionStorage 2、网络流量 cookie的数据每次都会发给服务器端而localstorage和sessionStorage不会与服务器端通信纯粹为了保存数据所以webstorage更加节约网络流量。 3、大小限制 cookie大小限制在4KB非常小localstorage和sessionStorage在5M 4、安全性 WebStorage不会随着HTTP header发送到服务器端所以安全性相对于cookie来说比较高一些不会担心截获。 5、使用方便性上【这一点可以不说】 WebStorage提供了一些方法数据操作比cookie方便 setItem (key, value) —— 保存数据以键值对的方式储存信息。 getItem (key) —— 获取数据将键值传入即可获取到对应的value值。 removeItem (key) —— 删除单个数据根据键值移除对应的信息。 clear () —— 删除所有的数据 key (index) —— 获取某个索引的key 2碰到优缺点的描述
直接按照序号的方式描述如果担心自己会忘掉一些点一开始不要说总数直接说序号。
如 说说你对 SPA 单页面的理解它的优缺点分别是什么 首先 SPA的英文是single-page application 也就是说整个项目中只有一个页面。 单页面应用的实现思路 就是在 Web 页面初始化时加载所有的 HTML、JavaScript 和 CSS页面的内容的变化靠动态操作DOM。 其次 说说它的优点和缺点 它的优点有三点 第一点局部刷新。用户体验好、快内容的改变不需要重新加载整个页面。 第二点服务器的压力小。基于上面一点SPA 对服务器的压力小 第三点前后端职责分离。架构清晰前端进行交互逻辑后端负责数据处理 它的缺点也有三点 第一点初次加载耗时多。为实现单页 Web 应用功能及显示效果需要在加载页面的时候将 JavaScript、CSS 统一加载部分页面按需加载 第二点**前进后退路由管理问题。**由于单页应用在一个页面中显示所有的内容所以不能使用浏览器的前进后退功能所有的页面切换需要自己建立堆栈管理这是vue-router做的 第三点SEO 难度较大。由于所有的内容都在一个页面中动态替换显示所以在 SEO 上其有着天然的弱势。 ———————————————— 版权声明本文为CSDN博主「田江」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。 原文链接VUE面试题系列01带数字带序号前端面试题-CSDN博客 3谈谈你对某某问题的理解和了解这种题目描述比较模也是比较常见的
基本上按照如下思路有哪个说哪个
1是什么what技术的作用和意思简练
2有什么have
3怎么用how
(4) 什么地方用where项目场景
5如果能够进一步说原理最好。为什么 why 如 谈谈你对 Vue 生命周期的理解 1、生命周期是什么 Vue 实例有一个完整的生命周期也就是从开始创建、初始化数据、编译模版、挂载 Dom - 渲染、更新 - 渲染、卸载等一系列过程我们称这是 Vue 的生命周期。 2、生命周期有四个阶段和八个钩子函数 vue的生命周期核心经历了四个阶段在四个阶段的前后分别有两个钩子函数。 第一阶段数据挂载阶段把配置项data中的属性赋给了vue对象本身并做了数据劫持。 该阶段前后的两个钩子函数beforeCreate和created 第二阶段模板渲染阶段把vue对象的数据渲染到模板上。 该阶段前后的两个钩子函数beforeMount和mounted 第三阶段组件更新阶段当数据发送变化时组件会进行重新渲染所以准确的说是组件重新渲染阶段。 该阶段前后的两个钩子函数beforeUpdate和updated 第四阶段组件销毁阶段组件销毁。 该阶段前后的两个钩子函数beforeDestroy和destroyed 可以补充 当使用keep-alive包裹组件时会有组件激活和停用之说这两个钩子函数分别是activited和deactivated 1 还可以补充 项目场景 1、当页面初始的数据来自后端发送请求在哪个钩子函数created。为什么请看第八个题。 2、在destroyed钩子函数里销毁不使用的全局性挂载window对象下的对象定时器、清除事件总线绑定的事件。 再如 谈谈你对vueX的理解 1、vueX是干什么的 1、vuex能够保存全局数据供整个应用使用可以在组件之间传递数据。 2、vuex保存的数据是响应式的 3、vuex保存的数据可以跟踪状态的变化 2、vueX的核心概念有什么 state : 数据仓库 存储所有的 共享数据 相当于vue组件里的data getter 在state的基础上 派生的数据 相当于vue组件里 computed mutation修改state的数据时用mutation这与跟踪状态 有关系 action解决mutation里只能有同步代码的问题action里可以有异步代码 modules模块化的解决方案 3、vueX的数据流 组件里 dispatch派发vueX中的 actionaction里commit提交mutationmutation里修改state。state被修改后会响应式到组件上。 4、辅助函数 现在的面试都会问的比较多。而且在项目中大部分都会使用辅助函数来简化项目中的代码。 有了这些辅助函数后在组件里不用再写$store了。 mapState把vuex中state状态映射合并到组件对象的computed上。直接使用计算属性就可以拿到vuex的状态 mapGetters把vueX的getters映射到组件的computed上。 mapMutations把vueX的mutations映射到组件的methods上。 mapActions 把vueX的actions映射到组件的methods上。 5、modules 当项目比较大时所有的全局数据存放在state里会非常混乱怎么办使用module把数据分门别类的进行处理即模块化。 每个模块是一个独立的store。然后由总体的store引入所有的分模块store。 再如 路由守卫 1、什么是路由守卫 控制组件的跳转对是否能够进入某个路径对应组件做限制。根据业务逻辑来判定是否可以进入某个组件。 什么时候使用路由守卫当进入某个路径时会有限制。就需要使用路由守卫。 2、路由守卫有哪些分类及其对应的钩子函数 1、全局守卫 1、前置钩子beforeEach当地址栏的路径发生变化时会先调用该钩子函数。 2、后置钩子afterEach当路由匹配成功后先调用该函数然后才创建组件。 2、路由独享守卫 1、只有前置beforeEnter当匹配到某个指定的路由后会先调用该函数然后再创建组件。 3、组件内部守卫 1、前置beforeRouteEnter当路由匹配成功后进入组件前先调用该函数。 2、路径更新组件复用beforeRouteUpdate 当地址栏路径发生变化但是进入的组件和上一个组件是同样的情况下会调用先该函数。如 3、离开beforeRouteLeave当通过路由的方式离开某个组件前会调用该函数。 3、路由钩子函数的参数 to想去哪个路由to和$route是同样的对象 from来自哪个路由对象from和$route是同样的对象 next下一步何去何从。 next(true)默认就是true表示继续前行 next(false)不能前行 next(路径字符串或者对象)跳转到指定的路径。 4碰到“为什么要使用*”时
可以先说不使用它会出现的问题。
如 vue组件中 data 为什么是一个函数 因为data是引用类型如果不用函数复用的组件的data会指向同一块内存区域导致数据之间互相影响。 而使用函数时每次实例化组件时会调用data函数return一个新(new)的对象。这样每个实例可以维护一份被返回对象的独立的拷贝组件实例之间的 data 属性值不会互相影响。 5、在碰到大段详细的描述时
1流程清晰对文字进行整理。
2如果流程不是很清晰建议结合项目场景进行描述。 6问原理性的题目
需要解释原理的思路和牵扯到的每个原生知识点的目的作用。带上序号最好
如 vue2响应式原理 深入响应式原理 — Vue.js vue2响应式的原理是借助数据劫持和发布订阅者模式来完成的。 1、数据劫持 目的能够感知到数据的改变。 数据劫持是使用ES5的Object.defineProperty()。把data配置项中的所有数据进行遍历转成setter和getter或者说给每个属性增加set和get函数既就是访问器属性。 2、发布订阅者模式 目的当数据改变时直接和间接使用该数据的模板处都会有相应的改变模板会重新渲染。 可能对方会进一步追问能不能说的详细点。 怎么回答 1、在vue构造函数里循环变量data中所有属性。首先保存属性的值再利用Object.defineProperty()给每个属性增加setter和getter方法。然后每个属性再new 一个自己的Watcher对象订阅对象进行监听让所有使用该属性的dom元素都订阅该属性。同时在set函数里会发布。发布就相当于调用render函数重新渲染页面。 2、当修改某个属性的值时该属性的set函数就被调用同时会调用所有订阅该属性的订阅者函数。