怎么度过程序员的菜鸟阶段的?

程序员的菜鸟阶段,因人而异。但有一点是必须的,程序员是个靠技术吃饭的职业。

乘着年轻磨砺技术才是王道,不然在程序员这个后浪一波比一波汹涌的职业里混,你想吃青春饭都吃不了几年。

 下面我们来说说如何提升自己

首先,你必须明白一个人的能力就像一个池塘。不断的输入又不断地输出,池塘的容量和水质决定了输出是否有效。如果输入大于输出,池塘将继续扩大。换句话说,你将拥有越来越多的技能。如果你只输入不输出,你的池塘是一片泥泞的死水,一实操就BUG满屏。

所以想要提升自己,就得同时做好输入和输出这两块。而输入又在输出之前,要想提升自己,首先就得做好输入,学习更多的深度知识。

程序员要想学习效率高,学习效果好,只需要做好下面两点最基础的事情:

·学习基础知识

·巩固基础知识

其中学习基础知识,又有两点要注意的:找对方向、用对方法。说的更直白一点就是学什么以及怎么学。

基础 知识大合集视频教程>>>>>>

学什么?

首先要将基础打牢固,最基本的算法和数据结构一定要滚瓜烂熟,拿起来就能用。

比如下面这些个算法和数据结构类型就一定要熟练掌握。

10个算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法。

10个数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie 树;

不要小瞧了这小小二十组词,展开了去学,怎么都得花你个一年半载,例如单单排序算法就又可以分为以下十种:

 

数据算法>>>>>>>>>>

然后,当将这些基础知识吃透了之后,注意是吃透,至少得做到要用到的时候就能直接用不用回去再翻书,你就可以去学习一些更深入的内容:

比如:

·编程框架是如何运转起来并输出“Hello World”的?

·如何让自己更正规,更有章法地使用Mysql呢?

·Key、List、Hash、Set、ScoreSet各自的使用场景有何不同?

·主流的编程框架都和设计模式相关,那他们有没有共通性?

当你把这些问题想清楚了的时候,你的程序员进阶之路就走了一半了。

 怎么学?

每个人的学习方法都不一样,有的人喜欢边做项目边学习,有的人则喜欢学一段时间做一个项目,有的人喜欢看书学,有的人喜欢看视频学,这些都不是问题,重要的是找到适合你自己的。

但学习中要注意下面这几点,避免它们的发生!!!

1.一味的对着别人的代码去敲。

刚开始不会做只有跟着别人敲,这不是问题,问题是跟着别人敲了之后你要自己理解自己记忆把它变成自己的东西。照着别人代码敲一遍两遍哪怕三遍,除了让你看得仔细点,练了打字外并没有其它任何帮助。

因为模仿复现不是关键,思考才是关键。你要能做到思考学习别人思路后,脱离书本和视频,完全自己实现功能。只有这样,你的学习才是有效的。

2.想着一口气吃成个胖子

这一块的情况稍微少见,但也不是没有,有的人急于求成,学习只学个大概只求个会用,没有做到知其然还知其所以然。

技术这东西,不是看了个大概能照着做就会了,一口气吃不成个胖子,必须得扎扎实实地把事情做好。所以不要试图一次性解决所有问题,这里给个建议:可以将每天的学习过程拆分成小块,分阶段学习,这样的效率会更高些。

说完了第一点如何学习基础知识,接下来说说第二点如何巩固基础知识。方法千千万,最有效的我认为还是刷题,有方法的刷题。

下面这个刷题方法很普通但也很实用,推荐给你:

第一遍:可以先思考,之后看参考答案刷,结合其他人的题解刷。思考、总结并掌握本题的类型,思考方式,最优题解。

第二遍:先思考,回忆最优解法,并与之前自己写过的解答作比对,总结问题和方法。

第三遍:提升刷题速度,拿出一个题,就能够知道其考察重点,解题方法,在短时间内写出解答。
 

讲完学习基础知识巩固基础知识,咱们就再回到咱们刚开始说的那个池塘,现在水的输入讲完了,池塘里有点东西了,但只进不出还是一潭死水,接下来就系统性的讲讲如何输出。

三种方法:

1.做一些实操性强的个人项目,自己练练手

田纳西大学助理教授奥斯汀·亨利结合自身经验,给出了一份“程序员都应该尝试的挑战性项目”清单,包含下面六个项目,我之前做了一遍觉得还不错,推荐给大家:

·文本编辑器

·2D游戏-太空侵略者

·编译器-Tiny BASIC

·迷你操作系统

·电子表格

·电子游戏机模拟器

每一个项目都存在不同的挑战,比如文本编辑器就要求在不使用GUI框架中内置的文本框组件的情况下,搭建支持光标移动、选择、插入和删除操作的文本框并将文本文档存储在内存中。

如果你能解决掉这些项目中的这些问题,然后把项目独立完整的做出来并且运行成功,你的能力肯定能再上一个台阶。

2.写技术文章

大家想必都知道费曼技巧,这也是其中的一种应用了,把你自己弄懂的东西教给别人,让别人也能看懂,在这个过程中你肯定还是要把一个完整的项目给做出来的,一整套下来,你会将自己理解的东西掌握的更透彻更深入。

也算是一种不错的实操方式了,能让你的基础更加牢固。

3.接一些开发兼职

这是三种方法中实操性最强的一种了,没有之一。

而且不用说,这也是最快最有效的方法了,毕竟编程这件事,光有理论是不够的,动手实践才是关键也是最终目的。

但兼职也有很多坑很多小门道,你首先得注意项目是不是靠谱,像那种没有需求文档的就不要接了。

最后,在这个不断做不断输出的过程中,希望你能做到下面三点:

·让编程成为一种习惯。

·学练结合,从做项目中找知识漏洞。

·思考更深层次,更底端的东西。

因为只有这样,你的这方池塘才能生生不息,源源不绝。学习视频点击即可学习>>>>>>>>>>

### 回答1: 程序员可以通过以下工具和技术来辅助他们的工作: 1. 代码编辑器:提供语法高亮,自动补全和错误检查等功能。 2. 集成开发环境(IDE):包括代码编辑器,调试器,版本控制等功能。 3. 自动化构建工具:如Maven,Gradle和Ant,用于管理项目依赖关系和构建过程。 4. 版本控制系统:如Git,SVN和Mercurial,用于管理源代码版本。 5. 单元测试框架:如JUnit,TestNG等,用于编写和执行代码测试。 6. 项目管理工具:如JIRA,Trello等,用于管理项目任务和进度。 7. 数据库管理工具:如MySQL Workbench,SQL Server Management Studio等,用于管理数据库。 这些工具和技术可以帮助程序员提高工作效率,提高代码质量和管理项目。 ### 回答2: 程序员的工作涉及到开发、测试、部署和维护软件系统,这些工作本身就是需要耗费大量时间和精力的。为了提高工作效率,辅助程序员的工具和技术可以帮助他们完成一些重复性、繁琐或需要高度专注和准确性的任务。 首先,自动化工具可以辅助程序员进行代码编写和生成。例如,代码自动完成工具可以根据已有的代码或函数名称提供可用的选项和建议,减少输入时间和错误。代码生成器可以根据指定的要求自动生成特定的代码片段或者整个函数,加快开发速度和减少错误。 其次,调试和测试工具可以辅助程序员进行代码调试和错误修复。例如,集成开发环境(IDE)通常集成了调试器,可以在代码的不同执行阶段中插入断点,观察和分析程序的运行状态,帮助程序员定位和解决问题。除此之外,单元测试和自动化测试工具可以帮助程序员编写和执行测试用例,发现代码中的错误和缺陷。 第三,版本控制工具可以辅助程序员进行代码管理和团队协作。版本控制系统可以追踪代码的变更历史,并提供合并冲突、分支管理等功能,确保团队成员之间的代码同步和协同开发。 此外,文档生成工具可以辅助程序员生成项目文档、API文档等。这些工具可以根据代码的注释和标记生成对应的文档,减少文档编写的工作量和错误。 最后,性能分析工具可以辅助程序员进行代码性能和资源利用的优化。这些工具可以监测和分析程序的运行时性能,提供性能瓶颈的定位和优化建议,帮助程序员改进代码的质量和效率。 总的来说,辅助程序员的工具和技术广泛应用于代码编写、测试、调试、版本管理、文档编写和性能优化等方面,帮助程序员提高工作效率和代码质量。 ### 回答3: 辅助程序员的工作有很多,主要包括以下几个方面: 1. 编辑和开发环境:辅助程序员的一个重要工具是编辑器和开发环境。编辑器可以提供代码自动补全、语法高亮、代码格式化等功能,使得程序员编写代码更加高效准确。开发环境则提供了编译、调试、测试等工具,帮助程序员更好地完成项目开发。 2. 版本控制:版本控制系统(如Git)可以帮助程序员管理项目的代码版本,追踪代码变更历史,并能协作多人同时开发。通过版本控制系统,程序员可以轻松地合并代码、解决冲突,并能够回滚到之前的任意版本,提高版本管理和代码协作的效率。 3. 自动化构建和部署:自动化构建工具(如Maven、Gradle)可以帮助程序员自动编译、打包、测试和部署项目。通过配置构建脚本,程序员可以定义各种构建任务和依赖关系,简化繁琐的手动操作,提高构建和部署的效率。 4. 代码质量工具:代码质量工具(如FindBugs、Checkstyle、SonarQube)可以帮助程序员检测代码中的潜在问题和违反规范的地方。这些工具可以查找代码中的bug、代码冗余、性能问题等,并给出相应的修复建议,帮助程序员改善代码质量。 5. 文档和帮助系统:辅助程序员的工具还包括文档和帮助系统。良好的文档可以帮助程序员理解框架、库和API的用法,并提供示例代码和注意事项。帮助系统则提供了对工具和技术的详细说明和使用教程,帮助程序员解决问题和学习新的知识。 总之,辅助程序员的工具旨在提高开发效率、简化开发流程、改善代码质量和提供支持等,使得程序员能够更专注地进行编码和问题解决,从而提高开发工作的效率和质量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值