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

news2025/1/17 8:53:11

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

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

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

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

微信截图_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.coloradmin.cn/o/1340402.html

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

相关文章

javaWebssh民宿管理系统myeclipse开发mysql数据库MVC模式java编程计算机网页设计

一、源码特点 java ssh民宿管理系统是一套完善的web设计系统(系统采用ssh框架进行设计开发),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模 式开发。开发环境为TOMCAT7.0,My…

Graph Transformer2023最新研究成果汇总,附15篇必看论文

图Transformer是一种结合了Transformer模型和图神经网络(GNN)的框架,用于在图形结构数据上执行预测任务。在图Transformer中,Transformer的自注意力机制被用来学习节点之间的关系,而GNN则被用来生成节点的嵌入表示。通…

百模大战中的AI行业新趋势:开启技术变革的大门

引言 在百模大战中,AI行业的发展正在经历前所未有的变革。这场竞争不仅推动了AI技术的快速发展,也揭示了AI行业的新趋势。本文将深入探讨这些方向,为读者提供对AI行业未来发展的深刻洞察。 一、技术进步 百模大战的激烈竞争推动了AI技术的飞…

VR全景图片制作时有哪些技巧,VR全景图片能带来哪些好处

引言: VR全景图片是通过虚拟现实技术制作出的具有沉浸感的图片,能够提供给用户一种身临其境的感觉。在宣传方面,它有着独特的优势和潜力,能够帮助吸引更多的潜在客户,那么VR全景图片制作时有哪些技巧,VR全…

uni-app uni.scss内置全局样式变量

锋哥原创的uni-app视频教程: 2023版uniapp从入门到上天视频教程(Java后端无废话版),火爆更新中..._哔哩哔哩_bilibili2023版uniapp从入门到上天视频教程(Java后端无废话版),火爆更新中...共计23条视频,包括:第1讲 uni…

【快速全面掌握 WAMPServer】04.人生初体验

网管小贾 / sysadm.cc 我们在前面的教程中为小伙伴们详细地介绍了 WampServer 的安装方法,相信大家对于如何安装应该已经有了一个比较完全的掌握。 在完全掌握安装方法之后,我们还可以更加便捷地使用我为大家提供的一键安装批处理程序来快速搞定安装部署…

Qt Creator可视化交互界面exe快速入门4

上一期介绍了信号与槽,本期介绍加法计算器 我们来新建一个项目 然后拖动设置按钮 还需要个输出框 这里拖动Line Edit 我这里只是简单演示一下,做个低配版计算器,再加个加号和一个等于号就结束了。 然后回到代码编辑部分,我们需要…

关于SQL时间盲注(基于sleep函数)的手动测试、burpsuite爆破、sqlmap全自动化注入

SQL时间注入是一种常见的SQL注入攻击方式,攻击者通过在SQL语句中注入时间相关的代码,来获取敏感信息或者执行非法操作。其基本原理如下: 攻击者向Web应用程序中输入一段恶意代码,通过SQL语句查询数据库,并注入时间相关…

postman使用-03发送请求

文章目录 请求1.新建请求2.选择请求方式3.填写请求URL4.填写请求参数get请求参数在params中填写(填完后在url中会自动显示)post请求参数在body中填写,根据接口文档请求头里面的content-type选择body中的数据类型post请求参数为json-选择raw-选…

HDFS客户端UnknownHostException事故解析

文章目录 前言事故现场问题分析是否是整个域名解析服务当时都出问题了是否是出问题的pods本身的域名解析有问题 异常发生的全部过程域名的解析是什么时候发生的,怎么发生的域名解析的详细流程 重试发生在什么地方为什么重试会无效 Bugfix代码详解关于StandardHostRe…

3D换肤在服装行业的应用

在线工具推荐: 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 通过采用高质量的 3D 模型,企业可以提供更加身临其境的体…

透彻掌握GIT基础使用

网址 https://learngitbranching.js.org/?localezh_CN 清屏 clear重新开始reset

DevOps(开发运维)常用的工具

"DevOps"是"Development"(开发)和"Operations"(运维)两个术语的组合,旨在代表公司应用开发和IT运维团队执行的任务的协作或共享方法。 DevOps描述了采用迭代软件开发、自动化以及可编程…

科荣 AIO ReportServlet 任意文件读取漏洞复现

0x01 产品简介 科荣AIO 企业⼀体化管理解决⽅案 通过ERPERP(进销存财务)、OAOA(办公⾃动化)、CRMCRM(客⼾关系管理)、UDPUDP(⾃定义平台),集电⼦商务平台、⽀付平台、ER…

计算机组成原理复习1

概论 文章目录 概论计算机系统计算机硬件系统计算机软件系统 计算机系统的层次结构计算机系统的工作过程冯诺依曼计算机结构冯氏机的特点 现代计算机现代计算机的组成计算机硬件的主要技术指标机器字长存储容量运算速度 计算机的历史与发展 计算机系统 计算机系统硬件软件 计…

安装DataEase(Linux线上安装)修改端口

问题一:端口更改 警告本解决方法仅仅应急,如果找到了更好的方法请通知我,感谢你的理解!!! 为了让mysql与dataease的端口不发生冲突,将 MySQL 外部运行端口参数 ${DE_MYSQL_PORT} 改为新端口&am…

解决 Nginx 反向代理中的 DNS 解析问题:从挑战到突破20231228

引言 在使用 Nginx 作为反向代理服务器时,我们可能会遇到各种配置和网络问题。最近,我遇到了一个有趣的挑战:Nginx 在反向代理配置中无法解析特定的域名,导致 502 错误。这个问题的解决过程不仅揭示了 Nginx 的一个不太为人知的功…

docker学习(二十、network使用示例host、none)

文章目录 一、host应用示例总结 二、none应用示例总结 network相关内容: docker学习(十八、network介绍) docker学习(十九、network使用示例bridge) docker学习(二十、network使用示例host、none&#xff0…

Dockerfile - 基于 SpringBoot 项目自定义镜像(项目上线全过程)

目录 一、Dockerfile 自定义项目镜像 1.1、创建 SpringBoot 项目并编写 1.2、打包项目(jar) 1.3、编写 Dockerfile 文件,构建镜像 1.4、运行镜像并测试 一、Dockerfile 自定义项目镜像 1.1、创建 SpringBoot 项目并编写 a)简…

在香橙派5 Plus上搭建Gitlab

作为一个码农,一定知道Github这个最大的成人交友网站。但是Github在国内不稳定,经常拉不下来代码,也就无法推送代码。为了更方便的使用,顺便更好地了解Git工具,决定在香橙派5 Plus上搭建一个属于自己的代码仓库。 1、…