为什么现在的程序员都在卷 LeetCode?

为什么现在的程序员都在卷 LeetCode?

如果你最近在程序员群里冲浪,一定听说过这样一句话:”不刷题找不到工作,刷了题工作也用不到”。没错,LeetCode 这个让程序员又爱又恨的网站,正在以星星之火可以燎原之势,变成了每个程序员的”梦魇”。

从 FAANG 开始的”军备竞赛”

一切要从硅谷的那些大佬们说起。GoogleFacebook(现Meta,不过扎克伯格改名字也改不了面试要刷题的事实)等科技巨头们,开创了一个”玄学”的面试传统:

  • 大厂:这题我们家隔壁前端也会做
  • 中小厂:我们也要考算法,不能显得太随便
  • 求职者:😭 我明明是来做 CRUD 的啊!

“记得上次面试,面试官笑眯眯地说:’来道简单题热热身’,然后我的自信就和我的头发一样,消失得无影无踪。” —— 某秃头程序员

刷题真的能提升编程能力吗?

这个问题就像”到底是先有鸡还是先有蛋”一样充满争议:

支持者信誓旦旦:

  • 训练逻辑思维(没错,就是那个你以为上完离散数学就永远用不到的东西)
  • 加深对数据结构的理解(比如怎么把链表玩出花)
  • 提高代码质量(至少知道了啥是时间复杂度,不是整天 O(n²) 梭哈)

反对者据理力争:

  • 工作中最难的算法是:如何在不改动代码的情况下修复bug
  • 刷题就像考驾照,考过了但开车还是得撞墙
  • 与其研究红黑树,不如研究下怎么讨好产品经理

现实的无奈

面对这种情况,我们能怎么办呢?

  1. 大厂面试必考算法,就像相亲必问房子车子
  2. 工资比起隔壁卷算法的同事,像被抢了零件的特斯拉
  3. 不卷不行啊,万一哪天想跳槽呢?(是的,你现在就在想)

如何优雅地参与这场军备竞赛?

作为一名理智的程序员,建议:

  1. 保持清醒:刷题不是人生目标,它只是一个工具,就像 Windows 上的记事本
  2. 合理规划:根据目标公司定制计划,毕竟不是每家公司都是 Google
  3. 注重平衡
    • 算法题只是敲门砖,不是全部
    • 工程经验才是真本事
    • 最重要的是要会做人,不然再厉害也是一个人干活

实用资源(续命包)

如果你决定加入这场”军备竞赛”,这些是你的军火库:

结语

与其抱怨”这个世界太疯狂”,不如想办法在疯狂中找到生存之道。毕竟,适应环境也是程序员的基本技能,就像 JavaScript 适应各种奇怪的类型转换一样。

你觉得呢?欢迎在评论区分享你的吐槽。记住,吐槽可以,但要优雅!