V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
seagull7558
V2EX  ›  Java

学过的知识记不住怎么办?

  •  
  •   seagull7558 · 90 天前 · 5762 次点击
    这是一个创建于 90 天前的主题,其中的信息可能已经有所发展或是发生改变。

    时隔一年,又开始准备面试了,然后复习的过程中,很多东西有一点点印象,但是都记得很模糊,大家伙都怎么记住那么多内容的?

    用 hashmap 举个简单的例子,我很清楚去年我是跟着看过源码的,比如 put 方法的扩容机制怎么复制的旧数据,数组下标怎么算的这种知识点,但是隔离一年我确实又记不住了

    工作时间越久,积累的知识越多,背的东西就越多,有点脑袋痛

    难道厉害的大佬随时随地拉出来,都能讲清楚各种网络,java 基础,juc,集合框架,jvm,框架(ssm+springcloud),各种数据库(redis mysql es,数据存储,事务原理,单点 /主从 /集群)的各种实现原理吗?

    第 1 条附言  ·  90 天前
    不知道这个想法有没有被人实现过

    针对后端开发人员的通用知识,做一个级别较低的考级机制,这样的话各种八股背一遍考完拿证就完事了,面试出具这个证书就完事了,也更节省时间,避免多次背诵

    但是不要搞得太难,之前用的 Oracle,见过一个 DBA 同事,捧着个老厚的书在看,那就太难了
    68 条回复    2022-05-25 10:40:07 +08:00
    chihiro2014
        1
    chihiro2014  
       90 天前
    最终你会发现,知识都是共通的
    xianyv
        2
    xianyv  
       90 天前   ❤️ 2
    最终你会发现,不用的总会记不住的
    hanssx
        3
    hanssx  
       90 天前
    多实践:纸上得来终觉浅,绝知此事要躬行
    多做笔记:好记性不如烂笔头

    普通人都会忘,过目不往的人都是天才,放过自己。
    chengyiqun
        4
    chengyiqun  
       90 天前   ❤️ 5
    遗忘曲线, 经常用的记得住, 不常用的就忘了.
    我怀疑我门大脑是 LRU 算法的变种(
    hidemyself
        5
    hidemyself  
       90 天前   ❤️ 3
    八股就是要临时抱佛脚
    真正需要积累的,在我看来就是系统设计相关的,遇到问题怎么处理
    yangguo1
        6
    yangguo1  
       90 天前
    我也是这样的,去年看了 spring 的源码,今年就忘了。也想问一下,如果公司的业务就是很简单,什么分布式,源码,消息中间件都用不到该怎么办?
    yedanten
        7
    yedanten  
       90 天前 via Android
    因为用不上 /很少用才会忘。既然用不上,忘了就忘了,有需要用的时候在临时查一查
    seagull7558
        8
    seagull7558  
    OP
       90 天前   ❤️ 1
    @hanssx 我去年认真做了笔记 放在了自己博客里,但是今年就是忘了,例如 mysql 的锁 什么间隙,自增,意向,读写,真的记不清楚了,只是知道有这么个东西
    kblacksheep
        9
    kblacksheep  
       90 天前   ❤️ 1
    除非记忆力超群,否则用不上或者用的少的东西很快就忘很正常吧。我以前也挺困扰,但是后来发现这个问题只有在找工作背八股的时候对我有实质性的影响,其他时候你都是有学习第二遍第三遍的机会的,大量重复本来就是掌握知识必要的步骤之一。
    rabbbit
        10
    rabbbit  
       90 天前
    我连 Python 语法都忘光了.复习是必须的,但如何高效的复习是个问题.
    zooo
        11
    zooo  
       90 天前   ❤️ 1
    不得不承认现在人类积累的知识量太大了,人脑难以装下

    so 寻找第二个大脑:笔记
    fstar
        12
    fstar  
       90 天前   ❤️ 1
    输出倒逼输入。

    你以为你记住了,其实你没记住。

    你要写东西出来,要写的浅显易懂,很多似懂非懂的点你也得理清,可能还要写点小 demo 。那才是真记住。

    当然最好的方式,是教别人。
    jielong
        13
    jielong  
       90 天前
    不要焦虑吧,除开那些记忆力特别好的,低频的知识遗忘很正常
    目前我的状态就是,能记住问题的解决思路,具体的代码交给搜索引擎,不丢人 😅
    codefever
        14
    codefever  
       90 天前
    我觉得本质是没有理解,如果你真的理解了,就算你不能完整的复述出来,也可以旁征博引的回答问题。
    nuistzhou
        15
    nuistzhou  
       90 天前 via iPhone
    用学习史记的方法去搞,比如先想想假如自己去设计这个模块,要怎么做。有主意了,或者实在想不出来了,再去看现成的方案。
    shaojz2005
        16
    shaojz2005  
       90 天前
    学了不用肯定记不住
    gugugagadun
        17
    gugugagadun  
       90 天前
    logseq 电子笔记本
    encro
        18
    encro  
       90 天前
    因为你学的是 How ,没有学到 Why 。

    就好比学做菜,
    你知道原料和工序,
    但是不知道为什么原料和工序是这样的。
    storyxc
        19
    storyxc  
       90 天前
    我的做法:学习完输出文档 /笔记,尽可能详细,把自己学习的思路什么都记下来然后保存到自己的知识库中,可以是静态博客,也可以是 notion 这类笔记工具。如果学到的是常用的肯定基本就不会忘了,如果是不常用,那等用到的时候再回知识库中查询温习,如此循环往复。
    kg2019
        20
    kg2019  
       90 天前
    学过了要留下笔记的,隔一段时间翻看一下,多翻几次就记住了
    Leonard
        21
    Leonard  
       90 天前
    记不住就对了,长期用不到,又不是特别有趣的知识就容易记不住。面试的时候再背一次。
    windyboy
        22
    windyboy  
       90 天前
    实践+理解
    学校里养成的死记硬背的方法其实是应付考试而已
    GGPlayer
        23
    GGPlayer  
       90 天前
    有时候应该和大脑一样
    学会放过自己 ( •̀ ω •́ )y
    zhenrong
        24
    zhenrong  
       90 天前
    忘掉所有的招式,无招胜有招。
    lovedebug
        25
    lovedebug  
       90 天前
    remnote, anki 第二大脑,你需要的~~
    Hilong
        26
    Hilong  
       90 天前
    正常,大家都是面试的时候才去背一下,真正工作的时候用不到自然就忘了,你经常用的代码,你现在逼着眼睛也能写出来了吧
    Suddoo
        27
    Suddoo  
       90 天前 via iPhone
    背这些没啥卵用啊,就是源码作者也未必每个参数都能记得清楚

    为啥要这么设计?都是为了解决现实中特定场景问题的,你不是做这块业务的,光靠背、记不住的
    samin
        28
    samin  
       90 天前
    不要尝试和遗忘曲线对抗,很难,核心是做到把遗忘的事情快速捡起来(高效复习),可以做做 blog ,分享下我的:
    https://github.com/SaminZou/study-prj
    cnrting
        29
    cnrting  
       90 天前
    记不住那只能说明不够重要或用处不大
    aeli
        30
    aeli  
       90 天前
    看过不代表记住,最好的方法是看完后,自己录个课把概念讲一遍,这样掌握的牢固。

    然后如果不复习和使用,过一段时间还是会忘
    silencil
        31
    silencil  
       90 天前
    @seagull7558 一模一样,每次跳槽都是一个学习的轮回
    LemonK
        32
    LemonK  
       90 天前   ❤️ 2
    没记住就是不会。干嘛要背。
    hashmap 解决散列冲突使用拉链法,为了查询效率长链表优化成红黑树,数组达到阈值 2 倍扩容(位运算简单)旧节点尽量平均拆分,每次扩容不会全部 rehash ,不支持并发。再具体不知道了。至少 8 年没碰 java 了,马马虎虎就记得这些。
    之前倒是做过散列式节点的分布式存储,自己从 0 开始瞎设计的分配方式和这个差不多。边角各种优化时间空间的小细节,做到那步时候再考虑就行了。
    码农行业的一大优点是没有无缘无故的知识,所有都是人工设计,而设计都是为了解决问题。普通业务能遇到的问题种类并不多,底层思路也来回就那几套,计算机原理和基本算法玩熟,剩下都是拆分排列组合而已。就像楼上说的,学习真正要学的是 why 而不是 how 。

    其实我更想说,面试不是考试,别觉得问你你就必须会。要主动展示你会什么能干什么,展示你觉得自己出色的地方,而不是为了迎合,硬背一些你实际并没掌握的东西。
    如果你充分表现了你的能力,面试官偏要死磕你不记得什么,那只能说明你们不合适。
    和谈恋爱一样,合不来不用勉强,不会幸福的。
    lianglu
        33
    lianglu  
       90 天前
    没人说这是卷吗?
    feather12315
        34
    feather12315  
       90 天前 via Android
    我觉得用不着记,知道从哪找资料就行了
    seagull7558
        35
    seagull7558  
    OP
       90 天前
    @LemonK 感谢这么长的回复,问题是对于年限不长的(3 年),我真的很难展示自己做过什么很好的东西

    没有什么出彩的项目经历 /开源贡献,可以武装自己的只有这些基础知识,我其实一直认为这些东西就是我必须要会的~,大环境卷啊,被逼无奈

    不过说实话部分知识学完后,确实会感叹,我曹原来人家设计的这么巧妙,那些底层设计我是绝对想不到的,所以背起来倒不是很枯燥
    kykx
        36
    kykx  
       90 天前
    很正常,知识嘛,学了不经常用就会忘记,看看高中的化学公式还能推出来几个?普通人要想记住就得靠不停的重复。
    BadCat
        37
    BadCat  
       90 天前
    哈哈哈哈,我一个多月前还在背 innerdb 和 myisam 的区别和优缺点,现在找到工作后也忘得差不多了,我个人认为是没有什么驱动力吧,当时的驱动力就是找到一个好工作,找到后就开始松懈了
    ration
        38
    ration  
       90 天前 via Android
    唉,我也在面试,好难啊。如果真的要精通,一个知识点一本书都不够。所以平时还是多看书,多记笔记。把操作系统学好,我想基础扎实了,学其他的也快。至于面试,快速的方法就是背八股文了。
    paoqi2048
        39
    paoqi2048  
       90 天前
    建立知识图谱(理解通透后再纳入图谱,用自己的话写),要用的时候现看就行了
    ijrou
        40
    ijrou  
       90 天前 via Android
    温故而知新
    neutrinos
        41
    neutrinos  
       90 天前 via iPhone
    之所以面试叫做八股文,就是背啊
    lzgshsj
        42
    lzgshsj  
       90 天前
    关于后面这个考级的想法,最后的结果就是所有人都有证书,等于所有人都没有证书,企业觉得分不出差距,于是在面试中搞“附加题”,大家伙除了搞证书,还要背附加题……然后,就是一种循环~~
    biubiuF
        43
    biubiuF  
       90 天前
    hashmap 其实和各种 sharding 思想都是一样的,其中的优化方式如果能够融会贯通还是很有意义的,类似的还有很多
    wtdd
        44
    wtdd  
       90 天前
    很正常啊,大神都是一遍过加保持很久的记忆,要是人人都如此,那 hypsmtp 不爆了?
    int11
        45
    int11  
       90 天前
    记个索引(知识图谱)需要用到时通过索引找具体内容
    Jooooooooo
        46
    Jooooooooo  
       90 天前
    先分清工具和知识

    然后注意把握工作中的学习机会

    最后就是重复 (特别是计算机三大项, 操作系统, 网络, 数据结构, 可以温故而知新)
    oldshensheep
        47
    oldshensheep  
       90 天前   ❤️ 1
    记不住就记不住,要用的时候在学,然后不断的重复,本质上学习就是如此。
    当然为了面试的话,临时抱佛脚就行了。你学那些东西你又不用,能记住才怪了。
    就比如你现在可能记不清有丝分裂分为几个时期,每个时期的细胞的状态如何。这在高考中生物是是必考的,当时肯定是清清楚楚,现在呢?
    如果是要加强的背你说的,就要多联想、多联想、多联想。把知识给织成网。
    Johnming
        48
    Johnming  
       90 天前
    构建思维导图,加强记忆
    learnshare
        49
    learnshare  
       90 天前
    不常用的东西会忘掉很正常,大脑是这么工作的,否则容易超负荷
    xumng123
        50
    xumng123  
       90 天前 via iPhone
    忘记的是没用的,能留下来的才是精华。系统的梳理自己的知识体系,形成自己的认知脉络。
    hutusi
        51
    hutusi  
       90 天前
    了解下「费曼学习法」?
    dioxide
        52
    dioxide  
       90 天前
    重复 + 应用.
    nanjoyoshino
        53
    nanjoyoshino  
       90 天前
    +1 ,复习准备面试中,好累啊,这帮面试官能从业务层哪个功能具体怎么实现,一路向下问到 CPU cache 的加载策略
    这就算了,还要搞大概率一辈子也用不上几次的算法题,中等起步,偶尔还有 hard ,太卷了
    folnet
        54
    folnet  
       90 天前
    个人感觉 多用才能记住
    rehoni
        55
    rehoni  
       90 天前
    工作中基本用不上,都是和业务相关的,学算法、看源码和底层设计,平时都基本用不到,那该怎么保证这些不会被遗忘呢,只是做笔记我感觉也不太靠谱。。
    byte10
        56
    byte10  
       90 天前
    有一个叫费曼学习法,你看看我的 B 站”小巫老师“ 讲解就知道了,一个知识要真正的理解,是能够用现实生活的场景去描述的,技术本身就是为了解决现实中的问题。你要是怕忘记,就尝试去把这个知识讲给别人听,能听明白,就说明你学习透了,否则继续学
    chanchan
        57
    chanchan  
       90 天前
    同意,没有深入用过的,确实记不住
    foursevenlove
        58
    foursevenlove  
       90 天前
    @fstar 同意
    xuanbg
        59
    xuanbg  
       90 天前
    忘了就忘了,要用时再学习一下。
    gengchun
        60
    gengchun  
       89 天前
    这种学过就忘记是正常现象。其实没有什么大不了的。程序员这种不是急诊医生这种职业。真的忘记了一个知识点真的会出人命的。程序员忘记了一个知识点,现查就好,能出什么事情。最多浪费半个上午。

    比如说 mysql 主从、集群这种,现在真做祼机,MaxScale 什么中间件很成熟了,到处都是 OTLP 集群,SQL 自动优化也换了好几次。很多时候中间件后面怎么优化的,根本就不知道,也不用知道,人家也懒得告诉你,就算说了你也理解不了。忘记了就忘记了算了。

    有些大佬说真的,为了表现自己没有脱离一线,讲十几年前的数据库优化案例。下面坐的小年轻,一般只是觉得没有必要让人下不来台而已。所以关键是成为大佬,而不是背八股文。你这本末倒置了。
    ysc666
        61
    ysc666  
       89 天前
    恭喜你已经达到学习的最高境界,就是学什么忘什么!
    echoechoin
        62
    echoechoin  
       89 天前
    上的课,过了很久还记得的才是你学会的。
    tonzeng
        63
    tonzeng  
       89 天前
    “但是不要搞得太难,之前用的 Oracle,见过一个 DBA 同事,捧着个老厚的书在看,那就太难了”

    我觉得他在装哈哈哈哈哈哈哈哈哈哈
    PopRain
        64
    PopRain  
       89 天前
    对于大多数人来说,理解记忆+重复 都是记忆的好办法,没有什么捷径
    zxCoder
        65
    zxCoder  
       89 天前
    很正常。要是学过就能记住那我早就考上清北了🐕
    zsylife
        66
    zsylife  
       85 天前
    别说知识了,平时的事我都经常忘
    Uplay
        67
    Uplay  
       83 天前
    @samin 谢谢大佬关注了
    yorun
        68
    yorun  
       74 天前
    笔记真的很重要
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4490 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 02:13 · PVG 10:13 · LAX 19:13 · JFK 22:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.