关于刷题的一些碎碎念来自一个 LeetCode 刷了 600 题的普通码农 - V2EX
51 replies    2024-11-19 09:05:07 +08:00
Jface
    1
Jface  
   Jan 27, 2023 via iPhone
感谢分享,今年假期才开始刷题,主要为了找工作应付面试…
EIJAM
    2
EIJAM  
   Jan 27, 2023   1
学习了
Knuth
    3
Knuth  
   Jan 27, 2023 via iPhone
我都是刷刷 hot100
PythonYXY
    4
PythonYXY  
   Jan 27, 2023   3
赞同。绝大多数人刷题的目的就是为了面试,选择性价比最高的方式刷题才是正解,而不是花大量时间在一些「奇技淫巧」上。毕竟算法只是面试的其中一部分,而且随着工作年限的增长,算法八股文这些内容在面试中的占比也会越来越低的。。。
Rrobinvip
    5
Rrobinvip  
   Jan 27, 2023
赞同,和 op 的想法基本一致。
KMpAn8Obw1QhPoEP
    6
KMpAn8Obw1QhPoEP  
OP
   Jan 27, 2023 via Android
@Jface 哈哈 说实话到目前为止我的刷题经历没有任何用武之地
刚开始还是按 tag 来 从 easy 到 medium 挨个做上十几道 找找感觉再说 这样下来也能有百八十题了 然后再进阶
大佬告诉我水水周赛也挺好的 但我个人水平不够 就没碰 也可以参考一下
KMpAn8Obw1QhPoEP
    7
KMpAn8Obw1QhPoEP  
OP
   Jan 27, 2023 via Android
@Knuth 我也想着如果将来哪天真的要为面试再捡起 LC 了 那就用 hot 100 找找手感得了 要是再让我肝 500 题 真的不行了。。
KMpAn8Obw1QhPoEP
    8
KMpAn8Obw1QhPoEP  
OP
   Jan 27, 2023 via Android
@Rrobinvip 求同存异一下 有什么想补充或者想指正的点吗?
hxtheone
    9
hxtheone  
   Jan 27, 2023 via iPhone
于我而言刷题最大的收获就是算法题没遇到太大压力就面进了外企,另外就是学新语言的时候都拿 leetcode 每日一题来练手,顺便维护了一套题解 https://leetcode150.xhu.me/
NVDA
    10
NVDA  
   Jan 27, 2023   1
刷 leetcode 题是用来筛 new grad 或者 junior level 的人的
另外就我个人而言,任何出 hard 题的公司都不值得我去面
(是的,说的就是你 Google )
KMpAn8Obw1QhPoEP
    11
KMpAn8Obw1QhPoEP  
OP
   Jan 27, 2023 via Android
@hxtheone 题解不错 收藏了
用 LC 来熟悉练习新语言确实是个好办法
KMpAn8Obw1QhPoEP
    12
KMpAn8Obw1QhPoEP  
OP
   Jan 27, 2023 via Android
@Mirage09 哈哈 不止家 蕉厂据说也会出 hard
raysaii
    13
raysaii  
   Jan 27, 2023
谢谢你,解答了我疑惑。我考虑把解题数提高到一下,就不再纠结了
KMpAn8Obw1QhPoEP
    14
KMpAn8Obw1QhPoEP  
OP
   Jan 27, 2023 via Android
@raysaii 现在正纠结什么呢
刷多了就会发现 解题有时候有固定模板可以套 不过知其然不知其所以然的话 比较没有灵魂。。
zhangxh1023
    15
zhangxh1023  
   Jan 27, 2023 via iPhone
这两年经常上班摸鱼刷个一两题,去年认真打了一下周赛,终于能够偶尔四题了。
要说有用吗,确实也没啥用,要说没用吧,确实挺有成就感。然后就懒得打了,纯无聊刷题
raysaii
    16
raysaii  
   Jan 27, 2023
@enchilada2020 为了面试呀,刷到一个还凑合的数目,哈哈哈
cnsdytedison
    17
cnsdytedison  
   Jan 27, 2023 via Android
话说楼主除了刷题工作下班后还有别的事情分散精力嘛。一般 99 之后给多久时间刷啊。
顺,膜拜大佬
KMpAn8Obw1QhPoEP
    18
KMpAn8Obw1QhPoEP  
OP
   Jan 27, 2023 via Android
@zhangxh1023 你这个状态就很羡慕了 对刷题来说确实是摸鱼无聊时刷最理想
KMpAn8Obw1QhPoEP
    19
KMpAn8Obw1QhPoEP  
OP
   Jan 27, 2023 via Android   1
@cnsdytedison 完全没有 那阵子是个无情的代码生成器 上班堆业务下班刷题 然后刷刷手机睡觉 loop
我属于人菜瘾大不太开窍的那种 后期一般一道题顺的话 20 分到 40 分差不多 不顺的话可能要花 2 个多小时 前期刚开始一道题卡两三天都有可能
一般建议 20 分钟没思路就直接抄题解了 把题解看懂之后再做一遍之类的 如果有思路但被 edge case 卡了可以多花点时间 debug
Origami404
    20
Origami404  
   Jan 27, 2023 via Android
刷题的回馈性很强,相当于一个个消耗时间可控非常可控的“小项目”,在没有特别想做的 side project 的时候其实是维持代码手感好选择

(可惜我现在想做的 side project >> 我能做的,所以我还没刷过多少 leetcode:)
KMpAn8Obw1QhPoEP
    21
KMpAn8Obw1QhPoEP  
OP
   Jan 27, 2023 via Android
@Origami404 确实很强 一气呵成 AC 掉之后会开心好一阵子 如果跟大佬思路一致那更爽了 然而听取 WA 声一片时也很酸爽 hhh
楼上也有人说靠刷题熟悉语言 真无聊时刷两道还是挺好玩的
acctv2
    22
acctv2  
   Jan 27, 2023
我感觉大多数情况下刷题就是一个脑力训练,并非有多高的工程实用价值,虽然找工作也很有用。

真学算法,还得从数学科班搞起...
vlgs
    23
vlgs  
   Jan 27, 2023
算法本质是数学。但是学数学不能让你学会做算法题。数学学的也不是做算法题。
RedisMasterNode
    24
RedisMasterNode  
   Jan 27, 2023
小心一会又有人来喷你说刷题是服从性测试了
KMpAn8Obw1QhPoEP
    25
KMpAn8Obw1QhPoEP  
OP
   Jan 27, 2023 via Android
@acctv2 对于应用开发者这样偏业务实现的 算法确实没什么用武之地 但基础库实现或是正文里提到的那些相对硬核的领域 算法肯定是不可或缺的基本功
但其实就算是业务码农 最基本的数据结构和算法思想也要掌握 不说 DP 红黑树之类的高级概念 至少树是什么要了解 树的遍历要会写 为什么?因为最常见的 JSON 本身就是个树 不怕你笑话 我们组现在有个同事连这个都意识不到 写个业务逻辑 处理下数据 也能糊成一坨…
KMpAn8Obw1QhPoEP
    26
KMpAn8Obw1QhPoEP  
OP
   Jan 27, 2023 via Android
@vlgs 是的 但目光再放高些 那些经典算法大多都是数学造诣很深 或干脆就是数学出身的人搞出来的
当然单论刷题来说 纯数学背景的也做不到顺手拈来 但我相信肯定比数学 /逻辑能力差的人上手要快很多很多
KMpAn8Obw1QhPoEP
    27
KMpAn8Obw1QhPoEP  
OP
   Jan 27, 2023 via Android
@RedisMasterNode 哈哈 这个见仁见智了 之前不是有个经典梗 home brew 作者因为写不出翻转二叉树被家拒嘛 如果让这位爷来说 那肯定也要喷刷题是服从性测试了 毕竟被伤害过。。。
NVDA
    28
NVDA  
   Jan 27, 2023
@enchilada2020
蕉厂方差太大
三年前面进去的时候的 coding 都是 medium 的题
SiuRayyy
    29
SiuRayyy  
   Jan 27, 2023
说得挺好
DeltaC
    30
DeltaC  
   Jan 27, 2023
本科打了三年 xcpc,已经意识到自己不是这块料,现在刷题就为找饭碗,热爱算法想体验被虐的感觉可以去 codeforces 打 div1/2 。
BingoXuan
    31
BingoXuan  
   Jan 27, 2023
「“君不见有太多基本编程素养不过关的码农,为了解决一个很简单的功能,循环嵌套了一层又一层,却根本不知道一个递归就能简洁明了地搞定。”」
没错,递归可以解决不少洋葱代码。最近接收的项目代码看得头痛,各种奇葩实现。用递归实现代码量减少很多而且更加清晰,业务 bug 也少。唯一缺点就是,递归结束条件比较难一次写好。
rainsho
    32
rainsho  
   Jan 27, 2023
佛系爱好者,刷题两年半,解题 1200 ,每日一题,能解就解,解不出来也不死磕,除非当天闲的蛋疼。我倒觉得这个玩意儿挺有意思的,三言两语给你个任务去解决,不像日常工作,有繁重的上下文,脑袋疼。。。
KMpAn8Obw1QhPoEP
    33
KMpAn8Obw1QhPoEP  
OP
   Jan 27, 2023 via Android
@SiuRayyy 哈哈 感谢肯定
KMpAn8Obw1QhPoEP
    34
KMpAn8Obw1QhPoEP  
OP
   Jan 27, 2023 via Android
@DeltaC 正文里也提到了 所谓热爱只是到了甜蜜点而已 上来就 hard extreme 都是直接自闭的 专业选手也不例外
KMpAn8Obw1QhPoEP
    35
KMpAn8Obw1QhPoEP  
OP
   Jan 27, 2023 via Android
@BingoXuan 这正是基本功的体现 有过对比才能感受到什么是优雅
macha
    36
macha  
   Jan 27, 2023   1
在学校时候先刷剑指 offer ,再刷 LeetCode ,当年手写代码贼溜,走路和坐着发呆的时候都在回味,可惜现在已经忘完了。

现在回想起来刷 LeetCode 好处是极大的提升了我的思维和编码能力,还有对数据结构,常见编程思想的理解。

所以说,刷一刷还是挺不错的。

不过现在做码农时间久了又会发现,架构,业务,调试能力比算法更加重要,当然也有可能是我做的产品对算法要求不高。
KMpAn8Obw1QhPoEP
    37
KMpAn8Obw1QhPoEP  
OP
   Jan 27, 2023 via Android
@rainsho 谦虚了 每日一题坚持两年半可不佛了 挺肝的哈哈哈
就像楼上有人说的那样 这个即时反馈感很强 相比又繁琐又嗦又无趣的业务肯定更好玩儿些
KMpAn8Obw1QhPoEP
    38
KMpAn8Obw1QhPoEP  
OP
   Jan 27, 2023 via Android
@macha 确实 很有共鸣 我觉得这应该是码农的常见心路历程
movq
    39
movq  
   Jan 27, 2023
Mrun
    40
Mrun  
   Jan 27, 2023
算法这东西,除了码农的职业初期用来筛选不合标准的。

后期大部分面试情况都是聊业务以及架构实现了。
KMpAn8Obw1QhPoEP
    41
KMpAn8Obw1QhPoEP  
OP
   Jan 27, 2023 via Android
@movq 边工作边刷的 实际上找工作面试那阵在我看来根本没问算法。。coding 很简单 读完题就直接一个递归搞定 基本没什么思考过程 毕竟不是大厂
msg7086
    42
msg7086  
   Jan 28, 2023
我被面的时候基本都是 easy 到 medium ,没见过 hard 题。
Moha
    43
Moha  
   Jan 28, 2023
作为一名普通人,我目前正在准备找工作,刷了 400 道左右,我发现 hard 题,脑筋急转弯,数学推导类的题目真的很难写出来,平常都调试很久,更别说面试的时候了.......除非是真的大佬
ytmsdy
    44
ytmsdy  
   Jan 28, 2023
作为大学期间 OJ 做了上千道题目的人来说一说
1:刷题只是一个比较容易证明自己编程水平的方式
2:这玩意儿刷个 100 多题,把常规的几种算法熟悉熟悉,对算法的适用范围又一个清晰的了解就可以了
3:刷题最难的不是算法,而且根据具体的题目,找到最适合的算法
4:在需要换工作的时候,阶段性的刷一刷就好了。
ytmsdy
    45
ytmsdy  
   Jan 28, 2023
5:别去做那些 hard 题目,那些题目是给那些脑回路清奇的人做的。咱们这些普通人就别去找虐了。
6:人和人的智商差距是巨大的,要认清现实,别没事给自己添堵。
AustinDeng
    46
AustinDeng  
   Jan 28, 2023   1
就亲身经历而言,刷题确实是有用的。

去年面鹅厂实习,二面是 mentor 面,发挥不好,原本是要被刷掉的,但是一面 leader 面的还不错,然后 leader 看了我 leetcode 刷了差不多九百题(差不多刷了一年),觉得我是一个有恒心会坚持的人,就给我过了,后面总监面和 HR 面基本就是走个过场了。

确实有点侥幸或者运气,希望新的一年大家都可以有所好运。
furlxy
    47
furlxy  
   Jan 28, 2023
所以那么多喜欢招 leetcoder 的意义是什么呢?企业一边不想通过小作业方式筛选工程能力、架构能力,一边又在用与工作无关的 leetcode 筛人,到底是谁急功近利。
KMpAn8Obw1QhPoEP
    48
KMpAn8Obw1QhPoEP  
OP
   Jan 28, 2023 via Android
楼上有几位提到了 hard 个人资历尚浅 没见识过太多面试 道听途说来的印象是 一般好一点的企业面试会出几道 medium 主要看思路 在解题过程中跟面试官的交流很重要 至于出 hard 只有三种可能 一种是变相劝退 人家出于各种理由不想招你了 又不方便明说 一种是额外加的 bonus 面 过了会给 special package 还有一种是 FAANG 。。。务实且有诚意招人的公司应该不会那么想不开 哈哈哈
KMpAn8Obw1QhPoEP
    49
KMpAn8Obw1QhPoEP  
OP
   Jan 28, 2023 via Android
@furlxy 这个属于更宽泛一些的问题了 非要说的话 因为作为行业标杆的那几家巨头就是用这种方式筛人的
Rwq8xlHrBAi0ct2w
    50
Rwq8xlHrBAi0ct2w  
   Feb 5, 2023 via Android
赞同 双手赞同
PingPong
    51
PingPong  
   Nov 19, 2024
为啥根本没可能去 FAANG 或是 GAMAM
About     Help     Advertise     Blog     API     FAQ     Solana     1205 Online   Highest 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 89ms UTC 23:21 PVG 07:21 LAX 16:21 JFK 19:21
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86