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

leetcode 应该怎么刷

  •  1
     
  •   beryl · 2020-02-24 00:58:18 +08:00 · 6769 次点击
    这是一个创建于 1495 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    第 1 条附言  ·  2020-02-24 08:56:14 +08:00
    感谢各位

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

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

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

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

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

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

    如果工程方向刷题的强度是否还需要像大家建议的呢
    yuikns
        11
    yuikns  
       2020-02-24 10:21:13 +08:00
    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  
       2020-02-24 10:23:59 +08:00
    面试基本用到 hard
    st2udio
        13
    st2udio  
       2020-02-24 10:24:15 +08:00
    #12 面试基本用不到 hard
    hanangellove
        14
    hanangellove  
       2020-02-24 10:24:40 +08:00
    按类型刷
    across
        15
    across  
       2020-02-24 10:25:42 +08:00
    我是先做大公司的,leetcode 上有分类,然后按序号从 1 开始做。
    cosmic
        16
    cosmic  
       2020-02-24 10:30:04 +08:00
    按照分类刷,每个类别的基本数据结构自己实现一遍。每个类别都掌握后,然后随机。看别人面经贴,对照里面的题目,模拟白板做题
    yuikns
        17
    yuikns  
       2020-02-24 10:32:47 +08:00   ❤️ 2
    另外建议熟悉到一定阶段找朋友 mock 一下。
    单纯做题和白板和人聊区别很大。
    国内面试的时候发现好多人都是吭哧吭哧做题,不讲思路不和面试官沟通。

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

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

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

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

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

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