双非无实习大厂经验分享:如何背八股和不背八股

简介

看见很多人对不背八股和笔记管理及思维方式感兴趣,我稍微分享以下叭。

> *****************4********

先来探讨几个问题?

> 以下均为我自己的看法,知识点部分,用词可能是有不准确,因为重经验分享而不是打磨细节部分。

> 以下是我的真情实感,编出来的。希望觉得有用的朋友们可以点赞收藏关注

注意:

- 我是在网页端编辑的,是我将列表按层级来缩进,但是发现app端看不见缩进!!淦

为什么会出现八股文

  • 面试常问
  • 面试官的提问神器,面试者的参考手册

我自己虽然说我自己不背,但是我不是不看? 所以我对八股文其实也没有任何恶意。

  • 为什么很多大佬,或者面试官可能讨厌八股文?

原因是,很多面试者,他一味的去背八股,但是却没有任何思考(如果你有充裕时间,我觉得不思考那就不能理解了)。作为面试官,每次听到都是一样的答案,没有任何的感觉可能不太行吧。思考很多问题,回答很有深度,但是没感觉到有自己的视角

  • 为什么面试官一眼看出你背八股:
  • 很多人回答一样
  • 你的回答看上去没有纰漏,偶尔几个还好,但是通篇下来,面试官发现,你所有的回答,都没有自己的角度?
  • 八股文回答很全面,那些东西如果你思考过,你会发现解释起来是很难的,假设你真正研究过,谈论的时候必然会谈论你的感觉、看法
  • 例子: 问: 山顶的景色如何。
  • 背八股: 注重讲清楚,云,天空,草木,全部描述的很清楚
  • 不背:
  • 视角(登顶后,太阳-->云-->蓝天-->远处山-->近处的树-->草)
  • 重点(很难都讲出来,但是至少有详有略)
  • 观点(自己对哪个最喜欢,或者说的多的肯定就是喜欢呗),拓展比较和关联(黄山、华山、泰山。个人觉得有什么区别);
  • 可选(真情实感,爬山太累了,但是看见风景觉得还是值得的)
  • 我怎么看待八股

八股其实蛮有用的(很多也就是官网解释,肯定精华)。因为如果你花一段时间去研究一个框架,比较懂了,你会发现,要理解这个框架,这个知识,是有几个关键的问题!,其实是通过这几个关键的问题,你就能讲一个框架的核心流程说明白。我也看过八股,我觉得很多问题都是研究清楚一个知识点的关键。大家如果认真研究哪些,再去拓展思考,是很牛的!!(非广告,我也不知道谁的八股文好)

  • 我怎么看八股?

我看八股不太多,但是可能我研究过的短视频、我收藏的资料,也属于八股。谁能不接触八股呢?所以这个问题,其实也就是如何学习的问题,很多八股就是从官网摘录下来的,并且总结的也非常好啊。所以这个问题,我就介绍为"我该怎么学习的?"

学习方式

我用的Obsidian + 若干插件 + 自己不断琢磨自己的学习方式,搞出如下功能

  • PDF管理: 如果管理若干本地PDF?如何阅读并管理PDF笔记?
  • 图片管理: 对于自己画的图, 全部规范命名,存储在一个文件夹中
  • 画图管理、笔记管理
  • 脚本管理: 输入内容,快速打开网站,搜索电子书问题等。毕竟,一个个搜太慢了
  • ......

大致的笔记理论就是:

  • 将笔记进行拆分!!: 可以参考卡片盒笔记法,将笔记尽量拆分为独立的笔记内容
  • 笔记分层: 我将笔记分为三层: 索引笔记-永久笔记-子知识笔记
  • 类比:B+树,第一层索引,只有叶子节点才存储,搜索知识点的过程,就是B+树的Root Node和非叶子节点进行范围索引,最后到叶子节点,这里是数据
  • 索引笔记存储`链接`和`框架的介绍`及`链接的介绍`,索引笔记只链接到永久笔记,永久笔记存储一个独立知识点,如果要对这个独立知识点进行深入研究,那么就先在永久笔记里面创建链接连接到这个子知识笔记。
  • 好处就是:解耦,找文件贼快。知识点的粒度非常细
  • 画图: 以一个框架的关键线路,进行绘制一张图,然后在你不断研究学习的过程中,将这些笔记串联起来!!!!
  • 规范命名
  • 类比:联合索引,例如Spring--永久笔记--ApplicationContext。现在来理解联合索引,我们想搜某个文件,可以是`Spring`,可以是 `Spring--永久`,也可以是`Spring--永久笔记--Application`
  • 双联思想: 通过卡牌盒进行拆分,通过链接,将耦合的文本内容进行解耦。而画图则是完成一个高内聚的过程,聚焦相关知识点
  • 开个玩笑:相当于IDEA用 ctrl + q 跳转,链接很方便。但是总不能把所有类写一个文件中吧

我阅读源码笔记,源码和阅读笔记解耦,只留一个链接拆分笔记: 让每一个笔记都可以被引用,也可以引用其他笔记解耦画图和笔记: 如下图,下划线为链接。从该知识点的视角来看,阅读笔记和源码耦合,源码的不同实际不会影响笔记。

例如下面画图,就是一个架构图啊,但是笔记被我通过链接的形式。将两者解耦同理: 尝试将笔记资料解耦,合理命名,管理。然后再梳理,就异常清晰了

这里打算以一个例子来解释我要学习JVM

  • 从JVM:
  • 如何调用本类的静态实例方法
  • 另一个类的方法
  • 另一个接口的方法
  • 抽象类?
  • 如果用到了静态变量
  • 其他对象的变量等
  • 又是怎么样执行的?
  • 面向对象的底层思想?

上面这些东西,思考费劲嘛

上面那个,就是很多人背八股的感觉,。为什么需要背?只能记住问题,但是没有线路的上下文,问题之间没有关联。但是,假如你研究了一个流程,整理出来后,然后总结的很清楚,熟悉到能口述的地步。回答很多问题就不那么困难了,因为你都研究过,而且很多知识点都有上下文(这样会帮助记忆)

  • JVM
  • 一个main()方法,其中定义了变量,创建了对象,调用了静态方法、实例方法。用到了抽象类、接口。调用了本地方法。
  • 如果学完了JVM,尝试用你学到的知识来解释JVM执行上面这个的过程

我这里没有去强调任何一个组件结构,但是你要解释这些问题,必须要了解各个组件是如何上下承转的。然后,之后,可以尝试去解释一下面对对象思想,在Java中是如何利用JVM来实现的?编译器是如何配合完成这个功能的?

之后,你就发现,你可以串联起来整个流程!!

一个main()方法,其中定义了变量,创建了对象,调用了静态方法、实例方法。用到了抽象类、接口。调用了本地方法。

然后如何编译成字节码(编译器)

然后JVM中的流程

也就是核心方法是,可以先看看一些问题,但是一定要梳理他们之间的流程。然后学完了之后,再拓展自己的思路,将这个线路的上下文也梳理起来,整合成一个大的线路。

我的感觉

就是对于很多框架,都有一个感觉,就是看过原理和一点源码之后,最重要是了解他们的流程。

举个例子发送一条请求,要经过哪些地方?

注意,并非是对每个部分都要研究清清楚楚,而且当你在不同的一个知识储量下,要有不同知识储量下的一条线路!!!

  • 浏览器如何发送?
  • 操作系统如何接收?(tips: 协议栈的应用层是用户态,其他层是内核态;协议栈解析完了,网卡发送,其中的过程又是怎么样)
  • 计算机网络: 路由器等各类网络设备如何处理
  • 对方操作系统如何接收?(差不多对称)

当消息达到了对方应用层然后就是Web框架部分:(可选: Tomcat启动也不是也Java代码,也可以解释从Java代码--->编译--->JVM执行的过程)

  • Tomcat来接收,他的接收的原理是什么呢?
  • 看过源码之后,顺起来执行流程
  • SpringMVC的核心是啥? DispatcheServelet
  • 有了SpringMVC就没有Tomcat了吗?不是,依旧是Tomcat来处理,那么他俩之间如何承接的。(面向接口编程)SpringMVC也有自己的流程
  • 这里其实一般单体就差不多了,BUT,但这也太小瞧我们后端程序员了吧!!
  • 咱们继续梳理
  • MySQL 连接如何建立的、执行优化器啥的(这些C++的东西,好难啊,搞不懂,还有太多理论知识)后续就是一条SQL如何执行 如果数据不在,是不是还得加载磁盘的数据页?对非索引行的修改操作(非插入),可以缓存嘛? changeBufferBufferPool中的数据如何管理的?
  • Select:B+树如何搜索的?如何找到目标的行记录 注意: 这里可以帮助你了解索引如何存储、管理、执行。
  • Update:B+树如何更新的? ,如何加锁的?
  • Insert:同
  • Delete:同
  • 如何保证事务?
  • ...其他问题
  • Redis: 我的Redis,手画了一张图,就是源码结构图。部分参考自《Redis设计与实现》这里不多讲了。
  • 微服务/分布式:微服务不也是处理请求吗。也可以解释呀。

就是,你在研究不同知识点的时候,我感觉,在研究如下问题

  • JVM优化
  • MySQL调优
  • 各种优化 例如,我MySQL可以的一条流程梳理的还不错?
  • 例如上锁了,我就能在脑子里面梳理,这条SQL语句,在已给的记录集下,如何在B+树上去遍历,然后加锁,最后得到结果的?
  • 这里情况很多: 主键索引、辅助索引、for share、for update、limit、order by....可能都会影响结果喔。也包括各类索引失效会咋样
  • 这个时候看一些常见SQL技巧,我就知道他是发生在那个位置的,然后去梳理和研究。

我看过很多文档,梳理这些的目的,不是去让看起来懂得很多,我一直感觉我很多反而都不懂(很多知识点还是很难理解的),而是,当一个问题发生了,你在脑子里面是清楚,这个问题是在哪里发生的。甚至晚上如果要想问题,就会有很多流程和架构图浮现在脑子里面,去思考问题

学习的感觉

  • 通过上面这种思维方式,结合架构图、手绘流程图
  • 最后自己的脑子里面就像印了各种架构图,当我回答一个问题的时候,其实我脑子里面只知道他和哪些框架有关系(我也不是立刻就知道之后要说哪些东西,包括我写上面的部分也是),就是按照一条线的逻辑,到了哪个框架,再去脑子里面搜索(之前我提到了线头的概念)。然后在说出来,这也就是为什么我不需要去刻意去背很多东西(也会忘,但是可能花30分钟,就会很熟悉了)
  • 然后很多问题也是,我就单独把那一段路线上的子路线(子集),说出来,所以我的回答应该很多都不是一般意义上的八股(有参考)

问个问题

问题1 英语

我最近打算看英文技术文档/网站,来帮助学习英语。我已经看过一个全英的正则的练习网站,感觉还不错。大家有没有一些网站,他的东西,我们技术者也需要,例如各类工具啥的。但是不会有特别多的生词,我想练练英语!!。希望英语好的学弟、学妹、大佬。或者给一点建议,我要学英语,目的: 看技术文档、日常交流、可选: 工作交流,我想学,但是这样难度会不会很大,很多计算机词汇我不懂

问题2 提前实习需要准备哪些/提前实习,怎么才能最大化提升自己

我单独出文章又没人回复,这里可能热度会高一些

Tips

我这里不想说的很高级,我多厉害,亦或者我思想多深刻。我就是一个小白,我还有很多要学的。

上面是我脑子里面的草稿,如果大家没有梳理过,可能会看的迷迷糊糊的。

但是不代表你比我差,同样也不代表我比你厉害,只是你还没学到或者没去研究!!!!因为这些是我花了很久的时间研究适合自己学习的方法,再画了大半年去研究的过程,太累了,不过很有趣。!!

大家可以从其中某个部分去理解一个流程,尝试去梳理?

#晒一晒我的offer##24届软开秋招面试经验大赏##我发现了面试通关密码##没有实习经历,还有机会进大厂吗#
全部评论
太强了佬
2 回复 分享
发布于 2024-01-09 18:39 湖南
题目何为背和不背?,我分享的是自己平时学习方式和习惯。主要核心是串联起来,我也了解大家可能要赶春招,然后就需要死记硬背八股,所以我感觉,可以的也是是这种串联知识点的办法?
1 回复 分享
发布于 2024-01-09 23:52 安徽
请问能讲讲怎么找项目吗
1 回复 分享
发布于 2024-01-09 22:35 广东
tql,最近刚刚接触ob佬就发文啦
点赞 回复 分享
发布于 2024-02-17 09:54 内蒙古
求八股
点赞 回复 分享
发布于 2024-01-09 20:51 北京

相关推荐

本人BG是双九,信通专业,研究生做的深度学习目标检测这一块儿,无实习,有一篇国内小水论文,其他的嘛。。拿过一个华为杯数模的国二、本科国家奖学金。起初是怀揣着满腔热血准备大战一场金九银十,八九月一股脑往感兴趣企业的算法岗海投了一波简历,多多少少得有个四十家了,这些企业里有很多搞自驾算法的车企、还有很多互联网大厂、以及各行各业比较出名的私企。起初以为面试会排不开需要自己去抉择,没想到从简历筛选和笔试上就败了百分之六七十,仅剩的进入一面的也基本都挂了,印象比较深刻的几家或者相对有一些进度的依次记录在下面了:【迈瑞医疗-图像算法工程师】九月初投递的RDO3,投完马上就做了测评。无笔试,三四天就通知一面了。9.11 一面 30min(1)介绍项目,其中的技术难题与解决方法(自己引导介绍的方向)(2)聊天、意向城市、能否接受加班(迈瑞的加班强度比较大,周一到周五晚上到八九点,周六加班大半天)(3)反问:武汉与深圳的业务区别(武汉的图像只做一个方向血球质谱啥的不太懂,深圳是三个内容方向)一面总结:无手撕无八股,非常轻松愉快的一次面试9.12短信通知下周二面9.15 二面 30min(1)介绍项目,单独拷打了其中一个项目(具体每个环节的工作、遇到的技术问题与解决方案)(2)项目几个人参与、怎么与甲方沟通的、验收指标甲方评价如何(3)面了15分钟以后面试官开始介绍了武汉这边的业务(4)反问+聊天,你是哪里人、为什么想来武汉等等。。。·深圳和武汉两边的业务区别(面试官说武汉这边希望与深圳的业务不做交集,往新的方向发展,好像是血球、体外诊断、血液分析相关)·还问了入职之前可以提前学习什么内容(入职后有1对1导师,不用担心没经验,涉及到医疗知识,可以入职后再学)·薪资(确定14薪)二面总结:又是一场比一面还要舒服的面试,感觉到面试官浓浓的热情,太得劲了二面无后续,已挂【TP-LINK普联-图像算法工程师】九月初投递,无笔试。9.12 一面 20min自我介绍问问项目(技术问题是怎么解决的)很快就完事了,也没反问环节,不知道是挂还是本来就水,等后续吧9.15通知二面9.16 二面 30min自我介绍拷打项目(主要就是按照简历去逐条提问)(感觉问的不是特别深,反而问的比较广)会用什么语言(说的python)紧接着就问了python深拷贝浅拷贝的区别(我没准备八股,所以没答出来哈哈哈)然后面试官看我没回答好,直接就结束了还以为这就是给我挂了,没想到9.22通知第二天三面9.23 三面 30min自我介绍项目介绍(介绍项目遇到的最大挑战、技术难题、解决方法)聊天环节(家是哪里的,为什么选择深圳,生活中的兴趣爱好,吉他是自学的吗什么水平呢)反问环节:介绍一下部门业务?应用安防、家居等上面的目标检测、分割、视频解译等入职培训?导师培养+前两个月会有专门的业务培训+培训课题等技术调研?利用团队已有的经验积累进行复用,或广泛调研论文、开源资源等三面的面试官乐乐呵呵的,整体感觉很友善,很舒适吧10.13 座谈会,主要是HR介绍公司待遇和答疑,听完以后综合考虑薪酬、待遇、风评,主动放弃了【小米-算法工程师】九月初投递,有笔试,3道编程题,难度可以接受一面:持续一个小时,上来先自我介绍,因为我提到最近发表了一篇目标检测的论文,面试官就深入和我讨论了论文的研究内容基本上把我论文的内容问了个遍:研究背景、为什么选择改进这个模块、为什么选择这种改进方法、创新点、模型的具体计算原理、怎么实验的、结果如何等等,一场面试下来像是重新写了一遍论文。。。然后又对其他的项目提问了一下,发现面试官对项目的整体和工作流程并不是很关心,更关心算法本身,例如问了我yolov8的算法原理、语义分割模型的算法原理、指标的计算原理等等,问的很细节很深入(然而我掌握的并不好,所以回答的也是一塌糊涂)最后20分钟手撕NMS(对于没特意准备过的人来说,难度感觉好大啊)反问:部门主要落地的业务有哪些?电子设备涉及到图像的都会有,还可能有陀螺仪之类的处理算法第二天挂了。总体上感觉小米技术面压力非常大、难度非常高,面试之前不充分准备一下肯定是不行的了【顺丰科技-VLM大模型算法工程师】九月初投递,有笔试,3道编程题,难度相对其他企业容易一些9.23 一面 20min自我介绍项目提问(主要是针对简历中大模型相关的项目提问,介绍项目流程以及主要的工作内容)技术提问:介绍一下ViT、说一下多头自注意力机制的原理和应用反问:业务?主要是用在物流场景、工业相机等,有目标检测、语义分割、视频解译等,大模型小模型多模态都会用到无手撕,很快就结束了,总结下来个人感觉面试官从一开始就对我的简历不是很感兴趣,因为我主要是做大模型的下游任务,与他们研发大模型的需求不太对口,所以面试官就糊弄一下了过几天以后挂了【海康威视-AI算法工程师】9.25 一面 30min(1)论文的研究内容和创新点,具体讲讲是怎么实现的,怎么不发顶会(2)介绍大模型项目的研究内容,ViT的原理(3)介绍目标检测领域(我的课题方向)的研究进展,有没有关注CV领域的进展(4)最近有关注大模型最新的研究进展吗,介绍一下,有没有关注过生成式、Agent等等相关的(因为我的方向不是大模型的,只是之前接触过大模型的一个项目,所以这些都没咋了解过,不过这些应该是部门目前跟进的一些技术)(5)为什么选择成都,你会来这里长期定居吗,有收到offer吗等等(6)手撕代码(一道回溯简单题),整场面试必须限时在30分钟内,所以留给我手撕就几分钟,面试官看我读完题就直接让我说思路,然后还剩下一两分钟让我快速写一下代码,写一半就提前叫停了,感觉没咋撕好(7)反问业务(视频图像去噪处理、语言图文多模态大模型等等,感觉和图像智能解译和下游任务没啥关系)出现和顺丰的面试一样的情况,面试官似乎只对大模型感兴趣,尤其是CV领域的,但我接触的极其有限,回答的比较模糊,过几天以后挂了【荣耀-AI算法工程师】10.10技术一面,25min基本就是自我介绍,项目介绍,遇到的难点与解决因为后面在聊天的过程中面试官说他是做搜广推的,所以不了解我做的视觉相关的项目,也就没深入提问,同时也没有八股和手撕。总之非常轻松的一场面试,如果方向是NLP的话可能问的会更细节一些吧。反问环节也是请面试官介绍了一下他们部门的业务方向,很快就结束了,等后续了!10.14综合二面,20min介绍项目、聊天、反问等,比较简单一直没后续,肯定是结束了【失败总结】个人认为这次秋招之所以这样大失败,可能是这几个因素导致的:①近几年算法岗越来越卷+毕业生越来越多+我投递很多是难进的大企业,这些多重debuff,没有极其出色的成绩则毫无竞争力 ②近些年大模型火了起来,很多算法岗只关心有没有大模型相关经历 ③无实习、无论文,没有出色的成绩,只有一张看似优秀的学历,实则只是过了门槛虽然后面自己也意识到秋招即将结束的危机性,投了一些相对好进的央国企,可惜,有些是投的太晚了没后续,有些是了解到薪资后实在是不想去。这场秋招除了TP和最后去的华子,可以说是0offer了,唉,工作是真的不好找啊!!!【华为-半导体业务部-通用软件开发工程师】(已签约)最早投的是华子,最晚开的也是华子,属于是贯穿整个秋招,有头有尾了哈哈,下面是汇总了一下我的整个时间线:8.6 正式在官网投递了简历,开始进入华子的招聘流程9.13 官网截止投递简历,这时候应该也是我的简历筛选通过了。同时还收到了一个好消息,因为华为杯数模国二以上可以免笔试,所以9.17的笔试直接跳过了9.16 综合测评9.22 面试通知邮件9.24 线下面试,2轮技术+1轮综合。提前准备准备就没问题,面经我是看的牛客和小红书上的很有用。技术面:①自我介绍②项目介绍与提问,20min③手撕代码+复盘,20min,我的题是字符串解码(**394)+岛屿数量(**200)④反问每轮基本30~40分钟左右,我没被问到理论八股,所以总体来说我感觉难度不大,建议重点准备一下**Top100主管综合面:①自我介绍②项目介绍③综合提问,比如在项目中如何处理压力、实验失败、团队合作等等;为什么选择这里等;对华为价值观的理解等④反问基本20分钟左右,建议重点准备一下华为核心价值观9.25 在官网查询到面试通过了10.31 对接人保温11.18 对接人保温11.28 报批通过、oc(定岗、薪资、意向确认)11.29 意向确认邮件11.30 小奖状12.16 线下签三方,结束秋招总结:话不多说了,4个月的信任与坚持,感谢华子收留,摇身一变华孝子
点赞 评论 收藏
分享
评论
60
199
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务