当前时讯:刷完 400 道 LeetCode 题后,我“悟”到了五大经验
时间:2023-06-24 02:32:27来源:CSDN


(资料图片仅供参考)

【CSDN 编者按】作为一个代码在线评测平台,LeetCode 是许多程序员提高编程技能和算法能力的极佳场所,它包含了算法、数据库、Shell、多线程等多种分类的题目,其中以算法题目为主。那么当一个人在 LeetCode 上狂刷 400 道题后,会得到什么新的感悟吗?

原文链接:/durgesh4993/after-solving-400-leetcode-questions-here-are-five-things-that-i-have-learned-c60

未经允许,禁止转载!

作者 | Durgesh kumar prajapati
译者 | 明明如月
责编 | 夏萌
出品 | CSDN(ID:CSDNnews)

在我成功刷完了 LeetCode 上 400 道题之后,我获得了一些宝贵的经验,这些经验对我在软件开发方面的理解和方法产生了深远的影响。 本文将介绍我从中悟 到的五点经验。

LeetCode 这个网站对许多正在找工作的软件开发人员来说并不陌生,它整理了来自谷歌、Facebook、微软等顶尖公司的技术面试题目和题解。然而,让人感到困惑的是,现在越来越多的小公司也开始大量采用关注数据结构和算法的面试题,这让一些人产生了疑问,因为他们认为 "Leetcode能力" 并不能准确衡量他们的工作实力。
我赞同这个观点,擅长 LeetCode 并不等同于你就是一个出色的开发者,而且在实际工作中,你可能永远不需要反转二叉树。然而,通过练习 LeetCode,你会学到很多有价值的东西,这些都将在你的职业生涯中发挥重要的作用。
数据结构和算法的重要性
LeetCode 并不提供全面的数据结构和算法(DSA)课程,因此在使用这个平台前,你需要对这个数据结构和算法有基础的了解。我强烈建议你刷题之前要系统地学习数据结构和算法的基础课程。然而,一旦你在 数据结构和算法(DSA)上打下了基础,再去刷 LeetCode 就将如虎添翼,而且刷题也会反向加深你对数据结构和算法的理解。
值得一提的是,对于任何开发者来说,具备扎实的数据结构基础都极为重要。最近国外就有一位大神玩家通过对算法进行小改进,成功让游戏的加载时间缩短了70%。在大规模使用的情况下,数据结构和算法的有效实现对于应用程序的性能和稳定性影响深远。
总有人比你更懂 - 学无止境
我经常会对找到的解决方案和自己写出的代码进行对比,经常会为自己的解法感到自豪,但每当我浏览评论区时,可能会破受打击。我看到过一些解决方案,它们甚至优于官方提供的答案。在使用 LeetCode 刷题过程中,我学到的很多内容都源于对他人代码的仔细研究,并将他们的建议融入我的工作。
这种 “总有更多可以学习” 的观念同样适用于我的职业生涯。我很幸运,有经验丰富的同事们愿意慷慨分享他们的知识,帮助我提升自己。这种向他人学习的方法让我能尽可能多地吸取他们的专业知识。
看似微小的细节可能对你的工作产生深远影响
在正式工作之前,代码中的错误基本上不会产生任何实际的后果。那些只在特定情况下才会显露的 bug 往往可以被忽视。但如果你已经工作,代码将推到生产环境,如果你的产品用户量庞大,任何一个哪怕只在一个极端情况下出现的bug,都可能给大量用户造成麻烦。
LeetCode 提供了对这种场景的极好训练,因为每个问题都有数百个测试用例,这其中往往包含很多边界用例。如果未能正确处理好边界情况,代码就会失败。
最近,我需要处理一个缺乏适当约束的数据库,其中许多行包含一些意料之外的数值。我非常感谢在 LeetCode 上积累的技能,因为这让我能在这些问题影响生产环境之前就识别并解决它们。
勤奋胜于天赋
“当天赋未得以施展时,勤奋胜于天赋。” 这句话出自 Tim Notke,对我个人来说,其影响深远,尤其是在使用 LeetCode 刷题时。我曾遇到许多在处理中等难度问题时挣扎的天才开发者,因为他们对解决问题的方法和所需工具的经验和理解不足。
起初,我在 LeetCode 上解决最简单的问题也会感到困难。然而,在参加了几门数据结构和算法课程并经过一段时间的练习后,我提升到了在合理时间内解决大多数中等难度,甚至一些难度较大的问题的水平。
为了更好地提高我的 Java 编程能力,我最近将 LeetCode 的解题语言从 Python 切换到 Java。尽管我每天在工作中都在使用 Java,但在解决这些问题时,我并不觉得自如。然而,我并没有感到沮丧。我坚信,只要有足够的实践,我在 Java 的技巧就能达到和 Python 一样的熟练程度。
战略规划在软件开发中至关重要
规划是软件开发的核心环节,不容忽视。无论是在实际编程中还是参加正式面试中,都能深刻意识到编码只是整个过程的一部分。有时我们往往会陷入这样一个误区:读到问题提示后,立即进入编码阶段,这是一种常见的错误,很容易因为了解和思考地不够清楚导致结果不尽人意。
软件开发中充满了模糊不清和意外的情况,编程面试试图通过提供通常模糊或不完全的问题来模拟这个现象。与面试官沟通,寻求对任何不确定性或限制的明确解释是非常重要的。建议在开始编写代码之前,先提出解决方案,评估其优点和局限性,只有当所有人都接受了提出的计划,才开始编码。
否则,如果解决方案不满足时间和空间要求,将无法进行任何必要的更改。这一点同样适用于专业环境,因为如果在没有适当分析需求和考虑所有选项的情况下开始编码,可能最终导致大规模重构。
结论
作为一个个体,我很幸运可以享受在 LeetCode 上学习和挑战,甚至在找工作之外的时间里也能从中获得乐趣。然而,我也理解并不是每个人都有同样的看法,有些人可能会认为它是浪费时间,或者刷题得到的经验在实际开发中毫无用武之地。

标签:

生活指南
  • 中国民营科创企业巴黎航展牵手世界先进航空企业—中国新闻网·四川新闻

    (龚友国)近日在法国勒布尔歇举行的第54届巴黎航展上,海特集团多款重要

  • 宋峰_世界观速讯

    1、宋峰,男,1974年9月出生。2、沙洋县人,在职研究生文化,现任掇刀

  • 官方:尤文买断米利克,签约至2026,买断费总价740万欧分期三年

    官方:尤文买断米利克,签约至2026,买断费总价740万欧分期三年,马赛,

  • 全球通讯!隆基机械股东户数减少275户,户均持股7.84万元

    隆基机械最新股东户数3 82万户,呈现连续3期下降,高于行业平均水平。

  • 昊铂Hyper GT 7月3日上市!预售21.99-33.99万元

    智电出行了解到,广汽埃安全新轿跑昊铂Hyper GT将于7月3日正式上市

  • 总资产报酬率下降说明什么?总资产报酬率和总资产收益率一样吗?

    总资产报酬率下降说明什么?总资产报酬率下降说明企业的资金利用效率

  • 等额本息还款有什么缺点吗?等额本息还款本金和利息的比例是多少? 每日看点

    等额本息还款有什么缺点吗?如果购房者采用等额本息还款方式的话,所

  • 暗黑4boss吃冻伤吗?暗黑4群控指的是什么效果? 环球热点

    暗黑4boss吃冻伤吗回答:boss并不能直接冻结,但依然可以冻伤。1、

  • 食品饮料行业周报:茅台股东大会传递信心,把握行业布局机会

    第一时间提供各大券商研究所报告,最大程度减少个人投资者与机构之间信

  • 天天关注:男的经常尿频怎么回事_经常尿频怎么回事

    1、尿频有两种,如下:2、一是排尿次数增多,但每次尿量很少。因膀胱敏

  • 今日要闻!RFID标签可用于乳腺癌治疗,你敢信?-IOTE物联网展

    近日,一名英国学者在《临床放射学》上发表的一篇文章中写道,使用射频

  • 千万小心!关灯玩手机存在失明风险_热点在线

    快科技6月19日消息,今天早些时候,编程话题 真的别再关灯玩手机了 冲

  • 将惨败皇马?曼城低价售欧冠功臣,1亿球星空降:被35岁梅西完爆

    以本赛季欧冠为例,在半决赛对战皇家马德里期间,沃克一度与维尼修斯对

  • 贝多芬为什么不能原谅莫扎特?贝多芬的作品有哪些?

    贝多芬为什么不能原谅莫扎特?据说,贝多芬不能原谅莫扎特是因为后者

  • 小米官翻机是什么意思 小米官换机和新机的区别?_当前热点

    小米官翻机是什么意思?小米官翻版即官方翻新版,部分手机在用户拒收

  • 5月辽宁核心CPI环比下降0.1%

    6月15日,国家统计局辽宁调查总队发布全省居民消费价格变化情况(CPI)

  • 民生
    • 伍佰演唱会抢票太火爆,粉丝期待已久 世界通讯

    • 亮度超金星!昨晚刷屏的“UFO”会形成陨石吗?专家解答→

    • 【快播报】亿缕阳光|龙舟破浪“粽”安康

    • 滨江集团23.25亿元收购杭州地铁所持北鸿置业100%股权及对应债