摒弃惰性收藏习惯,金三银四你需要知道的面试技巧

557 阅读8分钟

save2.jpg

什么是惰性收藏?

在面经和知识集锦满天飞的今天。 在面试的准备过程中,大家一定都收集了大量资料和信息,但却缺少有效地去使用或利用这些资源的方法,最终可能导致知识混淆、面试过程表达困难等问题。

这种“惰性收藏”现象可能源于各种原因,如缺乏动力、缺乏计划、过度依赖资料等。如何解决这个问题似乎是当下最重要的。

如何避免惰性收藏?

惰性收藏的最终指向往往是无效收藏。

问题列举

  1. 大量无序、多种多样表达方式的知识呈现。
  2. 缺乏内化后表达的过程。
  3. 缺少结合真实问题,停留在原理。
  4. 浮于表面,不够深入。

解决方案/面试技巧

  1. 聚焦筛选
  2. 内化输出
  3. 实操巩固
  4. 原理透析

聚焦筛选

而无效变有效的一步就是聚焦筛选:首先清晰收集数据来源的目的,再对收集数据进行预处理。

预处理的数据也就像是机器学习前的数据清洗,我们也需要对自己将要学习的知识进行筛选。

聚焦案例

比如我需要准备一场某公司以vue技术栈为主的面试,这就自然而然成为了我们的目标。

需要收集的数据方向就变成了:vue相关的面试题,某厂的面经,vue的官方文档以及相关源码分析。而其他方向如angular、react、node等知识在这个周期对于目标的有效性就远远不如以上几种了。

内化输出

内化输出相当于我们个体的“算法”过滤预处理的数据后而产生的结果。这个结果往往更符合我们的表述习惯,也更不容易遗忘。相当于我们对于客观原理的一种内在表述。

由于面试过程的往往是紧张而又快节奏的,如果缺少内化输出的过程,也就极大可能会出现表述逻辑混乱、大脑突然一片空白、前后矛盾等问题,而这种表现不佳往往会让面试官对你的局部能力产生判断误差,或者顺应你的混乱继续提问,将把自己带到。

可能你看了100道关于vue3相较于vue2的区别面经,到你的面试环节,由于紧张你只记得些无关紧要的区别,而错过了面试官想get的得分点,仅仅因为章法问题导致的面试失败,将会是非常遗憾。

内化输出的表达技巧

  1. 回答有逻辑
  2. 由浅入深,不要沉默

分条是不得不说的一大技巧,这体现了表述的逻辑性。

而除此之外,面试过程中更应该预先区分知识层次,这样更有助于在紧张的环境逐渐激活大脑的记忆区间。换一种表述就是由浅入深的表达一个问题,让自己娓娓道来,不失去自己的节奏,也符合倾听者的习惯。

内化输出案例

拿一类的前端面试题举例:

  • vue3和vue2有什么不同?
  • vuex和pinia有什么不同?
  • vite和webpack有什么不同?

vue3和vue2的不同点的变种问题也就是vue3有哪些优势、vue2有哪些问题、vue3解决了vue2的哪些问题等等。

如果你的知识已经正常储备,由于紧张导致的宕机是可以通过自我而恢复的。

模拟一个场景此时问了你一个vue3和vue2有什么不同?此刻你宕机了,并沉默。

  • 耐心的面试官会逐步缓解你的紧张,帮你继续分解这个问题(比如从响应式来比较?比如从diff算法来比较?),帮助你进行恢复。
  • 耐心不足的面试官可能心底已经给你打上了连这都不会的标签,并且准备问你另一个与这个问题毫不相干的问题了。沉默就会把主动权交出去。

而此时可能有人也就要问了,已经大脑空白了不沉默如何帮自己恢复?

这个由浅入深的思路往往从最简单的发起:vue3>vue2是其的后续版本→ 对比其中的

案例回答:

vue3作为vue2的后续版本,解决了vue2的相关问题并与先前版本有了一些变化。(此句可以说是废话中的废话,但是帮你保住了发言的权力,也提供了几秒钟的继续展开时间,可能就是因为这几秒,你已经浮现起一些关于vue2和vue3特点了,以此继续分类)

不难发现我们是从一个vue3比vue2新、好的简单想法逐渐展开的思路,当然这是我们完全的freestyle式的触发回忆。

如果我们在面试准备阶段对这类问题的准备的是:vue3和vue2的主要区别在于:1.响应式原理2.diff算法3.其他特性...

这样以点带面的自我总结会快速在各种情况激活我们的记忆区间,就好像是辩论比赛中记住论点而逐渐展开论据一样,让表述也会变得有条理起来。

以上用作激发我们记忆区间的起点就是我们内化输出的重点。

实操巩固

当内化输出形成一个记忆的出发点后,这其实只是第一层。而面试官往往会继续发问,根据面试的等级不断深入了解对于某一个问题的理解程度,以及是否符合面试要求。

比如继续展开以上vue3和vue2的区别问题,我们以选项式API和组合式API的角度进行模拟:

真实的面试对话可能如下所示:

问:组合式和选项式区别?谈谈理解。

(描述型回答)

答:组合式API和选项式API的区别可能就是选项式需要写在某些指定的"项"内,而组合式没有条条框框可以任意组合。

问:常用的选项式的项有哪些?

答:

  1. data:组件的数据对象,用于存储组件的状态数据。
  2. props:组件的属性列表,用于接收父组件传递的数据。
  3. computed:计算属性,用于根据组件的状态数据计算出新的值。
  4. methods:组件的方法列表,用于定义组件的行为。
  5. watch:观察属性变化,用于监听组件的状态数据变化并执行相应的操作。

问:组合式配合hook如何进行代码优化?如何写一个hook?

这里不具体展开了,像以此的问题可能就需要有实际的编程经验和实操才可以更容易的回答了。

问:组合式在思想上、实际编程上与选项式有什么不同?

答:在思想上,组合式和选项式的最大区别在于组件的复杂度。选项式适用于简单的组件,而组合式则更适用于复杂的组件。在实际编程上,组合式和选项式的区别在于编写方式和代码结构。组合式需要编写多个函数来描述组件的各种属性和行为,而选项式则是通过一个选项对象来描述组件。

不管是思想类、思路类、还是实际操作类的问题。更多是从多次编程经验中总结描述出来的,需要对于实际编程中的场景和痛点有自己的理解和表述,才能更好的得分。

原理透析

中级讲实操,高级讲原理,架构讲优化。

中级讲实操:对于中级前端工程师来说,他们已经具备了一定的前端基础知识,并且熟悉常见的开发框架和工具。在这个阶段,实操能力是非常重要的,因为他们需要能够独立完成开发任务,解决实际开发中遇到的问题。所以,在面试中,中级前端工程师通常会被要求展示他们的实操能力,比如编写代码、调试程序、优化性能等。

高级讲原理:对于高级前端工程师来说,他们不仅需要具备强大的实操能力,还需要深入理解前端技术的原理。这是因为高级前端工程师通常需要解决更复杂的技术问题,并且需要对前端技术有更深入的了解。在面试中,高级前端工程师可能会被要求解释某些技术的实现原理,比如浏览器的渲染机制、事件处理机制、性能优化原理等。

架构讲优化:对于前端架构师来说,他们的职责是设计和优化整个前端架构,确保系统的可扩展性、可维护性和高性能。因此,在面试中,前端架构师通常会被要求分享他们在架构设计和优化方面的经验和思考。比如,他们可能会谈论如何设计一个高性能的前端应用、如何优化前端架构以提高系统的可扩展性和可维护性、如何处理前后端交互等。