前言
不得不说,现在几乎所有的大厂,比如Google、字节、BAT,面试的时候都喜欢考算法、让人现场写代码,那你有没有真正地想过,为什么这些大公司都喜欢考算法呢?
经常有人说,程序员35岁之后很容易陷入瓶颈,被行业淘汰,我觉得原因其实就在此。写代码的时候,从来都不考虑非功能性的需求,只是完成功能,凑合能用就好(不想被行业淘汰的话最好现在就抛掉这些思想);做事情的时候,也从来没有长远规划,只把眼前事情做好就满足。虽然技术不错,但每次去面试都会“跪”在算法上,很是可惜。
原因就是越是厉害的公司,越是注重考察数据结构与算法这类基础知识。相比短期能力,他们更看中你的长期潜力。
不扯太远了,如果还是刚入门的同学可以先以排序和各种的基本数据结构开始。我花了一个星期终于把这一套GitHub Star70K的数据结构与算法的学习资料整理好(左程云-程序员代码面试指南第二版+阿里云:70+算法题、30种大厂笔试高频知识点+字节内部算法手册+LeetCode...)
左程云-程序员代码面试指南第二版
左神一直是我比较崇拜的一位前辈,通过自己对常见算法知识的理解,精心选择了一道道真实的高频面试题,循序渐进地提升题目难度,辅以翔实的解题思路,让读者真正学得到内容,并学得下去。
阿里云:70+算法题、30种大厂笔试高频知识点
目录
内容展示
字节内部算法手册
目录
程序员与算法
算法设计的概念
算法设计的常用思想
阿拉伯数字与中文数字
三个水桶等分8升水的问题
妖怪与和尚过河问题
稳定匹配与伴舞问题
爱因斯坦的思考题
项目管理与图的拓扑排序
RLE压缩算法与PCX图像文件格式
算法与历法
实验数据与曲线拟合
非线性方程与牛顿迭代法
计算几何与计算机图形学
音频频谱和均衡器与傅里叶变换算法
全局最优解与遗传算法
计算器程序与大整数计算
RSA算法——加密与签名
数独游戏
华客道游戏
寻径算法
俄罗斯方块游戏
博弈树与棋类游戏
算法设计的常用技巧
一个棋类游戏的设计框架
算法刷题LeetCode中文版
编程技巧
线性表
字符串
栈和队列
树
排序
查找
暴力枚举法
广度优先搜索
深度优先搜索
分治法
贪心法
动态规划
图
细节实现题
总结
以上有需要的小伙伴可以私信【面试】即可!!感谢支持!
你可能也会说,我在小公司工作,用户量很少,需要处理的数据量也很少,开发中不需要考虑那么多性能的问题,完成功能就可以,用什么数据结构和算法,差别根本不大。但是一点你真的想“十年如一日”地做一样的做个普普通通的程序员吗?平平凡凡度过一生?