克服解决问题的挑战 回归基础(有点)熟能生巧(不,真的)

2025-06-08

通过解决问题克服我的挑战

回归基础(有点)

熟能生巧(不是真的)

一月底左右,我决定抛开恐惧和自我怀疑,申请 FullStack 学院。我接触编程大概有一年了,但过去(现在)仍然是个初学者。

我仔细阅读了申请流程,发现书面申请被接受后,我需要参加一次编程评估,如果通过的话,还要通过 Skype 进行一次技术面试。当时我从未解决过任何编程问题。FullStack 的申请页面上有一些资源,可以用来评估你是否准备好参加他们的编程评估。但我还没有。

我不想因为自己不懂某些东西而阻止我申请,所以我给自己几周的时间学习所有我能学到的东西,以便能够解决代码难题。

回归基础(有点)

我最大的障碍之一是我对 JavaScript 的了解不够,无法用我需要的方式思考解决问题。大约两周的时间里,我主要关注的是这个问题。我找到了一些很棒的资源,它们真的帮助我理解了比初学者水平更深的概念。

使用 Mosh 进行编程 -初学者的 JavaScript 基础知识

虽然这门课程的开头对我来说有点慢,但我发现关于对象、数组和控制流的部分特别有用。视频内容简短易懂,每个部分末尾的练习帮助我练习了某些 JavaScript 内置方法的应用。每个练习视频都包含答案的讲解,如果我有不明白的地方,这些讲解就非常有用。我单独为这门课程支付了 5 美元,但如果你喜欢他的教学风格,可以每月支付 15 美元订阅,访问他的所有课程。

FullStack Academy -按照自己的节奏进行训练营准备

这个训练营的准备课程不仅涵盖了强制类型转换、数组和对象等基础主题,也涵盖了高阶函数和递归等非初学者主题。每个主题都配有一个时长 20 到 40 分钟的视频,每个视频后至少有 5 个练习题。这些练习的挑战性绝对比之前的课程更高,很多练习题我都很难做。有几次我甚至感到有点沮丧,但最终还是坚持了下来,我很庆幸自己做到了。它教会了我很多东西,帮助我学会了更高效的思考方式,即使一开始我必须先看答案才能理解问题的思路。这门课程是免费的。

CodeSmith- CSX

这是另一个很棒的免费资源。我没有完成整个 CSX 课程,但我确实用它帮助我理解了一些比较难的概念,比如闭包、递归和作用域。课程内容包括课堂上关于各个主题的完整讲座,以及课后练习题。讲座虽然很长,但我最喜欢的部分是它,因为我真的感觉自己和其他同学一起在课堂上学习。

Codesmith 还经常通过他们的MeetUp 页面提供免费的在线讲座,标题为《JavaScript 难点》,我参加了该讲座以了解作用域和闭包。

熟能生巧(不是真的)

每天下班后学习这些课程大约4个小时,周末学习8个小时,我对自己的JavaScript知识和解决问题的能力更加自信了。现在是时候真正开始练习解决我在编程评估中可能遇到的各种问题了。

Codewars -通过编程挑战进行训练

Codewars 提供多种语言的编程挑战(或称 katas),难度从简单(8 级)到最难(1 级)不等。你需要解决一个问题,你的代码必须通过所有测试才能提交。解答问题后,你可以查看其他人的答案,并与自己的答案进行比较。解答过程中,你的排名也会提升,从而可以查看更高难度问题的答案。

虽然你应该总是尽力尝试解决问题,然后再直接跳到解决方案,但我发现,有时在完全不知所措的时候,查看一些解决方案能帮助我找到解决问题的方法和模式。在先查看一堆问题的解决方案之后,我的解决问题能力会大大提高。所以,当你刚开始解决问题时,不要因为偷看一下而自责。

与 Codewars 类似的网站是HackerRank,但我很少使用,因此无法提供任何有意义的意见。

Coderbyte -编码评估平台

Coderbyte 是一个有趣的网站。我不太喜欢他们的界面,有时浏览起来感觉有点费劲,但那里的信息非常宝贵。那里有很多很棒的示例,比如10 个常见的 JavaScript 面试问题3 个常见的 JavaScript 闭包问题,它们帮助我了解了可能会遇到的问题类型,并解释了如何解决这些问题。这是一个付费网站,每月 35 美元,但对我来说,这笔钱花得值,因为它帮助我准备了 FullStack Academy 的评估和面试。

不幸的是,没有快速提高解决问题能力的方法。很多事情我都没做,比如学习算法和数据结构,因为时间紧迫。不过,如果你也走类似的路,我可以给你一些建议:

  • 用通俗易懂的语言写出来!直接写代码可不是个好主意,很容易卡住。写出你希望代码实现的目标,能帮助你在开始写代码之前发现逻辑上的缺陷或可能遗漏的地方。

  • 在 IDE 中解决问题并经常使用调试器!观察代码运行时变量值的变化方式,如果答案没有给出你想要的输出,可以帮助你找出需要修复的问题。

  • 使用 Chrome 控制台!测试一下操作变量的方法。我花了很长时间才开始这么做,但它确实帮助我确定我的想法是否可行。

  • 练习!练习!练习!很多时候,你做某件事的最初几次,很可能不会很顺利。我刚开始做验光师修镜架的时候,或者我刚开始画眼线的时候,都不太好。如果你经常练习,你就会进步,即使一开始看起来不太像。

感到沮丧是这个过程的一部分,但一定要确保不要纠结于这种沮丧。当你感到不知所措时,休息一下是很好的,但如果感觉进展缓慢或没有立即得到答案,也不要灰心。只要努力并大量练习,事情就会变得更容易,一段时间后你会发现自己能够解决更复杂的问题。

请记住:

鏂囩珷鏉ユ簮锛�https://dev.to/allysmirnov/overcoming-my-challenges-with-problem-solving-9ik
PREV
用一行代码修复 Dev.to 的滚动条错误
NEXT
掌握这项技术可以让你终身受雇