• 请不要在回答技术问题时复制粘贴 AI 生成的内容
beryl
V2EX  ›  程序员

leetcode 应该怎么刷

  •  1
     
  •   beryl · Feb 24, 2020 · 7654 views
    This topic created in 2294 days ago, the information mentioned may be changed or developed.

    RT 难度是每个级别刷个 100 多再进下个,还是 easy 和 middle 无差别随机?

    另外平均一道题大家要多久?

    Supplement 1  ·  Feb 24, 2020
    感谢各位

    这里有个背景可能没描述清楚,
    当前的目标是大公司的非算法岗,Java 工程方向

    不过大家的建议和思路还是很受用,只是如果工程方向刷题的强度是否还需要像大家建议的
    Supplement 2  ·  Feb 24, 2020
    今年的目标可能还是国内一线大厂
    虽一直像国外大厂,但是现在项目经验和各方面准备并不太充分,先一步步来
    28 replies    2020-02-25 11:39:51 +08:00
    seki
        1
    seki  
       Feb 24, 2020   ❤️ 3
    优先 easy 和 medium
    hard 花的时间一般更长了,面试时候很难有这么多时间做出一道的——面试官自己估计也要花很多时间去理解答案

    不要在意别人花多长时间,自己学到了技巧就行

    可以跳过那些 down vote 比 up 还要多的题
    xupefei
        2
    xupefei  
       Feb 24, 2020 via iPhone
    先把 top interview questions 按顺序刷完,大概 100 道题。之后每天做一到两套 mock interview 保持手感就行了。
    拿到某家公司的面试以后买个会员,刷完那个公司的面试题。
    NVDA
        3
    NVDA  
       Feb 24, 2020
    按 tag 刷,LeetCode 的难度不准。
    Pyjamas
        4
    Pyjamas  
       Feb 24, 2020
    我感觉首先你要知道有哪些知识点吧,然后估计一下哪些是自己的弱项,哪些是公司常考的类型
    然后按照 tag,easy 和 medium 混着刷几道掌握套路就行了

    我就刷了 100 多道,还从来没挂过 onsite,包括 G 家的
    honeybeeRiding
        5
    honeybeeRiding  
       Feb 24, 2020 via iPhone
    这是刷程序员题目的?
    ericgui
        6
    ericgui  
       Feb 24, 2020
    建议按照分类,比如 array,比如 dynamic programming,linked list

    一段时间内集中火力刷某一类的题
    zhjy23212
        8
    zhjy23212  
       Feb 24, 2020
    hard 题目不要浪费太多时间,按照主题来做,形成一种经验
    别放弃太快看答案
    CEBBCAT
        9
    CEBBCAT  
       Feb 24, 2020
    ggtalk 出过一期相关节目,可以去听一下
    beryl
        10
    beryl  
    OP
       Feb 24, 2020
    @xupefei
    @seki
    @Pyjamas
    @ericgui
    感谢各位,目标是国内大公司的非算法岗,Java 工程方向

    如果工程方向刷题的强度是否还需要像大家建议的呢
    yuikns
        11
    yuikns  
       Feb 24, 2020
    hard 题目可以有兴趣刷,其他按照系列刷。比如 2-sum 做完后看看 similar questions,试试 3-sum 4-sum, 2 sum II 等等。

    dp 也是,首先考虑下递推式的思路,然后多做类似的题目练习下。

    这个就是正常强度吧。有时候等人无聊了 random pick 个 easy/medium 题目打发下时间。

    如果是算法岗,额外的是凸优化,梯度下降,em, lr, gbrt, attention based lstm 这些常见内容,和这个不是一个系列的。
    st2udio
        12
    st2udio  
       Feb 24, 2020
    面试基本用到 hard
    st2udio
        13
    st2udio  
       Feb 24, 2020
    #12 面试基本用不到 hard
    hanangellove
        14
    hanangellove  
       Feb 24, 2020
    按类型刷
    across
        15
    across  
       Feb 24, 2020
    我是先做大公司的,leetcode 上有分类,然后按序号从 1 开始做。
    cosmic
        16
    cosmic  
       Feb 24, 2020
    按照分类刷,每个类别的基本数据结构自己实现一遍。每个类别都掌握后,然后随机。看别人面经贴,对照里面的题目,模拟白板做题
    yuikns
        17
    yuikns  
       Feb 24, 2020   ❤️ 2
    另外建议熟悉到一定阶段找朋友 mock 一下。
    单纯做题和白板和人聊区别很大。
    国内面试的时候发现好多人都是吭哧吭哧做题,不讲思路不和面试官沟通。

    一个建议的流程是这样的:
    你好,我理解需求是这样的,blah blah,
    我觉得这个题目可以通过 XXX (线段树,bs) 来解决,具体是先 XXX 然后 XXX。大概时间复杂度大概是 XXX,
    您看这样可行不?
    好的,那我写了。
    此处我想法是这样的 XXX
    您看还有什么问题不?

    通常你卡住了,面试官也会很愿意在合适的地方小小提示一把,而且即便最后代码没有一次 ac,还有一些小 bug,思路没问题基本都让过的。

    反之,要是一直闷在那儿,也不知道写什么,这个就很尴尬了。

    沟通是需要练习的。不是一下想做就能做到的。
    beryl
        18
    beryl  
    OP
       Feb 24, 2020
    @yuikns 感谢,现在正在每天挤时间刷题,争取两个月可以先去面一波

    另外简单问句,真实情况下,如果面试 TA 的后端研发,还需要准备哪些呢,按照现在公司的职级大致上对应阿里 P7, 升的比较快

    单恰恰是这样,心理更没底
    yuikns
        19
    yuikns  
       Feb 24, 2020
    @beryl 腾讯和阿里我都没面过。google fb amazon 的 recruitment team 会全程和你接触。需要准备什么应该会有充分提示,以及一些文档。要是 base 在中国还可能会加你微信。需要准备什么直接问人家就行,还是很贴心的。
    中国应该也一样吧?你试试问下 hr,要是发现需要准备的时间比较多,就稍微推一会儿下一步。这个流程应该可以放心的。
    t9ouKal33vGEZyf5
        20
    t9ouKal33vGEZyf5  
       Feb 24, 2020
    之前写的一篇文章,希望对你有用:[到底该如何刷 LeetCode ?]( https://qoogle.top/how-to-brush-leetcode/)
    t9ouKal33vGEZyf5
        21
    t9ouKal33vGEZyf5  
       Feb 24, 2020
    之前总结过一篇文章,关于如何刷 LeetCode 的,正好分享出来,共勉:[到底该如何刷 LeetCode ?]( https://qoogle.top/how-to-brush-leetcode/)
    geeti
        22
    geeti  
       Feb 24, 2020 via iPhone
    我觉得已经太多没有必要全刷了,按类型看看就行了
    beryl
        23
    beryl  
    OP
       Feb 24, 2020
    @yuikns
    @GenialX2
    感谢
    labubu
        24
    labubu  
       Feb 24, 2020
    应届生嘛?
    hello2060
        25
    hello2060  
       Feb 24, 2020
    想清楚了再提交,不然一跑一看一个 test 没过,你就根据这个 case 的数据来改你的 bug, 改好再跑,又一个没过,这样做下来你很快就会忘记的,因为纯粹是 test case 驱动你做完了这道,而不是你真的考虑周全了。那么下次做你可能还会犯错
    beryl
        26
    beryl  
    OP
       Feb 24, 2020
    @daimiaopeng 毕业三年多了
    muyunyun
        27
    muyunyun  
       Feb 25, 2020
    个人也是有时间就做下, 除了面试其实对个人的思维能力提高其实也蛮好的, 可能按类别做效果会比较好, 另外写下解题心得, 比如我是这样子整理的, https://github.com/MuYunyun/blog/blob/master/BasicSkill/LeetCode/README.md
    cmlx1014
        28
    cmlx1014  
       Feb 25, 2020
    https://leetcode-cn.com/ 是这个网址么
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2905 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 76ms · UTC 14:29 · PVG 22:29 · LAX 07:29 · JFK 10:29
    ♥ Do have faith in what you're doing.