GitHub超4.4k星:程序员求职,一个「算法模板」就够了

简介: 近日,GitHub上一个名为「算法模板」的项目引发热议,获得了超4.4K星。该模板旨在为求职中的程序员提供科学的、高效的刷题方式,让开发者能「一个月从入门到offer」。

微信图片_20220109123439.png


21世纪发展最快的职业是什么?——「程序员」。

 

这件事情是毋庸置疑的。自1980年笔记本电脑发布,到2006年出现了世界上第一台MacBook,电子产品逐渐变的触手可及,互联网占据了我们大部分时间。


近年来,由于诸多社会因素的影响,从别的行业「转码」的各类精英也越来越多。

 

于是,当Github上出现了「算法模板,最科学的刷题方式,最快速的刷题路径,一个月从入门到 offer」这样的介绍,迅速吸引了许多即将跳槽的码农,或是还没有入行的准码农,想要通过科学的方式拿到心仪的offer。


      微信图片_20220109123442.png      


这个项目上线后已获得4.4K星,并且作者还在持续更新。


只会拿着LeetCode硬刷?来「套路」走一波


LeetCode是一个在线编程网站,上面主要收集了各大IT公司的笔试面试题,对于找工作是一个不可多得的好帮手。


其实,很多求职者都会在LeetCode刷上一遍,面试官也喜欢在上面挑选各类题目,不仅可能会遇到原题,更重要的是养成编程的习惯,从中学到解决问题的思想。 


就Leetcode现行的题库而言,大约有1600多道题。如果要将1600多道题刷完,是一件非常费力的事情。


因此将题库「一网打尽」的coder不多,当然也有真正的强者将Leetcode刷了两遍,除了佩服也只有佩服了。       


 微信图片_20220109123445.png      


这个项目的作者,greyireland就指出,算法模板的创作起因就是想指引刷题者找到合理的刷题方式,高效的刷题。


他本人就在一个半月内刷完了240题,覆盖了绝大部分主题,在求职中获得了比较好的结果。 刷多少题?


greyireland指出,这取决于你的求职目标。就现在的就业市场来讲,如果方法正确,国内一线大厂也只需要200至300题就足够了。


对于一个时间充裕,有点基础的coder来讲,一个月内刷200题还是完全有可能实现的。 刷题的时候无从下手是很正常的事情,因为按照序号刷的时候,很容易卡在hard的题型,从而浪费了很多时间。


因此,按题型刷题是很重要的,但没有必要每个题型每道题都做,看到类似的,有思路的可以跳过。尽量让有限的题目数中涵盖了足够的题目类型。      


 微信图片_20220109123447.png


法模板:「老司机」手把手带你刷题


看到greyireland这个指南,在准备面试笔试的各位应该都觉得欣慰:这简直就是「奶妈」一般详细的刷题指南,就差手把手带你一起做了。 首先来看一下简单的目录,还是比较全的,并且把题目归类到知识点上了:


      微信图片_20220109123450.png      


我们以链表为例。 


基本技能清晰地列出了该部分的知识点,对于有基础的coder来讲是提纲式的复习,对于编程小白又很好的帮他们抓住了学习的重点。  


  微信图片_20220109123453.png


常见题型涵盖了该部分内容所涉及的一些经典题。同时对于比较复杂的题目作者还提供了思路和注意点,让开发者在遇到类似题目的时候知道如何上手。 


总结部分帮助读者回顾了开头的该部分的核心知识点。     


  微信图片_20220109123454.png


练习是作者整理的一些高频题,大都具有代表性。因此刷完后,即便遇到没有遇过的题目,也能从中找到变题,避免出现无从下手的情况。 


作者的建议:先按照目录刷一遍,中间有题目卡住了就跳过。接着可以刷LeetCode探索基础卡片,面试前可以刷剑指offer。 除了刷题的问题,针对各个语言的学习入门,作者还整理了100本书的书单,涵盖了多种热门编程语言。 


想看100本书请戳:https://github.com/greyireland/awesome-programming-books-1


想当程序员?这碗「青春饭」可能也不好吃!


程序员这个职业的兴起也绝非偶然。

 

时间回溯到2011年,美国发布的21世纪最具前景十大职业中,软件开发工程师就高居榜首。

 

2011年,那时候跨时代的iphone4刚发布,智能手机进入大众视野,大部分人拿着诺基亚,SONY的电脑还有光驱。

 

当时的美国,就业岗位稀缺,资金紧张。而另一方面,在硅谷,雇主们却展开争夺技术人才的大战。软件开发工程师市场现在是炙手可热,毫无减弱的迹象。


        微信图片_20220109123457.png      

时间回到2020年,GitHub现在已经拥有4000多万的开发者用户,苹果刚刚举办的线上WWDC发布了新的芯片和系统,互联网已经彻底渗透我们的生活。

 

因此,程序员这个人才缺口依旧很大,并且这碗饭很「香」:薪水对比其他工程师要高不少。甚至,未来几年,这个职位可能更热门:由于疫情,许许多多活动转为线上,人工智能给予新的生活方式无限可能性。

 

但是,「转码」也不是一件容易的事情。就现在的互联网信息而言,码农入门其实不算很难,但想做到expert的水平也不是一件容易的事情。另一方面,想当程序员的非专业学生太多了,直接导致竞争垂直上升,技术难度不断精进。


      微信图片_20220109123459.png        


中国程序员中,年龄大于35岁的不到10%,可能比起演员、爱豆,程序员才是真正的「青春饭」。35岁之后,大部分程序员都需要进行职业调整,寻找新的职业方向,这对求职者的另一个考验。

 

所以即使大佬的「求职指南」在手,要不要在程序员的道路上「走花路」,还是需要求职者深思的事情。




参考链接:https://github.com/greyireland/algorithm-pattern

相关文章
|
3月前
|
算法
【算法】前缀和——二维前缀和模板题
【算法】前缀和——二维前缀和模板题
|
1月前
|
负载均衡 监控 算法
每个程序员都应该知道的 6 种负载均衡算法
每个程序员都应该知道的 6 种负载均衡算法
89 2
|
2月前
|
算法 程序员 Python
程序员必看!Python复杂度分析全攻略,让你的算法设计既快又省内存!
在编程领域,Python以简洁的语法和强大的库支持成为众多程序员的首选语言。然而,性能优化仍是挑战。本文将带你深入了解Python算法的复杂度分析,从时间与空间复杂度入手,分享四大最佳实践:选择合适算法、优化实现、利用Python特性减少空间消耗及定期评估调整,助你写出高效且节省内存的代码,轻松应对各种编程挑战。
39 1
|
3月前
|
算法 搜索推荐 程序员
程序员常用算法详细讲解
每一种算法都有其适用场景,了解并熟悉这些常用算法的策略和实现,对于解决实际编程问题具有重要的意义。需要注意的是,理论知识的重要性虽然不言而喻,但真正的理解和掌握,还需要在实践中不断地尝试和错误,以达到深入理解的目的。
26 1
|
3月前
|
机器学习/深度学习 算法 搜索推荐
程序员必须掌握的算法
作为一名程序员,掌握一些重要的算法是必不可少的。算法是解决问题的方法和步骤,对于程序员来说,熟悉和掌握一些常见的算法可以提高编程能力,解决复杂的计算问题。与此同时,算法是计算机科学中的核心概念,对于程序员来说,掌握一些基本的算法是非常重要的。
49 1
|
5月前
|
算法 Java 数据处理
Java算法模板 数据流快读
Java算法模板 数据流快读
35 2
|
4月前
|
设计模式 JavaScript 算法
vue2 原理【详解】MVVM、响应式、模板编译、虚拟节点 vDom、diff 算法
vue2 原理【详解】MVVM、响应式、模板编译、虚拟节点 vDom、diff 算法
161 0
|
5月前
|
算法 程序员
程序员必知:XGB算法梳理
程序员必知:XGB算法梳理
29 0
|
5月前
|
算法 JavaScript 程序员
程序员必知:《程序设计与算法(二)算法基础》《第一周枚举》熄灯问题POJ
程序员必知:《程序设计与算法(二)算法基础》《第一周枚举》熄灯问题POJ
30 0