程序员如何更好的提升自己
首先你得明白 , 一个人的能力就像一个池塘 , 不断的输入又不断地输出 , 水池的容量以及水的质量决定了输出的高效与否 , 输入大于输出 , 你的池塘就会不断扩大 , 换句话说你会的技能就越来越多 , 只输入不输出 , 你的池塘就是一滩浑浊不堪的死水 , 一实操就bug满屏 。
所以想要提升自己 , 就得同时做好输入和输出这两块 。 而输入又在输出之前 , 要想提升自己 , 首先就得做好输入 , 学习更多的深度知识 。
总之 , 程序员要想学习效率高 , 学习效果好 , 只需要做好下面两点最基础的事情:
·学习基础知识
·巩固基础知识
其中学习基础知识 , 又有两点要注意的:找对方向、用对方法 。 说的更直白一点就是学什么以及怎么学 。
学什么?
首先要将基础打牢固 , 最基本的算法和数据结构一定要滚瓜烂熟 , 拿起来就能用 。
比如下面这些个算法和数据结构类型就一定要熟练掌握 。
10个算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法 。
10个数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie 树;
不要小瞧了这小小二十组词 , 展开了去学 , 怎么都得花你个一年半载 , 例如单单排序算法就又可以分为以下十种:
文章插图
然后 , 当将这些基础知识吃透了之后 , 注意是吃透 , 至少得做到要用到的时候就能直接用不用回去再翻书 , 你就可以去学习一些更深入的内容:
比如:
·编程框架是如何运转起来并输出“Hello World”的?
【程序员如何更好的提升自己】·如何让自己更正规 , 更有章法地使用Mysql呢?
·Key、List、Hash、Set、ScoreSet各自的使用场景有何不同?
·主流的编程框架都和设计模式相关 , 那他们有没有共通性?
当你把这些问题想清楚了的时候 , 你的程序员进阶之路就走了一半了 。
怎么学?
每个人的学习方法都不一样 , 有的人喜欢边做项目边学习 , 有的人则喜欢学一段时间做一个项目 , 有的人喜欢看书学 , 有的人喜欢看视频学 , 这些都不是问题 , 重要的是找到适合你自己的 。
但是以下的方法我i觉得会让事倍功半 , 建议大家就不要这样做囖 。
1.一味的对着别人的代码去敲 。
刚开始不会做只有跟着别人敲 , 这不是问题 , 问题是跟着别人敲了之后你要自己理解自己记忆把它变成自己的东西 。 照着别人代码敲一遍两遍哪怕三遍 , 除了让你看得仔细点 , 除了打字外并没有其它任何帮助 。
因为模仿复现不是关键 , 思考才是关键 。 你要能做到思考学习别人思路后 , 脱离书本和博客 , 完全自己实现功能 。 只有这样 , 你的学习才是有效的 。
2.想着一口气吃成个胖子
这一块的情况稍微少见 , 但也不是没有 , 有的人急于求成 , 学习只学个大概只求个会用 , 没有做到知其然还知其所以然 。
技术这玩意儿 , 不是看了个大概能照着做就会了 , 一口气吃不成个胖子 , 必须得扎扎实实地把事情做好 。 所以不要试图一次性解决所有问题 , 这里给个建议:可以将每天的学习过程拆分成小块 , 分阶段学习 , 这样的效率会更高些 。
说完了第一点如何学习基础知识 , 接下来说说第二点如何巩固基础知识 。 方法千千万 , 最有效的我认为还是刷题 , 有方法的刷题 。
下面这个刷题方法很普通但也很实用 , 推荐给你:
第一遍:可以先思考 , 之后看参考答案刷 , 结合其他人的题解刷 。 思考、总结并掌握本题的类型 , 思考方式 , 最优题解 。
第二遍:先思考 , 回忆最优解法 , 并与之前自己写过的解答作比对 , 总结问题和方法 。
- 程序员为教师妻子开发应用:将iPhone变成文档摄像头
- 红米K40渲染图曝光:居中挖孔+后置四摄,这外观你觉得如何?
- 奋斗|该如何看待拼多多员工猝死:鼓励奋斗,也要保护好奋斗者
- 装机点不亮 如何简易排查硬件问题?
- 虾米音乐宣布关停!我的歌单如何导入QQ音乐、网易云音乐?
- 人脸识别设备主板如何选型 软硬整合大幅缩短开发时间
- 卡内基梅隆大学提出了更好的强密码设置建议
- 悔哭!一程序员误把7500个比特币当垃圾扔掉,估算约2.4亿美元
- 2.4亿美元打水漂!程序员小哥把7500个比特币当垃圾扔掉 硬盘找不回
- 惠普战66——可能是主流价位中最好的键盘体验
