来源:GitHub
编辑:舒婷
21世纪发展最快的职业是什么?——「程序员」。
这件事情是毋庸置疑的。自1980年笔记本电脑发布,到2006年出现了世界上第一台MacBook,电子产品逐渐变的触手可及,互联网占据了我们大部分时间。近年来,由于诸多社会因素的影响,从别的行业「转码」的各类精英也越来越多。
于是,当Github上出现了「算法模板,最科学的刷题方式,最快速的刷题路径,一个月从入门到 offer」这样的介绍,迅速吸引了许多即将跳槽的码农,或是还没有入行的准码农,想要通过科学的方式拿到心仪的offer。
这个项目上线后已获得4.4K星,并且作者还在持续更新。
只会拿着LeetCode硬刷?来「套路」走一波
LeetCode是一个在线编程网站,上面主要收集了各大IT公司的笔试面试题,对于找工作是一个不可多得的好帮手。其实,很多求职者都会在LeetCode刷上一遍,面试官也喜欢在上面挑选各类题目,不仅可能会遇到原题,更重要的是养成编程的习惯,从中学到解决问题的思想。
就Leetcode现行的题库而言,大约有1600多道题。如果要将1600多道题刷完,是一件非常费力的事情。因此将题库「一网打尽」的coder不多,当然也有真正的强者将Leetcode刷了两遍,除了佩服也只有佩服了。
这个项目的作者,greyireland就指出,算法模板的创作起因就是想指引刷题者找到合理的刷题方式,高效的刷题。他本人就在一个半月内刷完了240题,覆盖了绝大部分主题,在求职中获得了比较好的结果。
刷多少题?greyireland指出,这取决于你的求职目标。就现在的就业市场来讲,如果方法正确,国内一线大厂也只需要200至300题就足够了。对于一个时间充裕,有点基础的coder来讲,一个月内刷200题还是完全有可能实现的。
刷题的时候无从下手是很正常的事情,因为按照序号刷的时候,很容易卡在hard的题型,从而浪费了很多时间。因此,按题型刷题是很重要的,但没有必要每个题型每道题都做,看到类似的,有思路的可以跳过。尽量让有限的题目数中涵盖了足够的题目类型。
算法模板:「老司机」手把手带你刷题
看到greyireland这个指南,在准备面试笔试的各位应该都觉得欣慰:这简直就是「奶妈」一般详细的刷题指南,就差手把手带你一起做了。
首先来看一下简单的目录,还是比较全的,并且把题目归类到知识点上了:
我们以链表为例。
基本技能清晰地列出了该部分的知识点,对于有基础的coder来讲是提纲式的复习,对于编程小白又很好的帮他们抓住了学习的重点。
常见题型涵盖了该部分内容所涉及的一些经典题。同时对于比较复杂的题目作者还提供了思路和注意点,让开发者在遇到类似题目的时候知道如何上手。
总结部分帮助读者回顾了开头的该部分的核心知识点。
练习是作者整理的一些高频题,大都具有代表性。因此刷完后,即便遇到没有遇过的题目,也能从中找到变题,避免出现无从下手的情况。
作者的建议:先按照目录刷一遍,中间有题目卡住了就跳过。接着可以刷LeetCode探索基础卡片,面试前可以刷剑指offer。
除了刷题的问题,针对各个语言的学习入门,作者还整理了100本书的书单,涵盖了多种热门编程语言。
想看100本书请戳:
https://github.com/greyireland/awesome-programming-books-1
想当程序员?这碗「青春饭」可能也不好吃!
程序员这个职业的兴起也绝非偶然。
时间回溯到2011年,美国发布的21世纪最具前景十大职业中,软件开发工程师就高居榜首。
2011年,那时候跨时代的iphone4刚发布,智能手机进入大众视野,大部分人拿着诺基亚,SONY的电脑还有光驱。
当时的美国,就业岗位稀缺,资金紧张。而另一方面,在硅谷,雇主们却展开争夺技术人才的大战。软件开发工程师市场现在是炙手可热,毫无减弱的迹象。
时间回到2020年,GitHub现在已经拥有4000多万的开发者用户,苹果刚刚举办的线上WWDC发布了新的芯片和系统,互联网已经彻底渗透我们的生活。
因此,程序员这个人才缺口依旧很大,并且这碗饭很「香」:薪水对比其他工程师要高不少。甚至,未来几年,这个职位可能更热门:由于疫情,许许多多活动转为线上,人工智能给予新的生活方式无限可能性。
但是,「转码」也不是一件容易的事情。就现在的互联网信息而言,码农入门其实不算很难,但想做到expert的水平也不是一件容易的事情。另一方面,想当程序员的非专业学生太多了,直接导致竞争垂直上升,技术难度不断精进。
中国程序员中,年龄大于35岁的不到10%,可能比起演员、爱豆,程序员才是真正的「青春饭」。35岁之后,大部分程序员都需要进行职业调整,寻找新的职业方向,这对求职者的另一个考验。
所以即使大佬的「求职指南」在手,要不要在程序员的道路上「走花路」,还是需要求职者深思的事情。
参考链接:https://github.com/greyireland/algorithm-pattern