面试中前端面试被问到项目中难点使用vue大概多久怎么回答

这个面试官水平很高啊快要赶仩我了(不谦虚地笑了),我在面试候选人时寒暄过后,第一个问题一般也是:能不能介绍一个你体会最深的项目

而且,我会强调並不是必须要说你经历的最大的一个项目,或者是最近的一项目也不一定必须是你在公司的工作,可以是一个实习经历也可以是个人項目,甚至可以只是一个bugfix重要的是——你在这个项目中要有体会

面试的过程就是要最深入地发觉候选人的潜力,而洞察一个人潜力嘚方式是什么呢就是要看他是否有独到的眼界。一个候选人可以通过刷题熟悉某些套路一个候选人也可以通过看面经知道一个公司面試官喜欢什么题型,但是一个候选人对一个项目的体会,那就必须是自己真实的理解抄不来的。

我经常听到这样的回答:“嗯我来說说XXX这个项目吧,这个项目用了XXXX技术我做了前期调研,然后实现了XXX部分嗯,就是这样”

这样描述自己的“体会”或者“心得”,根夲看不出这是“你”的感受和照本宣科有什么区别,作为面试官无法感觉到你的独到的眼界

所以,面对这样的问题候选人一定要做箌——说你自己真实的体会

你会说我就是一个打工的,能有什么体会如果你这么想,啥也别说了门在那边,请走

如果你说,我其实是有体会的但是我说不出来啊!那么请接着看。

人都是有感情的即使是面对编程这种客观理性的工作,也会有感情的感情驱动峩们去工作。你完全可以这么说:“我在做XXX项目的时候压力特别大,因为历史遗留代码特别难以维护”

很好,这就是你的体会你需偠说出来。

然后我就会问:“你怎么解决这个问题的,你怎么解决历史遗留代码很难维护的问题”

如果你说,艹前人留下来的一坨屎,我用得着费心去维护吗如果你这么想,啥也别说了门在那边,请走

但是你也可以这么说:“我把代码结构理了理,画了一个图有了这个图,组里的人看了就清楚多了然后我们又画了一个改进目标的结构图,这样大家就知道怎么改变了”

很好,能够想到这一層就是很大的进步,接着来

你现在知道怎么回答这个问题了吗?

  1. 你要说一个你遇到了困难的项目你要感受到这个困难的存在,而且伱能想出解决这个问题的方法
  2. 这个困难越大越好,越独特越好因为对应你的解决方法就会显得更加牛逼,而且是其他人都没有的体验
  3. 面试官其实也不在乎你最后的解决方案是不是最佳,最重要的是你能在这个过程中体现出你思考的能力当然,你要把这个过程讲清楚吔需要不错的表达能力

千万别误会,千万不要觉得这样一个问题是刁难候选人如果你坚持认为面试官面这种问题是刁难你,如果你这麼想啥也别说,门在那边门外有大把大把的“只要是个人就招进来”的公司,那些公司更适合你

实际上,这个问题对面试官的要求吔非常高看似是可以自由发挥的问题,其实要面试官能够鉴别候选人说的是否有道理因为一个面试官不可能了解所有的知识领域,所鉯想要对判断候选人的体会是否真实,还有如何引导候选人说出真实的心得并不是谁都能做到的。

所以这个问题并不是适合所有人來问的,你先从想想怎么回答这个问题开始吧

技术人才饱满的时代面试基本仩是很重要的一关了,而这个时候就要...

我在刚刚开始面试的时候也遇到了这个问题,也是我第一个思考的问题如何介绍自己的项目,既可以比较全面的让面试官了解这个项目同时,也不会让面试官觉得废话太多经过这么多的面试,我发现一般这样的套路来...

Q:vue的底层原理

在数据发生变化嘚时候,发布消息给依赖收集器去通知观察者,做出对应的回调函数去更新视图



A:computed是通过几个数据的变化,来影响一个数据而watch,则昰一个数据的变化去影响多个数据。


Q:vue里data为什么是函数而不是对象

A:如果写成对象当组件被复用时,那么多个组件实例就会共用同一個data对象这样改变其中一个实例的data,就会改变所有的
因此写成函数返回值的形式,使每个组件实例都拥有自己的私有数据空间不会造荿混乱。


Q:vue里数组改变为什么有的会渲染有的不会渲染

A:对用数组的变异方法(push、pop、sort等)进行数组操作时可以达到视图的重新渲染,因為vue对这些方法进行了包裹
Vue 不能检测以下数组的变动:

  1. 利用索引直接设置一个数组项时

Q:update里去改变data值会有问题吗?

A:由于数据更改导致的虛拟 DOM 重新渲染和打补丁在这之后会调用update钩子。应避免在此期间更改状态否则可能导致死循环。


Q:加载数据在created好还是在mounted好两者区别?

茬created比较好如果在mounted钩子函数中请求数据可能导致页面闪屏问题。
created:在模板渲染成html前调用即通常初始化某些属性值,然后再渲染成视图
mounted:在模板渲染成html后调用,通常是初始化页面完成后再对html的dom节点进行一些需要的操作。

Q:vue通信的几种方式

  1. vuex(状态管理器)

A:父级 prop 的更新会向下鋶动到子组件中但是反过来则不行。这样会防止从子组件意外改变父级组件的状态从而导致你的应用的数据流向难以理解。

注意在 JavaScript 中對象和数组是通过引用传入的所以对于一个数组或对象类型的 prop 来说,在子组件中改变这个对象或数组本身将会影响到父组件的状态


A:速度快,减小了页面渲染过程的次数


A:Vue.js 是构建客户端应用程序的框架默认情况下,可以在浏览器中输出 Vue 组件进行生成 DOM 和操作 DOM。然而吔可以将同一个组件渲染为服务器端的 HTML 字符串,将它们直接发送到浏览器最后将这些静态标记"激活"为客户端上完全可交互的应用程序。


Q:vue项目性能优化


Q:vue中不用vuex如何实现在任意子组件都可以访问一个全局的变量

A:通过 $root 访问根实例可实现。




A:闭包是这样一种机制: 函数嵌套函数, 内部函数可以引用外部函数的参数和变量,参数和变量不会被垃圾回收机制所收回


Q:用过哪些ES6语法?

  1. 数组遍历:for…of

Q:这是一道考察面試者包含变量定义提升、this指针指向、运算符优先级、原型、继承、全局变量污染、对象属性及原型属性优先级等知识的JavaScript综合能力题请看題:


这些是开放性的问题,根据自己的实际与经验回答

Q:开发过程需注意的地方

Q:有在学习或了解什么新的技术吗?

Q:对自己的职业规劃

Q:你在项目团队中是什么角色?

Q:项目开发中遇到哪些比较难的问题

我要回帖

更多关于 vue双向数据绑定面试 的文章

 

随机推荐