千锋教育-做有情怀、有良心、有品质的职业教育机构

当前位置:首页  >  关于学院  >  技术干货  >  html5技术干货  >  正文

前端菜鸟面试攻略

来源:千锋教育
作者:qyf
关键词: 南京前端 前端
2022-09-15
分享

前端菜鸟面试攻略

  一、准备阶段:

  首先,对面试题进行分类

  如:问若干个知识点区别的、问原理性问题的、问概念性问题的、谈谈你对某某问题的理解和了解的、问优缺点的、为什么要使用某某知识点的等等

  其次,描述时,一定要有数字,序号,或者等同序号的文字(首先,其次……),同时可以使用总分,总分总的方式进行回答

  如果不好描述的,就结合项目场景。结合项目场景会成为加分项,这也是为什么同样回答正确

  那为什么有的人被录用了?有的人没有被录用的原因呢?

  以下是我根据不同问题类型的回答方式的总结,也有示例:(划重点)

  1、问若干个知识点的区别

  能问区别的,一定背后有某些相似点----单词很像,实现同样的功能等等,这种问题的回答:首先,先说共同点或者说,再说异同点。

  示例:

  题目:v-show 与 v-if 有什么区别?

  答案:

  首先,我先说说他们的共同点。v-show 与 v-if都能控制dom元素的显示与隐藏。

  其次,我从两个方面去说说他们的不同点:

  1)原理:v-if 是真正的条件渲染,是利用控制dom元素(组件)及其事件监听器的添加和删除来完成显示和隐藏的,而v-show 是通过控制样式的display的属性来完成显示和隐藏的(如果,你觉得你能进一步解释最好)

  2)使用场景: 由以上的原理得出,使用场景的区别,v-show使用在频繁切换dom元素(组件)的情况;而v-if使用在不会频繁切换的场景。

  2、问知识点的优缺点:

  直接按照序号的方式描述,如果担心自己会忘掉一些点,一开始不要说总数,直接说序号。

  示例:

  题目:请你描述一下ajax的优缺点:

  答案:

  优点有3个(我理解的ajax优点是):

  1) 把服务器的一部分工作放在前端完成,减轻了服务器的压力

  2) 局部刷新带来了速度性能的提升,节约流量

  3) ……

  缺点:

  1) 没法做seo(seo不友好)

  2) ……

  3、谈谈你对某某问题的理解和了解(这种题目描述比较模糊)

  1) 先说技术的作用和意思(简练)

  2) 再说使用项目场景

  3) 如果能够进一步说原理最好。

  示例:

  题目:怎样理解 Vue 的单向数据流?

  答案:

  首先,单项数据流是发生在 父子组件传值 的时候,所有的 prop 使得其父子 prop 之间形成了一个 单向下行绑定(也就是说:父级 prop 的更新会 向下流动到子组件中,但是反过来则不行。这样会防止从子组件意外改变父级组件的状态)

  改变 prop 有两种是情形 :

  第一:这个 prop 用来 传递一个初始值;在这种情况下,最好在子组件定义一个本地的 data 属性并将这个 prop 用作其初始值:

  第二:这个 prop 传入数据且会 改变。在这种情况下,最好在子组件定义一个计算属性来使用这个 prop 的值。

  比如,我在做什么功能时,是怎么用的……

  4、为什么要使用*****

  可以先说,不使用它会出现的问题(“失去了才知道珍惜”)

  5、描述性的题目:

  可以使用总分(或总分总)的方式

  先把关键点或词找到,放在回答的一开始,一定简练,再进行详细的描述(有序号),如果流程不是很清晰,建议,结合项目场景进行描述,或者使用画图的方式解释。

  6、问原理性的题目:

  1) 从浅到深

  2) 必要时,使用画图的方式解释

  二、面试阶段:

  一定要理解题意。(划重点)

  1.如果没有听明白对方的意思的

  1)对方描述有问题

  可以委婉(温柔)地让对方再次解释一下。

  比如:不好意思,我刚才没有听明白您的意思,您能再说一遍吗?

  2)对方描述时,有些知识点的描述(叫法),我们没有听过

  可以大胆地,让对方把陌生的词语解释一下。

  比如:不好意思,您刚才说的“拉姆达函数”我没有听过,你能给我介绍一下吗,也许是我们的叫法不一样,或者,我这个叫法我没有听过。

  2.如果听明白对方的意思了

  1)会的题目:回答时,就按照准备阶段的方式进行回答。

  2)不会的题目:这个可以私聊(^_^)

  好了以上就是这次的分享,希望对大家有所帮助,后续,还会再进一步进行细化和整理。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

相关推荐

  • vuex中actions与mutations的区别 总体来说:actions 1、用于通过提交mutation改变数据 2、会默认将自身封装为一个Promise 3、可以包含任意的异步操作mutations 1、通过提交commit改变数据 2、只是一个单纯的函数 3、不要使用异步操作,异步操作会导致变量不能追踪
  • vuex数据丢失怎么解决 vuex的 store 中的数据是保存在运行内存中的,当页面刷新时,页面会重新加载 vue 实例,vuex 里面的数据就会被重新赋值,这样就会出现页面刷新vuex中的数据丢失的问题。 如何解决浏览器刷新数据丢失问题呢?
  • 说说vuex的管理操作或理解 vuex有一个仓库概念,将组件公共的state存储在仓库的state属性中,state是只读的,组件只能使用,不能直接修改,修改需要通过 仓库中的mutations模块来修改,这样的好处是 当数据修改便于溯源,且不会因为 多个组件 直接修改数据,导致 组件间数据的互相影响, 同时 当我们仓库中有一个state 数据需要请求 数据接口才能获取时,vuex 设计了一个action模块,在action模块中发送异步请求,得到数据后,提交mutation来修改state。
  • 说说Vuex的工作流程 我们将组件的公共状态定义在 vuex仓库的state中,state是只读的,无法直接修改,必须调动仓库中的某个mutation才能修改状态,getters可以理解为vuex中的计算属性,当我们在某个组件中使用vuex中的某个state时,不是直接使用原值,而是需要派生出一个新的值,就可以定义getters,可以在组件中获取。
  • vuex—个模块中改变state中数据,其他模块如何获取? 由于使用单一状态树,应用的所有状态会集中到一个比较大的对象。当应用变得非常复杂时,store 对象就有可能变得相当臃肿。为了解决以上问题,Vuex 允许我们将 store 分割成模块(module)。每个模块拥有自己的 state、mutation、action、getter、甚至是嵌套子模块——从上至下进行同样方式的分割:
  • vuex的状态是怎样的,怎么改变状态 vuex的状态储存在仓库的state属性中,state是只读的,无法直接修改必须调用mutation才能修改,const store = new Vuex.Store({,// 在组件中直接出发mutaion,this.$store.commit('ADD_NUM', 10)// 或者助手函数 提交 mutation