好程序员,常年如一日的大量练习和总结方法,你能做到吗?

好程序员,常年如一日的大量练习和总结方法,你能做到吗?

首页角色扮演代号天堂更新时间:2024-07-26
前言

水平很高的程序员是挺多,但是水平一般的更多,水平很差的多到铺天盖地,还有半路退坑的那就数不胜数了

水平好的各种行业的人都多半需要天分和运气,到了最后,就是行业本身和达尔文把他们选出来了,不单纯是训练出来的。训练起的作用并不高,方法也没有什么太独特或者太保密的

举个例子吧,菲尔普斯除了其他人难以企及的天分,有什么特殊的训练方法吗?就是常年如一日的大量训练。好程序员也是常年如一日的大量练习和总结

方法没什么特殊的,可你能做到吗?

学习是寂寞、枯燥的,这段时间里其实有太多次想要放弃,但每次也都熬了过来,可以分享给大家一个感悟:花一年自己逼自己一下,让一切优异的品质成为你的习惯;像我现在,就感觉努力、上进、钻研、好奇心这些已经是骨子里的东西了,研究一个技术点,不整理成一篇博文,我都不认为自己掌握了这个技术点。

至于工作,经过15年这一年的学习,由于个人水平的长进,16年到18年间,在工作中领导也愿意给我机会,会写一些底层的东西、会做一些系统性的设计、也有机会带几个人的小团队。在这一过程中,慢慢发现基本功并不能说明所有问题,因为必然会遇到没碰到过的东西、会遇到一些更复杂的问题,然后通过查资料、研究、寻找解决方案、解决问题进一步提升自己的能力。

个人技术成长,工作中成长(实际解决问题能力)一定是缺一不可的,就像前几天我们大部门老大分享的:什么是好的技术,能解决实际问题的技术就是好的技术。

18年年中,对的时间遇到一个对的部门、对的领导、对的团队,梦想照进现实

希望我分享的个人成长经历,能对看到的人有一些鼓励、有一些感触,如果让我总结一下,那么希望告诉大家两点:

● 相信你自己,我这样学校一般又不聪明的人都能走到今天这一步,那么大多数人一定都能走到我这一步,而且能走得比我更远、更好

● 世界上没有什么是努力办不到的,如果有,那么就更努力一些吧

我理解的优秀程序员应当具备的技术素质

网上有很多所谓的Java程序员面试经,其实看下来的感觉就是没多大用,面试是没有套路的,每一个面试官问的东西也都不一样,如果根据那些面试问题去学习和准备,那真的是只见树木不见森林,对个人提升没有太大提高

那么,在五年这个阶段,一个优秀的程序员应当具备怎样的技术素质呢?按照我个人的理解,主要就是基本功 项目

为什么之前说针对面试题进行学习和准备作用不大,因为我认为我们关注的不应当是题,而是题背后的一个一个的方向,这也就是我认为的基本功。那从基本功的角度来说,罗列一下我能想到的,包括但不限于以下内容:

● 工作相关使用到的JDK类及其相关源码、机制

● 设计模式,设计模式在工作中用到了哪些,具体使用场景

● 并发类的相关知识,线程安全、锁机制、信号量、闭锁、栅栏、线程池等

● 框架相关,Spring相关机制、Spring MVC相关机制、MyBatis相关机制、使用的细节点、框架实现原理等

● JVM,内存布局、垃圾识别算法、垃圾回收算法、垃圾收集器、类加载机制、内存模型、出现内存问题时定位问题的方法等

● 数据库的基本数据类型、索引机制、各引擎区别、锁机制、慢SQL定位及优化等

● 缓存机制,这里的机制指的是缓存加载、缓存击穿、缓存雪崩这些机制及其相关应对方案,用过Redis、MemCache的最好理解一下它们的原理或者缓存提供的一些高级功能,集群如何实现

● 分布式的一些知识,比如CAP理论、数据一致性的几种解决方案、分布式事务如何处理,分库分表怎么做、现有的相关解决方案等

● NIO的作用,epoll模型是否知道一些,Netty的相关机制、Netty相比原生NIO的优点、半包拆包、断线重连解决方案等

● Web相关,Get与Post的区别、转发与重定向的区别、跨域问题如何解决、如何保证接口幂等性等

● 网络层相关,三次握手和四次握手、全连接队列和半连接队列、负载均衡算法等

● 其他中间件,MQ作用和使用场景、服务化治理框架的作用和使用场景、配置中心的作用和使用场景等

● 数据结构,数组、链表、栈、队列、树等优缺点,在什么场景下使用什么数据结构

● Linux相关知识,基本命令的使用,查询日志、定位问题,项目或者第三方组件的基本运维等

坦白讲,以上的这些东西全都掌握也不可能,哪怕面试官肯定也有很多不会的,但这就是基本功,能多掌握一点多掌握一点,技多不压身,至于别人如何评价你,就留给别人去评价吧,做好自己能做好的就行了

如何锻炼性能调优能力

我这里整理了一份完整的《Android程序性能优化》及《Android网络传输与数据存储优化》希望这份系统化的技术体系对大家有一个方向参考

有需要的同学,可以顺手给我点赞评论支持一下

内容如果对大家有用的话,可以转发分享一下

获取方式

私信发送“面试”“进阶”即可免费获取

由于篇幅原因,下面仅展示部分内容

《Android程序性能优化》

第一章 ANR问题解析

第二章 crash监控方案

第三章 启动速度与执行效率优化项目实战

第四章 内存优化

第五章 耗电优化

第六章 网络传输与数据存储优化

第七章 apk大小优化

第八章 实战项目

《Android网络传输与数据存储优化》

1、网络优化的三个要点

2、网络优化的两个维度

3、三个线下测试工具

4、周期长

5、线上监控的三个要点

6、三个线上监控方案

7、三个流量优化方案

8、网络请求质量优化

获取方式

私信发送“面试”“进阶”即可免费获取

技术是无止境的,你需要对自己提交的每一行代码、使用的每一个工具负责,不断挖掘其底层原理,才能使自己的技术升华到更高的层面

Android 架构师之路还很漫长,与君共勉

PS:有问题欢迎指正,可以在评论区留下你的建议和感受;

欢迎大家点赞评论,觉得内容可以的话,可以转发分享一下

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved