程序员如何高效学习技术?

我们相信努力学习一定会有收获,但是方法不当,既让人身心疲惫,也没有切实的回报。

  不少朋友每天都阅读技术文章,但是第二天就忘干净了。工作中领导和同事都认可你的沟通和技术能力,但是跳槽面试却屡屡碰壁。面试官问技术方案,明明心里清楚,用嘴说出来却前言不搭后语。面试官再问底层算法,你说看过但是忘记了。他不在乎你看没看过,答不上就是零分。正如男女相亲,男方谈吐潇洒才能吸引姑娘。可是男方紧张了,平时挺能说,关键时候却支支吾吾,姑娘必然认为他不行。人生充满了许多考试,有形的和无形的,每次考试的机会只有一次。

  工作五年十年后,别人成了架构师,自己还在基层打滚,原因是什么?职场上无法成功升迁的原因有很多,没有持续学习、学习效果不好、无法通过心仪公司的的面试,一定是很重要的原因。

  把自己当成一台计算机,既有输入,也要有输出,用输出倒逼输入。

微信截图_20231221160416.png

  近些年诞生了许多新技术,比如最时髦的AI(目前还在智障阶段),数学基础是初中就接触过的概率统计。万丈高楼从地起,不要被新工具或者中间件迷住双眼,一味地追新求快。基础知识是所有技术的基石,在未来很长的时间都不会变化,应该花费足够的时间巩固基础。

  以数据结构和算法为例,大家阅读一下Java的BitSet的源码,里面有大量的移位操作,移位运算掌握的好,看这份源码就没问题。Java同步工具类AQS用到了双向链表,链表知识不过关,肯定搞不懂它的原理。互联网大厂都喜欢考算法,为了通过面试也要精通算法。

  以Java工程师应该掌握的知识为例,按重要程度排出六个梯度:

第一梯度:计算机组成原理、数据结构和算法、网络通信原理、操作系统原理;

第二梯度:Java基础、JVM内存模型和GC算法、JVM性能调优、JDK工具、设计模式;

第三梯度:Spring系列、Mybatis、Dubbo等主流框架的运用和原理;

第四梯度:MySQL(含SQL编程)、Redis、RabbitMQ/RocketMQ/Kafka、ZooKeeper等数据库或者中间件的运用和原理;

第五梯度:CAP理论、BASE理论、Paxos和Raft算法等其他分布式理论;

第六梯度:容器化、大数据、AI、区块链等等前沿技术理论;

有同学认为第五梯度应该在移到第一梯度。其实很多小公司的日活犹如古天乐一样平平无奇,离大型分布式架构还远得很。学习框架和中间件的时候,顺手掌握分布式理论,效果更好。

u=1977720097,2879993675&fm=253&fmt=auto&app=138&f=PNG.png

  许多公司的招聘JD没有设定技术人员年龄门槛,但是会加上一句“具备与年龄相当的知识的广度与深度”。多广才算广,多深才算深?这是很主观的话题,这里不展开讨论。

  如何变得更广更深呢?突破收入上升的瓶颈,发掘自己真正的兴趣。

  大多数人只是公司的普通职员,收入上升的瓶颈就是升职加薪。许多IT公司会对技术人员有个评级,如果你的评级不高,那就依照晋级章程努力升级。如果你在一个小公司,收入一般,发展前景不明,准备大厂的面试就是最好的学习过程。在这些过程中,你必然学习更多知识,变得更广更深。

  个人兴趣是前进的动力之一,许多知名开源项目都源于作者的兴趣。个人兴趣并不局限技术领域,可以是其他学科。我有个朋友喜欢玩山地自行车,还给一些做自行车话题的自媒体投稿。久而久之,居然能够写一手好文章了,我相信他也能写好技术文档。

体系化的知识比零散的更容易记忆和理解,这正如一部好的电视剧,剧情环环相扣才能吸引观众。建议大家使用思维导图罗列知识点,构建体系结构,如下图所示:

坚持写技术博客,别在意你写的东西在网上已经重复千百遍。当自己动手的时候,才会意识到眼高手低。让文章读起来流畅清晰,需要呕心沥血的删改。写作是对大脑的长期考验,想不到肯定写不出,想不清楚肯定写不清楚。

造个轮子

我们经常说不要重复造轮子。为了开发效率,可以不造轮子,但是必须具备造轮子的能力。优秀开源项目的作者通常具备极高的工程能力,从工程的实际需求出发,用代码实现一个通用的解决方案。造轮子的目的,首先是巩固编程知识,其次是锤炼工程能力。

今天给大家介绍一款强大的前端工具啊,JNPF,前后端分离架构,丰富的在线设计体验,强大的代码生成器,让前后端代码一键生成,实现低代码开发,让开发更多关注业务,节省研发成本。

它拥有灵活的配置功能,可以让用户轻松的生成行和列,并且通过简单的拖放就可以实现对它的布局的调整,相信这可以大大提高我们的工作效率。

同时这个编辑器还提供了多种组件,包括编辑器、预览器和配置模板,既可以根据实际需求单独使用,也可以满足不同场景下的需求。同时它还有跨平台适配多软硬件的一个支持功能,让用户可以方便的应对不同的系统环境。此外,它还有一个非常非常实用的实时预览功能,在表单编辑的页面可以随时查看表单的渲染效果,这样我们就可以方便对表单进行调整和优化。如果你想提高工作效率,建议可以来试试这个强大的工具。

项目源码:https://www.jnpfsoft.com/?csdn

微信截图_20231122151444.png

建议造一个简单的MQ,会用到通信协议、设计模式、队列等许多知识。在造轮子的过程中,又要翻阅大量的技术资料或者博客,这就是用输出倒逼输入。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/582258.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Google Chrome 现在会在后台扫描泄露的密码

谷歌表示,Chrome 安全检查功能将在后台运行,检查网络浏览器中保存的密码是否已被泄露。 如果桌面用户正在使用标记为危险的扩展程序(从 Chrome Web Store 中删除)、最新的 Chrome 版本,或者如果启用安全浏览来阻止 Go…

我的NPI项目之行业黑话 -- 电子/机构/软件/认证

因为最近的NPI项目,参加了很多项目的会议,有电子/机构/软件/认证相关的各方面的专业词汇就出现了。这里我将之称为黑话,就是对我(纯软件) 来说是黑盒的话。这里简单记录并用于理解。 EE有关: Layout,一直…

基于Qt之QChart 图表(优美的曲线图案例)

## 项目演示 平台:ubuntu18.04 Qt版本:QT5.14.2 源码位置GitCode:https://gitcode.com/m0_45463480/QCharts/tree/main ## QChart 图表 自从 Qt 发布以来,给跨平台的用户带来很多便利。在 Qt5.7 之前,Qt 在开源社区版本里没有 Qt Charts(自带的绘图组件库)。这使得像…

安卓开发学习笔记

Android发展历史 开发工具 Android Studio 安装工具 下载页面:下载 Android Studio 和应用工具 - Android 开发者 | Android Developers 安装步骤 要求代理,关闭就可以 下载SDK 完成后创建新项目 努力学习中~

12-28

#include <iostream>using namespace std; class Person {int *age;string &name; public:void ss(){cout<<"年龄:"<<*age<<endl<<"名字:"<<name<<endl;}//拷贝构造函数(深拷贝&#xff09;Person(const Pe…

docker学习(二十一、network使用示例container、自定义)

文章目录 一、container应用示例1.需要共用同一个端口的服务&#xff0c;不适用container方式2.可用示例3.停掉共享源的容器&#xff0c;其他容器只有本地回环lo地址 总结 二、自定义网络应用示例默认bridge&#xff0c;容器间ip通信默认bridge&#xff0c;容器间服务名不通 自…

C++ DAY1 作业

1.定义自己的命名空间myspace&#xff0c;并在myspace中定义一个字符串&#xff0c;并实现求字符串长度 #include <iostream>using namespace std; namespace myspace {string str;int length_fun(){getline(cin,str);int i 0;while(str[i] ! \0){i;}return i;}} using…

案例214:基于微信小程序的水果销售系统的设计与实现

文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 数据库&#xff1a;mysql 5.7 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.5.4 小程序框架&#xff1a;uniapp 小程序开发软件&#xff1a;HBuilder …

【网络安全 | 指纹识别工具】WhatWeb使用详析

前言 WhatWeb 是一款用于识别 Web 应用程序和 Web 服务器的开源工具。它可以识别网站使用的编程语言、Web 框架、Web 服务器软件、Web 应用程序等信息&#xff0c;从而帮助安全测试人员快速了解目标网站的技术特征&#xff0c;发现可能存在的漏洞。 本文将对 WhatWeb 的使用方法…

git 如何将某个分支的某个提交复制到另外一个分支

请直接去看原文: 原文链接:git 如何将某个分支的某个提交复制到另外一个分支_gitlab里面的markdown文件可以复用其他分支的吗-CSDN博客 --------------------------------------------------------------------------------------------------------------------------------…

GIT如何重新生成ssh密钥过程

GIT如何重新生成ssh密钥过程 一、生成密钥前需要把之前的密钥删除吆 第一步&#xff1a;重新配置用户名和邮箱&#xff08; Git Bash 或命令窗口&#xff09; 1、配置用户命令&#xff1a;git config --global user.name “xxxxx” 2、配置邮箱命令&#xff1a;git config …

【我与Java的成长记】之this引用和构造方法的使用详解

系列文章目录 能看懂文字就能明白系列 C语言笔记传送门 &#x1f31f; 个人主页&#xff1a;古德猫宁- &#x1f308; 信念如阳光&#xff0c;照亮前行的每一步 文章目录 系列文章目录&#x1f308; *信念如阳光&#xff0c;照亮前行的每一步* 前言一、this的使用this引用的特…

Elasticsearch 查询命令执行时,如何通过词项索引、词项字典、倒排表定位文档逻辑介绍

这里不涉及到源码&#xff0c;只是根据网上的一些文章总结一下&#xff0c;目前不需要细究&#xff0c;只需要知道大概就好&#xff0c;除非你的工作是二次开发ES 一、​Term Index(词项索引)1、FSM&#xff08;Finite State Machine&#xff09;有限状态机2、FSA&#xff08;F…

力扣刷题记录(20)LeetCode:198、213、337

198. 打家劫舍 我们从第一个开始分析&#xff1a; dp[i]:i表示索引&#xff0c;dp表示当前索引可以拿到的最高金额 索引为0时&#xff0c;可以拿到的最高金额为1&#xff1b; 索引为1时&#xff0c;可以拿到的最高金额就是在索引[0,1]之间取&#xff0c;为2 索引为2时&…

雷军的最后一战,就这?

作者 | 魏启扬 来源 | 洞见新研社 2021年3月30日&#xff0c;小米官宣进军电动汽车赛道后的1003天&#xff0c;小米汽车亮相了。 由于是雷军“人生中最后一次重大的创业项目”&#xff0c;押上了雷军“人生所有积累的战绩和声誉”&#xff0c;小米对于造车极为重视&#xff…

性能手机新标杆,一加 Ace 3 发布会定档 1 月 4 日

12 月 27 日&#xff0c;一加宣布将于 1 月 4 日发布新品一加 Ace 3。一加 Ace 系列秉持「产品力优先」理念&#xff0c;从一加 Ace 2、一加 Ace 2V 到一加 Ace 2 Pro&#xff0c;款款都是现象级爆品&#xff0c;得到了广大用户的认可与支持。作为一加 2024 开年之作&#xff0…

【没有哪个港口是永远的停留~论文解读】Both Style and Fog Matter

Both Style and Fog Matter 原文&#xff1a;https://arxiv.org/pdf/2112.00484.pdf 解决问题&#xff1a;大雾、下雨、下雪天模糊场景 其他人做法&#xff1a; 1-去雾算法&#xff0c;人工干扰 2-合成的雾图像&#xff0c;不像真实的雾图像那样真实&#xff0c;也会扩大清…

12.27_黑马数据结构与算法笔记Java(补1)

目录 266 活动选择问题 分析 267 活动选择问题 贪心 268 分数背包问题 贪心 269 0-1 背包问题 贪心 270 斐波那契 动态规划 271 斐波那契 动态规划 降维 272 Bellman Ford 动态规划 分析 273 Bellman Ford 动态规划 实现1 274 Bellman Ford 动态规划 实现2 275 Leetco…

(12)Linux 常见的三种进程状态

&#x1f4ad; 前言&#xff1a;本章我们专门讲解进程的状态。我们先学习具体的 Linux 系统状态&#xff0c;再去介绍 OS 学科面对的概念如何理解 —— 运行态、终止态、阻塞态以及挂起态。 进程状态&#xff08;Process Status&#xff09; 什么是进程状态&#xff1f; 进程…

C语言—每日选择题—Day64

前言 两天没更新了&#xff0c;作者在复习期末考试&#xff0c;更新一波&#xff0c;祝大家都能顺利通过期末考试&#xff01;&#xff01;&#xff01; 指针相关博客 打响指针的第一枪&#xff1a;指针家族-CSDN博客 深入理解&#xff1a;指针变量的解引用 与 加法运算-CSDN博…