高效“背诵”面试题的三定法则

2024-02-18 17:50

本文主要是介绍高效“背诵”面试题的三定法则,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

程序员求职时,在准备阶段都要“背诵”大量的技术面试题,以应对各路精明面试官的百般折磨。
这里我把“背诵”一词加上了引号,意指此处的“背诵”可不是一般的背诵。如果你以为我要教你过目不忘记的背诵技巧,那可能会让你失望了。
请允许我先自卖自夸一波。作为程序员老兵,混迹江湖多年,被面试官们无情地伤害过,也作为面试官无情地“伤害”过很多人(一阵奸笑声飘过)。

现在,我将总结出一套无敌的面试题“背诵”方法论,分享给在座的各位。帮助大家早日脱离茫茫题海、抵达成功的彼岸。
小板凳坐好了,小本本快铺开,我要开讲了。先上图,建议收藏。
高效“背诵”面试题的三定法则

如此高大上的高效“背诵”面试题的三定法则,没错,就是我的原创,请允许我“高调”地逐一解读给大家听。

一、确定题目类型
把海量的技术面试题,进行分类。你会惊奇地发现,这些面试题无非就是这三大类,分别是:

  • 有固定答案的封闭式问题

  • 考你理解深度的开放式问题

  • 考你编程能力的逻辑算法题
    举例说明:

  • 题目1:Vue 的生命周期有哪些?

  • 题目2:请谈一谈你对 MVVM / MVC / MVP 的理解。

  • 题目3:请用 js 计算 1 ~ 10000 中出现的 0 的次数。
    不难发现:

  • 题目1是有固定答案的封闭式面试题;

  • 题目2开放式题目,侧重考你的理解深度;

  • 题目3就是典型的逻辑算法题了。
    因此,在你“背诵”面试题的第一步,你首先要搞清楚的就是题目类型。不同类型的题目,预示着你需要搭建不同结构的知识体系,你需要提取不同深度的知识重点。

二、制定答题框架
当确定了面试题题目类型以后,就可以开始制定“背诵”框架了,下面举例说明。
以 题目1 为例:
题目1是一道有固定答案的封闭式题目,你可以使用并列式结构来提取面试题中的知识要点。
举例:在初始化阶段有 beforeCreate、created,在挂载阶段有 beforeMount、mounted,在更新阶段有 ……
你还可以使用递进式结构来提取面试题中的知识要点。
举例:Vue生命周期总共有 11 个,常用的有 8 个,分为初始化、挂载、更新和销毁这 4个阶段。工作中我常用的有 created、mounted、beforeDestroy 这三个,created里我常用来触发调api 接口,mounted 中我常用来执行 DOM 更新后的相关逻辑操作,比如开启定时器等,beforeDestroy 中,我常用来清除定时器、清除Vuex中缓存等。良好地理解生命周期,可以帮助我们高效地解决工作中的若干bug,比如……
当你有了这种 框架结构式的答题思维 以后,我们在准备面试题、背诵面试题时,就可以刻意地从大段大段的答案中提取出重点知识,而不是像背课文一般死记硬背。这种结构化的背题方式,不仅效率高,而且记忆更持久。
事实上,用人单位和面试官需要的是一个有逻辑的程序员,而不只是一个“能背诵”的“记忆力大师”。
以 题目2 为例:
题目2是一道开放式题目,你采用 并列式结构 来准备面试题,那么你只用分条说明白 MVVM、MVC 和 MVP 即可。
如果你采用 递进式结构 来准备,你可以先从前端框架发展史的角度讲一讲 3 种架构模式的各自特点,再讲一讲彼此的优势和劣势,最后谈一谈你对 MVVM 的深入理解。
以 题目3 为例:
题目3是一道逻辑算法题,你可以采用 顺承式结构 来准备。要完成这道算法题,你该怎样写代码,你的思路是怎样的。第1步干什么,第2步干什么,第3步干什么……这有点“面向过程编程”的味道了。即使你无法在白纸上手写出正确代码,你仍然可以借助伪代码来展示你的解题思路和详细步骤。
你还可以采用 并列式结构 来准备这道题,即你有 N 种解题思路,逐一把它们说清楚。
如果采用 递进式结构 来准备,你除了要逐一说出解题思路,还要对这 N 种解题方案进行优劣分析,最后指出你的终极选择、并解释为什么。

从上面三个例子可以发现,只要你清楚了题目类型,你就可以灵活地选择 3 种不同的答题框架来准备面试题。并列式结构强调对重点知识的提取与罗列,递进式结构要求你能够由浅入深、层层升级,顺承式结构要求你有较强的过程化思维、知道先做什么再做什么。你学会了吗?

三、淡定应对追问
在技术面试过程中,有经验的面试官都会不断地追问。比如,当你回答了“Vue常用生命周期”后,面试官可能会追问——“请问在 beforeMount 和 mounted 之间,Vue在后台做了哪些工作?”。
举个例子,我可以采用 顺承式结构 来回答这个问题。我说:“beforeMount 和 mounted 之间,Vue在后台做了 3 件事。第1步,当声明式 data 发生变化时,Vue先是生成一个新的虚拟DOM副本。第2步,Vue将对内存中的这两个虚拟DOM执行 diff 运算,找出 data变化前后的最小差异。第3步,Vue使用真实的DOM操作,把上一步中找到的最小差异更新到页面中去,视图完成更新。”
聪明的你又发现了,在回答这个被追问的问题时,我是不是提到了很多可能被继续追问的新知识点啊,比如“虚拟DOM”、“Diff运算”等。没错,面试官很有可能继续追问——“什么是虚拟DOM?”、“Diff 运算是怎么实现的?”等。
这就是“追问”的艺术,有经验的面试官一定会把你问到“绝境”,把你问倒为止。追问的问题也会越来越深、越来越难,如此才能确定出你的真实 Level ——你值多少钱,你是否符合我公司的用人需求。
如果你有时间和精力,你仍然可以使用“制定答题框架”中学习到的 3 种答题框架,来应对一切可能被追问的问题。本小节的重点,是教你另外 3 个技巧原则,助你从容应对被追问。
不挖坑原则

指的是,当你在回答面试问题时,尽量不要提那些自己不懂的、或者一知半解的知识点。比如,如果你对 Diff 运算不太理解,为了避免被追问,你在回答“beforeMount 和 mounted 之间 Vue做了什么”这一问题时,应该避免提到“Diff 运算”一词,或者别过度提到它。
这就是“不挖坑原则”,请确保你说出来的关键词和知识点,都是你已经做过功课的。
不吹牛原则

这个原则很容易理解,就是你在回答问题,不要说大话。比如说,“我精通JavaScript”,“我是一个高级全栈开发工程师”等,这都属于“吹牛”。对大多数人来讲,可以说“熟练使用”,但说“精通”就有点夸张了。
一旦你说了大话,这很容易遭到面试官的追问。万一你答不上来,会给面试官留下“不诚实”的印象,那么你的面试成功率必将大大降低。
擅引导原则

这个原则和“不挖坑原则”有异曲同工之妙。“不挖坑原则”是避免提到自己陌生的领域,而“擅引导原则”是鼓励你多提自己熟悉的领域、多提自己做过功课的领域,通过语言强调等技巧,把面试过程向有利于自己的方向引导。
有经验的求职者,要有这样的自信,要敢于引导面试过程,让自己占据沟通的主动立场。
在这个三个原则的指导下,相信你一定可以更好地准备面试。在面试准备阶段,用正确的方法、有目的地“背”题,有逻辑地答题,讲自己擅长的话题,效果肯定会更好。

写在最后
我经常和同学交流,面试不等于工作,面试不过是一场“表演”。擅长面试的人,未必就一定能成为开发高手;而不会面试的人,必将郁郁不得志、空有一身本领。

面试,是我们进入理想公司的第一道门槛。毫不夸张地讲,面试过程中七分靠“演技”、三分靠实力。作为求职者,你必须清楚,你需要做大量的前期准备,才有可能淘汰其它的面试竞争者。打铁还需自身硬,你准备好了吗?

这篇关于高效“背诵”面试题的三定法则的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/721962

相关文章

高效+灵活,万博智云全球发布AWS无代理跨云容灾方案!

摘要 近日,万博智云推出了基于AWS的无代理跨云容灾解决方案,并与拉丁美洲,中东,亚洲的合作伙伴面向全球开展了联合发布。这一方案以AWS应用环境为基础,将HyperBDR平台的高效、灵活和成本效益优势与无代理功能相结合,为全球企业带来实现了更便捷、经济的数据保护。 一、全球联合发布 9月2日,万博智云CEO Michael Wong在线上平台发布AWS无代理跨云容灾解决方案的阐述视频,介绍了

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

高效录音转文字:2024年四大工具精选!

在快节奏的工作生活中,能够快速将录音转换成文字是一项非常实用的能力。特别是在需要记录会议纪要、讲座内容或者是采访素材的时候,一款优秀的在线录音转文字工具能派上大用场。以下推荐几个好用的录音转文字工具! 365在线转文字 直达链接:https://www.pdf365.cn/ 365在线转文字是一款提供在线录音转文字服务的工具,它以其高效、便捷的特点受到用户的青睐。用户无需下载安装任何软件,只

【C++高阶】C++类型转换全攻略:深入理解并高效应用

📝个人主页🌹:Eternity._ ⏩收录专栏⏪:C++ “ 登神长阶 ” 🤡往期回顾🤡:C++ 智能指针 🌹🌹期待您的关注 🌹🌹 ❀C++的类型转换 📒1. C语言中的类型转换📚2. C++强制类型转换⛰️static_cast🌞reinterpret_cast⭐const_cast🍁dynamic_cast 📜3. C++强制类型转换的原因📝

基于 YOLOv5 的积水检测系统:打造高效智能的智慧城市应用

在城市发展中,积水问题日益严重,特别是在大雨过后,积水往往会影响交通甚至威胁人们的安全。通过现代计算机视觉技术,我们能够智能化地检测和识别积水区域,减少潜在危险。本文将介绍如何使用 YOLOv5 和 PyQt5 搭建一个积水检测系统,结合深度学习和直观的图形界面,为用户提供高效的解决方案。 源码地址: PyQt5+YoloV5 实现积水检测系统 预览: 项目背景

荣耀嵌入式面试题及参考答案

在项目中是否有使用过实时操作系统? 在我参与的项目中,有使用过实时操作系统。实时操作系统(RTOS)在对时间要求严格的应用场景中具有重要作用。我曾参与的一个工业自动化控制项目就采用了实时操作系统。在这个项目中,需要对多个传感器的数据进行实时采集和处理,并根据采集到的数据及时控制执行机构的动作。实时操作系统能够提供确定性的响应时间,确保关键任务在规定的时间内完成。 使用实时操作系统的

一些其他面试题

阿里二面:那你来说说定时任务?单机、分布式、调度框架下的定时任务实现是怎么完成的?懵了。。_哔哩哔哩_bilibili 1.定时算法 累加,第二层每一个格子是第一层的总时间400 ms= 20 * 20ms 2.MQ消息丢失 阿里二面:高并发场景下引进消息队列有什么问题?如何保证消息只被消费一次?真是捏了一把汗。。_哔哩哔哩_bilibili 发送消息失败

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX

zookeeper相关面试题

zk的数据同步原理?zk的集群会出现脑裂的问题吗?zk的watch机制实现原理?zk是如何保证一致性的?zk的快速选举leader原理?zk的典型应用场景zk中一个客户端修改了数据之后,其他客户端能够马上获取到最新的数据吗?zk对事物的支持? 1. zk的数据同步原理? zk的数据同步过程中,通过以下三个参数来选择对应的数据同步方式 peerLastZxid:Learner服务器(Follo

利用命令模式构建高效的手游后端架构

在现代手游开发中,后端架构的设计对于支持高并发、快速迭代和复杂游戏逻辑至关重要。命令模式作为一种行为设计模式,可以有效地解耦请求的发起者与接收者,提升系统的可维护性和扩展性。本文将深入探讨如何利用命令模式构建一个强大且灵活的手游后端架构。 1. 命令模式的概念与优势 命令模式通过将请求封装为对象,使得请求的发起者和接收者之间的耦合度降低。这种模式的主要优势包括: 解耦请求发起者与处理者