想要入职大厂,应该如何准备八股文?方法论分享!

1. 前言

之前我分享了春招收获大厂 Offer的面经后,很有小伙伴来问我如何准备八股文。其实在我写面经的时候,认为大家可能最缺乏的是项目经验,或者对面试没有清晰的认知。于是我当时给大家抛出了一个公式,并着重分析了其中的 Idea 部分,也是大家容易忽视的一点。

今天,我来给大家分享一下,我是如何准备八股文板块的。

在分享之前,我再给大家抛出一个我认为的 5 个核心点:

多轮复习法 + 刻意训练 + 事件驱动 + 擅用 GPT + 自我安慰

接下来,我会逐个分析我是怎么做的。

2. 方法论核心

2.1 多轮复习法

这个方法其实也不是我自己想到的,而是被无数人证实过非常有效、可靠的一套方法论。我想信很多小伙伴在高三的时候,各个学科都会开展一轮、二轮甚至是三轮复习,每一轮都有各自的侧重点、目标,循序渐进地将你过去所学习到的零散知识,整合成为一套完整的适应高考的知识体系。

我们在准备面试时,也可以借鉴这个思路。将我们之前所学的零零散散的碎片知识,整合成为应对面试八股提的知识体系。之前学习的时候,我们只是简单地知道如何使用,模糊地记得一些概念;而经过复习之后,我们便对每个知识点的内容更加清晰,而且知道如何自如地回答。

下面我提供一下我个人总结的多轮复习法:

  • 我们首先假定面试准备时间为 30 ~ 40 天,不宜过长也不宜过短。不能太长是因为战线拉长会使人非常疲惫,当时我准备到 30 多天的时候,整个人已经相当疲惫了。不能太短是因为你可能复习不完所有知识点,容易出大问题。如果你觉得 30 ~ 40 天的时间很紧的话,可能是因为知识点还没有学完,所以得赶紧趁着还没到面试复习阶段的时候,赶紧学一遍这些知识!

  • 接着,我们确定一下在多轮复习中,每一轮需要做什么?

    • 第一轮复习:

      • 首先,确定我们需要复习的模块,比如我是以 Android 为主,我选择的模块是:Java基础、UI、第三方开源框架、计算机网络、Framework等。

      • 之后,准备复习所使用的工具:面经网站、对应知识点的书、GPT。主要以面经网站为主,对应知识点的书和 GPT 为辅助工具。面经网站我就简单提一下,大家应该都知道,Java Guide 和 小林Coding,深度与广度都足够。时间紧张的话,可以不用书籍,因为我当时候担心有些地方不够深,于是我便参考着书来复习的。GPT 主要帮助我们更好地复习,提高效率,接下来的内容中重点说。

      • 接着,确定复习具体规划。具体复习规划因人而异,我一般是交叉着看,因为一整天都看一个模块,很容易疲惫。

      • 开始真正的复习。如何高效地复习某个知识模块?拆分为两步,第一步是根据书和面经网站,巩固一遍之前所学过的知识点,清楚其中的大概内容,对面试中可能会被考察到的知识点做到心中有数。第一步对应到每个模块需要花费 2 天左右时间。之后,开始第二步,进行自查。这时候需要借助于 GPT,帮助我们列出某个知识点的问题清单。我当时是这么问的:帮我列出 100 道关于 xxx 的高频面试题。接着,咱们需要过滤一遍问题清单,因为其中可能存在很多重复的问题。最后,我们对照着问题清单,开始自问自答,感觉回答不上来、模糊的问题,及时去查找资料复习,并将最终完善的答案记录到清单中。(文件中附一份我的 Redis 问题清单笔记)

      • 这样一来,我们便稳扎稳打地复习完了每一个模块对应的知识点,并且进行了及时的自查,加深了对题目的印象,实现了八股文的 “原始积累”。

        这一轮大约需要花费 20 多天左右的时间

    • 第二轮复习:

      • 第一轮复习完之后,我们可能还是很难接得住面试,大家应该很容易发现问题所在。在第一轮复习时,我们都是趁热打铁,复习完一个模块后,就去自问自答对应模块的面试题。但是实际面试是打乱问的。并且,在第一轮复习中遇到的都是常规面试题,很容易忽略零碎、细节且复杂的问题(比如情景设计题、面试官突发奇想问的题目),所以咱们还需要继续加强。在这一轮复习中,咱们就不分模块了,每天直接 “大杂烩”,至于怎么 “烩”,接下来重点说明。
      • 首先,我们在牛客、知乎、Leetcode等各大网站中寻找面经,如果此时已经接到了面试,可以直接寻找对应公司的面试题。
      • 找到面经之后,一道道题目挨着过,仍然是自问自答。新建一个 Markdown 文档,遇到你含糊不清、没有把握甚至完全陌生的题目,记录到文档中。此时先别急着找答案,先把这份面经过完,最后自己统计一下,在这份面经中能回答上来的题目数量。如果看了几份后,每份都能回答上来 80% 以上,说明第一轮复习十分有成效。但事实是可能只有 60% 左右。接下来,我们就需要走出一轮复习的 Comfort Zone,进入较高强度的环节:刷面经、记录陌生题目、搜答案、口头复述(自问自答),循环此过程,直到自认为总体准确率达到 80%。
      • 我当时第二轮复习花了大概 10 天吧,看了几十份面经、几百道题目(应该不超过 500),记录了 100 多道题目,平均一天就只记录 10 题左右的样子。主要还是因为复习过程中比较焦虑、烦躁,复习到后期的时候心烦意乱,所以第二轮复习效率不是很高,之后我也会提到怎么最大程度地克服这种情绪。

2.2 刻意训练

相信很多小伙伴听过这个方法论,我个人一直十分信服这一方法论。之前的多轮复习法中,很多地方也有运用这一方法论。它的核心就是:明确目标、走出舒适区、执行力与自我反馈。如果可以有一个提供指导的前辈,那么就比较接近于真正的刻意训练。

  • 明确目标:在第一轮、第二轮复习中,我们都有明确的目标。第一轮目标是巩固复习基础知识点,第二轮目标是查漏补缺,遍历搜寻零碎知识点。
  • 走出舒适区:在第一轮复习之前,我们的舒适区是近期正在学的知识或者正在做的项目,陌生的是很久之前学过的知识模块;在第二轮复习之前,我们的舒适区是第一轮复习所学的常规基础知识,陌生的是非常规、难度大的真实面试题。每一轮复习,我们并不是在做自己熟悉的事情,而是在反复地接触不熟悉的东西。
  • 执行力:这一点大家心里都清楚,我相信能够点进来看这篇文章的小伙伴,执行力都不会差。而且大家一定十分清楚执行力的重要性。在第三个部分 「事件驱动」中,我会进一步告诉大家如何提高执行力。
  • 自我反馈:我们在两轮复习中,借助于问题清单、真实面经,反复地进行自问自答,不停地给自己反馈,告诉自己哪里做的不够好,哪里还需要继续完善,并且心中有一个准确率数字。达到某个程度,我们就给自己一个正反馈:我目前复习的还算可以。

我们通过有效运用「刻意训练」 方法论,达到最终可以应对基本面试的程度。

2.3 事件驱动

这一点其实是相当关键的,根本原因在于,我们很多情况下清楚各种方法论,但总是因为驱动力不足,造成无法有效执行,最终使得计划泡汤。

我也是这样子的,所以我直到投简历的前几天才开始复习,这其实就是事件驱动。

我们需要一个真实可见的动力,驱动我们去复习准备八股文。比如投简历、笔试面试临近等等。

但是需要注意的点是,事件驱动 ≠ 临时抱佛脚,我们需要将事件驱动控制在一个合理的范围内。

  • 比如:在投简历的前 10 天,你便开始第一轮复习,这样你复习的时候就在想,会不会我一投简历就立马发面试?(极有可能)这样,你不会懈怠,执行力十足;在面试的前一周,你便迅速进入第二轮复习,根据面试企业往年的面经,查漏补缺。这样也不太有可能出现懈怠的情况。

我们在不拉长战线的情况下,在每一个时间节点,都给自己一个事件驱动,那么我们懈怠的时间就相对少很多,而且复习效率足够高,很有可能使我们拿到第一波 Offer。

2.4 擅用 GPT

这一点我们其实在多轮复习中已经提到啦。根据我的经验,GPT 给出的面试题回答大部分还是比较准确的,比一些面经的质量要高很多。只要该知识点是 2021年9月 之前的,都可以问问 GPT

在你时间很紧张的情况下,直接问 GPT 比你在各大网站中大海捞针,效率要高得多。而且对于基本的面试题,不需要用到什么 Prompt Engineering 技巧,直接问就可以,成本极低。

2.5 自我安慰

在准备面试的过程中,无论准备的情况有多好,一定是伴随着焦虑的,这点无法避免。但是我们可以尽可能地减少焦虑时间,结合之前提到的事件驱动、刻意训练等,不停地反复地找面试题、复习面试题。如果能够一直保持这种复习状态,应该很少有时间焦虑。

这里主要提到的是通过自我安慰来克服焦虑。即使我们一直在准备面试题,但是在复习过程中,可能还会遇到突然的焦虑,比如说:突然复习到一道很陌生的题,完全没有思路,完全不会,这个时候可能就会很慌、很焦虑,并把自己代入到真实的面试情景,想象自己面试中被问到这道题,手心已经在出汗了。这便是我经常遇到的情况,但是,很奇怪的是,这些题目我几乎没有在面试中遇到过,其实按理来说,遇到这些题目的概率本身就不足 50%。所以,我们需要根据这个概率数字,时刻给自己一个正向心理暗示,不要自己吓自己。

此外,我还遇到一种情况,就是复习状态火热,达到很亢奋,很想立马来一场面试的情况。这个时候我便很难静下心来去看八股文、面试题。当时还是挺慌的,但现在细想一下,其实有一个亢奋的复习状态是可以促进面试的表现。所以大家遇到这种情况不必慌张,是好事哈哈哈哈。

3. 总结

以上 5 个核心点到这里就都聊完啦~

最后,我再提一下面试复盘的问题。其实我只做过一次文档形式的面试复盘,因为我个人觉得只需要心里记住这次面试遇到不会的问题,面试结束后赶紧去寻找答案,并记录下来即可。自己会的问题就没必要重复记录啦~

此外,有些同学可能会复盘面试过程中,除技术外表现不好的部分,它有一定必要性,但是没有想象中的那么重要与必要。在时间有限的情况下,这其实是一个 trade-off

  • 如果你认为这场面试中,你的语言表达使你的面试大大减分,那么确实需要引起重视,及时调整与提升(比如,有一些你确定你会的知识点,但是由于沟通能力或表达能力问题,使你没有说出来或者面试官没有听懂,那么就需要及时复盘)
  • 如果你觉得你面试题准备得足够充分,那么你可以利用剩下的时间去想一想如何更加自然流畅地表达想法。

这就是今天的全部分享啦,希望能够对大家有所帮助。

之前很多同学想要看看我做的笔记,目前还在整理中,我把其中一部分放到了我的知识库网站中,等全部做完后,我再与大家进行后续的分享~

最后给大家整理了一份面试指南,里面包括但不限于【数据结构与算法、Java基础、深入泛型与注解、并发编程、虚拟机原理、反射类、网络编程、Kotlin、高级UI、Framework内核源码、组件内核、性能优化、底层机制突破等等】

不管最近要不要去面试,建议大家都保存一份!!学完之后不论是 厂内晋升 还是 跳槽涨薪 都不在话下!

在这里插入图片描述

每一章节都是大厂面试真题。从考察问题延展到考察知识点,再到如何优雅回答一面俱全,可以说是求职面试的必备宝典,每一部分都有上百页内容。

第一章 算法和数据结构面试题汇总

图片

第二章 Java核心基础面试题汇总

图片

第三章 Java深入泛型与注解面试题汇总

图片

第四章 Java并发编程面试题汇总

图片

第五章 Java虚拟机原理面试题汇总

图片

第六章 Java反射类加载与动态代理面试题汇总

图片

第七章 网络编程面试题汇总

图片

第九章 高级UI面试题汇总

图片

第十章 Framework内核解析面试题汇总

图片

第十一章 Android组件内核面试题汇总

图片

第十二章 程序性能优化与数据持久化面试题汇总

![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=data%3Aimage%2Fsvg%2Bxml%2C%253C%253Fxml%20version%3D’1.0’%20encoding%3D’UTF-8’%253F%253E%253Csvg%20width%3D’1px’%20height%3D’1px’%20viewBox%3D’0%200%201%201’%20version%3D’1.1’%20xmlns%3D’https%3A%2F%2Fptop.only.wip.la%3A443%2Fhttp%2Fwww.w3.org%2F2000%2Fsvg’%20xmlns%3Axlink%3D’https%3A%2F%2Fptop.only.wip.la%3A443%2Fhttp%2Fwww.w3.org%2F1999%2Fxlink’%253E%253Ctitle%253E%253C%2Ftitle%253E%253Cg%20stroke%3D’none’%20stroke-width%3D’1’%20fill%3D’none’%20fill-rule%3D’evenodd’%20fill-opacity%3D’0’%253E%253Cg%20transform%3D’translate(-249.000000%2C%20-126.000000&pos_id=img-UOgY96jd-1700029062042)’ fill=‘%23FFFFFF’%3E%3Crect x=‘249’ y=‘126’ width=‘1’ height=‘1’%3E%3C/rect%3E%3C/g%3E%3C/g%3E%3C/svg%3E)

第十三章 开源框架面试题汇总

图片

欢迎大家一键三连支持,若需要文中资料,直接点击文末CSDN官方认证微信卡片免费领取↓↓↓

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值