📜  竞争性编程–神话和吹毛求疵的事实

📅  最后修改于: 2021-06-25 19:44:06             🧑  作者: Mango

当今,竞争性编程已成为整个编码社区中最流行的活动。竞争性编程是在互联网上不同站点上进行的一项大脑游戏,在此程序员可以根据给定的语句和约束对代码进行编码来解决挑战。但是为什么大多数编码人员都喜欢它,答案是:它不仅增加了思维和逻辑能力,而且促使大脑尝试各种方法以在挑战性的情况下寻找解决方案。

竞争性编程神话和思维吹动事实

由于竞争性编程目前已引起广泛关注,大多数发现困难或陌生的人都流浪了,那就是必须学习竞争性编程才能攻克科技巨头的工作。好吧,关于它有很多神话和不为人知的事实,编码人员在开始竞争性编程之前必须意识到这些事实。因此,来吧,让我们一起讨论这些神话和事实。

神话-1。竞争性编程是破解技术巨人的必修课

这是当今一代编码人员的普遍神话。在开始编写代码之前,每个新手程序员都曾听过很多人的话,如果您擅长竞争性编程,那么您一定会破解任何编码面试的内容,但是如果您不熟悉,就会失败。

事实:

实际上,事实是,如果您不参与竞争性编程,但对数据结构算法概念有深入了解,那么您将破解任何编码面试,因为最终重要的是您的解决问题的技能,而不是问题解决的技巧。竞争性编程配置文件。必须具备数据结构和算法的知识,才能在竞争编程竞赛中脱颖而出。但这并不意味着竞争性编程没有用,它可以极大地提高个人的问题解决能力。通过在竞争性编程中实现DSA概念,编码人员可以更好地学习DSA概念。因此,如果您还没有开始,不要气disc,但是,如果您有足够的时间,那么必须尝试一下,这将是一次很棒的体验。

神话– 2.竞争编程必须放在首位,开发技能毫无用处

人们对竞争性编程的评价过高,因为学生之间形成了一种共同的心态,因此个人应该整天,晚上甚至整个单身都进行竞争性编程。精通它而不学习任何其他技术(Web开发,后端开发,机器学习等等),肯定会把您带入一个科技巨人。提升除竞争性编程以外的任何技能都只是浪费时间。

事实:

假设掌握竞争性编程是唯一的事情,而这是破解编码面试所必需的,那完全是一个大错。由于您具有良好的解决问题的能力,一个体面的“竞争性编程”配置文件在使您进入下一轮工作中发挥了重要作用,但是进入公司后,它不会使您解决编码问题。使用不同的技术来构建不同的项目。这就是为什么大多数公司更喜欢那些使用趋势技术构建了一些实际项目的人的原因,并且应该对项目中使用的技术概念一清二楚。因为这就是开发人员开始他/她在公司中的旅程的方式。

神话– 3.最具竞争力的编程程序员

在为IT公司做准备的工程师中,具有竞争力的编程程序员被认为是最有才华的人。在大学开始编程的人中,这是一个普遍的神话。如果他/她是一个有竞争力的编程程序员,那么他被认为是聪明的。许多程序员只是为了在圈子中变得很酷而加入其中,因为他们误以为竞争性的编程资料可以反映出您的智商。

事实:

努力学习机器学习,开发或道德黑客或任何其他领域的学生,比起竞争的编程程序员来说,他们也更聪明,更有效率。的确,他们是很好的问题解决者,但仍然不是最好的解决方案,因为有竞争力的编程程序员花费大量时间来寻找挑战的解决方案,但与此同时,也许其他人正在通过开发应用程序和解决方案在现实生活中实施这些解决方案。楷模。

神话– 4.竞争性编程只能用“ X”语言来完成

由于选择语言的困惑,大多数初学者始终处于困境。他们认为只有C++或Java或Python才是最好的,所以我应该改用它,还是继续使用他/她熟悉的语言。他们为此花了很多时间。

事实:

没有为竞争性编程指定语言,可以选择任何一种语言。 C++的运行时间比Java和Python,这也是事实,但使用Python也有其自身的优势。它的语法非常简单,适合初学者。您可以使用任何语言,但要专注于理解代码背后的逻辑。一旦学会了不使用预定义库就可以自行实现数据结构,那么切换到任何语言将是轻而易举的事。

神话– 5.学生可以从竞争性编程开始他们的编码之旅

在没有任何基本编码方法先验知识的情况下,Noobs已经开始进入竞争性编程以顺应潮流,这不会使您的编码技能变得稳定,但是您肯定会陷入麻烦,并浪费大量时间。

事实:

首先,您需要学习一种语言的语法,其次应该是重要的数据结构和算法,然后学习如何实现它们。毕竟,您仍然需要做很多问题才能理解逻辑。您不应该期望看到问题的第一时间,就可以得到解决问题的逻辑。您应该编写所有测试用例,找到极端的用例,选择适当的数据结构,然后构造代码。不可能在精神上这么快就完成。不要浪费您的精力来希望取得快速的结果。艰苦奋斗没有捷径可走。要掌握特定领域的知识,您需要投入大量时间。

在编码人员社区中,关于竞争性编程可能还有其他神话,但最重要的是,对于旨在在一家著名的IT公司进行编程面试的编码人员来说,掌握一项技能是无论是竞争性编程还是开发技能,不会让您破解它。做为“万能的杰克,无大师”最终将无处可寻。对目标有清晰的愿景,反省目标和实现目标所需的努力,不要与众不同。

专注于数据结构和算法,核心主题和项目,然后,如果您能涵盖所有内容,则可以开始掌握高级数据结构概念。如果您准备好了这些领域,那么您肯定会抓住任何机会。您当然应该尝试竞争编程,但不是因为它是一种趋势或看起来很酷,只需将它作为一种爱好就可以开始。

必须阅读:什么是竞争性编程以及如何为之做好准备?

如果您希望与行业专家一起参加现场课程,请参阅《 Geeks现场课程》和《 Geeks现场课程美国》。