从初级进阶到高级,从普通成长为优秀,几乎是每个程序员在职业发展之路上都在思考的问题。很多程序员问我:初级程序员和高级程序员之间,到底有什么样的区别呢?
武侠小说中我们经常看到,绝世高手们因为内功雄厚,学一种新招式比普通人快 2 倍甚至 10 倍,实际的应战中也能迅速找到对手的破绽一击即中。就像在编程过程中,一些技术大牛在学习区块链、React 前端框架这样的新技术时,一两天就学会了,而普通程序员还在询问“最新的技术、语言、标准是什么?”
所以,内功是否深厚,就是普通程序员和优秀程序员的之间的区别。
IT 行业里,新的技术、语言以及开发平台层出不穷,你的学习能力和学习速度,对你未来的成长空间起着至关重要的作用。强大的学习能力和快速的学习速度,前提条件一定是基础能力过硬,“内功”到位。当你掌握计算机科学领域的核心原理,修炼了深厚的“内功”之后,你会发现,万变不离其宗,那些看似很新的技术,其实一点儿都不“新”,快速学习新的技术、语言、标准,根本不成问题。
那程序员究竟要修炼哪些“内功”呢?无外乎是大学中的基础课程,操作系统、计算机网络、编译原理,以及计算机科学领域最重要的基石之一——数据结构与算法。
语言只是工具,算法才是代码的灵魂,是一切编程活动的核心。想写出性能良好的代码,提高编程效率,从普通程序员成长为优秀的工程师,必须掌握算法。想写出被广泛使用的开源框架,提升自己的技术影响力,就要有扎实的算法功底。
尤其重要的是,算法是国内外一线互联网公司在面试中的必考知识点。一流的互联网公司,常常在面试中通过数据结构和算法考察候选人的“内功”,硅谷的互联网公司们,更是从电话面试就开始考察候选人的算法了。他们不在乎你用什么语言,知不知道某一门技术,熟不熟悉当前热门的技术词汇,而是更加关注你的编程内功,因为“内功”才是你个人能力的本源。
为了帮助有追求的程序员们跨越数据结构与算法的鸿沟,我联合极客时间教研团队,即将在上海、深圳两地,分别开设一期“算法训练营”,通过两天线下大课以及一个月的线上学习,帮你在短时间内掌握常见算法的核心知识点,补全算法知识体系,提升算法解题能力。后续经过个人的持续练习,相信你完全可以达到成为优秀程序员,通过国内外一线互联网公司算法面试的能力。
我是覃超,曾在 Facebook 做工程师,作为 Facebook Messenger Tech Lead,参与了 Facebook App、Facebook Messenger、Facebook Phone 等产品的研发工作。在 Facebook 的 3 年时间里,我面试过数百位技术人,对于算法面试的考察点和应对方式有丰富的第一手经验。去年,我还在极客时间推出了《算法面试通关 40 讲》视频课,将我的算法面试经验分享出来,这其中包括典型算法题归类和分析、算法理论基础、面试技巧、解题技巧等等。
据我了解,很多程序员曾经在大学里学过算法,却没有充分重视起来,错失了系统学习的机会;很多人半路出家,没有进行过专门的算法学习和训练,别人快速学习最新的技术时只能望洋兴叹;也有很多人,一直停留在“复杂度、数组、链表”,在“动态规划”的大山面前连脚都抬不起来。对于这些基础薄弱、算法知识体系不完善的同学,即使学习了一些算法知识点,练习了一些算法题,但在自己练习过程中,刷题还是很慢,也很难形成解题思路。
如果你也是这样,说明你确实缺乏系统的知识体系以及持续的刻意练习。像数据结构和算法这样的计算机基础课程,一定要有科学的学习路径和持续、有指导的刻意练习,才能在相对短的时间内有明显的提高。
根据对我专栏用户学习反馈的分析和身边程序员学习算法常见的误区,我跟极客时间共同打磨了这次的上海、深圳的算法训练营,希望通过系统的知识体系搭建、持续刻意练习和线下教学场景、线上答疑服务帮助你在 30 天内,迅速提升算法内功,不再惧怕算法。
上海站:
线下大课:6 月 1 日 -6 月 2 日
线上学习:6 月 3 日 -6 月 30 日
深圳站:
线下大课:6 月 15 日 -6 月 16 日
线上学习:6 月 17 日 -7 月 14 日
高效、系统性地掌握常见数据结构和算法的要点,构建知识体系
具备解决 80% 左右的难度在中等及以下算法题的能力
养成良好的编码习惯,掌握刷题的技巧
有能力通过国内外一线公司的基础算法面试
收获志同道合的学习伙伴,与优秀的人一起进阶
优秀毕业学员一年内可获得两次互联网顶级企业的内推服务
线下大课(两天):核心知识点讲解、常见算法题讲解、模拟面试、职业规划、小组讨论
线上学习(四周):回看线下大课视频、完成每周作业、讲师直播答疑、班主任全程带班、社群定期分享
福利一:早鸟价¥1800,仅限前 100 人,即将涨价至 ¥3600。
福利二:扫描二维码添加课程助理,私信”算法学习“,即可领取【算法训练营第一期】的课堂笔记和刷题列表,包含算法学习必备知识要点和学习思路,还有算法工程师必刷题清单。
(独家整理,从未发布)
算法基础是否深厚,直接决定一个程序员能够走多远走多快。
点击阅读原文,获得国内外一线互联网公司算法面试的能力
1、头条易读遵循行业规范,任何转载的稿件都会明确标注作者和来源;
2、本文内容来自“InfoQ”微信公众号,文章版权归InfoQ公众号所有。