目录

前言

程序员技能树

巩固的基础

互联网技术相关知识全面的了解

PHP编程能力

MySQL技能

操作系统应用能力

编程能力,编程思想

总结一下

广:

深:

前言

今天刷新闻的时间看到一篇很有针对性的报道,说是作为一名程序员想在一线互联网月薪破万,到底需要自身了解多深的技术,大家都知道既然是在一线城市,如果月薪没有万元以上,生活是很艰难的,毕竟一线城市科技和经济都很高,当然消费自然就高了,里面隐隐约约说了一些技术,大部分都是一名程序员必备的技能,但限于工作及其他原因就没有面面俱到的报道出来了,大家也都懂,www.887551.com就不在这详细的讨论这个问题了,让我来了解一下到底是什么要的技术,才能够在一线互联网月薪万元以上吧!

这是一个经常被初级程序员问到的一个问题。如果你问公司的HR,人家会告诉你,你的薪资取决于于公司的薪酬制度,以及你在公司的位置。。。,所以啊,你懂的,小伙子好好干,继续加班吧。

这是可耻的忽悠, 我们广大程序员都是追求技术进步的有为青年,程序员的薪资水平要掌握在自己手中。

身为一个合格的Java架构师,应该了解并且常用的Java技术有哪些?

程序员技能树

巩固的基础

比如对集合类,并发包,类加载,IO/NIO,JVM,内存模型,泛型,异常,反射,等有深入了解,最好是看过源码了解底层的设计。比如一般面试都会问ConcurrentHashMap,CopyOnWrite,线程池,CAS,AQS,虚拟机优化等知识点,因为这些对互联网的企业是绝对重要的。而且一般人这关都过不了,还发闹骚说这些没什么用,为什么要面试。举一例子,在使用线程池时,因为使用了无界队列,在远程服务异常情况下导致内层飙升,怎么去解决?你要是连线程池都不清楚,你怎么去玩?再举一例,由于对ThreadLocal理解出错,使用它做线程安全的控制,导致没能实现真的线程安全。还有遇到内存泄露怎么排插问题,怎么优化系统性能。所以作为一个拿两万的JAVA程序员这点基础是要有的。

HTML/CSS/JavaScript 这些就不必说了,入门级WEB开发程序员都要掌握的。

互联网技术相关知识全面的了解

从底层说起,你起码得深入了解mysql,redis,nginx,tomcat,rpc,jms等方面的知识。你要问需要了解到什么程度,我可以给你说个大慨。首先对于MySQL,你要知道常见的参数设置,存储引擎怎么去选择,还需要了解常见的索引引擎,知道怎么去选择。知道怎么去设计表,怎么优化sql,怎么根据执行计划去调优。高级的你需要去做分库分表的设计和优化,一般互联网企业的数据库都是读写分离,还会垂直与水平拆分,所以这个也有经验的成分在里面。然后redis几乎是必须的技能,而nginx和tomcat几乎都是JAVA互联网方面必配。至于rpc相关的就多的去,必须各种网络协议,序列化技术,SOA等等,你要有一个深入的理解。现在应用比较广的rpc框架,在国内就是dubbo了,开源的还有spring cloud相关技术栈,可以自行搜索。至于jms相关的起码得了解原理吧,一般情况下不是专门开发中间件系统和支撑系统的不需要了解太多细节,国内企业常用的主要是activeMQ和kafka。你能对我说的都有研究,阿里p7都不是太大问题的。

PHP编程能力

其次说说PHP编程能力,精通PHP语法,掌握常用的函数,熟悉PHP5下的OOP应用,熟练使用缓存,掌握一些设计模式等等。这个是基础。再高级一点,你要会这些:对PHP运行机制的理解;对系统资源的调用交互理解;关健性能的优化能力。以及有过OOP架构设计经验,熟悉设计模式、UML,熟悉PHP对象运行机制,内存管理等

MySQL技能

MySQL技能也是必不可少的。还是先从基本的来说,你要知道用PHP连接数据库;懂得写一些简单的SQL;建一些简单的索引;懂得用工具简单操作一下数据库(增删改库表结构数据等等)。进阶一点呢,你要懂得在开发应用上设计数据库,建立一些有效的索引,用explain分析SQL性能,压力测试等等。再往上呢,你要深入了解数据库索引、存储引擎原理以及运行机制,能有效地构建高性能可扩展的数据库结构/架构,有效地优化数据库性能配置并加以调试,分析数据库运行状态。再往上呢,再往上先不说了。

操作系统应用能力

再说说操作系统应用能力,WEB开发不只是会写代码就行的。操作系统应用也是必备技能。需要广泛且扎实的基础理论,而对于开发者来说,熟悉基本的命令操作,对WEB相关服务的安装、配置、优化能力需要具备。

说到这,已经把很多程序员打回原形了。天啊,要到这么高的水平,原来我以为我很牛,现在才发现我太菜了。

还没完呢,作为一个PHP程序员,没有大型网站工作经验,怎么好意思出来混呢。PHP开发下的缓存应用(memcache、APC等);session处理方案;熟悉负载均衡;熟悉PHP数据连接池应用;了解PHP编程性能优化。这些只有在大访问量网站工作才能接触到。这些只是小菜,你还要掌握分布式缓存及缓存性能优化、熟悉存储系统、文件系统、数据库,开发可扩展平台。能结合负载均衡合理布置流量,对PHP运行性能进行监控与分析等。

不说了,再说下去连我自己都没信心了。不过呢,大家要往这个方向努力。FaceBook只招全栈工程师,现在大家知道为什么了吧,你掌握了上面说的,你就是一个全栈工程师了。

编程能力,编程思想

首先2W程序员对算法的要求我觉得还是比较低,再高级也最多红黑树吧,但是排序和查询的基本算法得会。编程思想是必须的,问你个AOP和IOC你起码的清清楚楚,设计模式不说每种都用过,但也能了解个几种。编程能力这个我觉得不好去评价,但是拿一个2000W用户根据姓名年龄排序这种题目也能信手拈来。最后就是架构能力,这种不是说要你设计个多牛逼多高并发的系统,起码让你做一个秒杀系统,得有一个明确的思路和方向。

总结一下

PHP程序员要月薪上万,还是要求比较高的。 那个C++,JAVA程序员,可以专精某一技术。但是做Web开发的人,就得往全栈工程师这个方向发展。

其实,我内心是纠结的。因为我现在所学习的东西无法有价值的运用至项目中去,不仅仅是自己是后端的身份,还因为项目组中有专业的前端/美工。而我仅仅还只能做些拖拽bootstrap框架中,别人写好的组件到处德瑟~糊弄那些不懂行的可以,专业人士就算了,还不如扎扎实实的去研究CSS/JavaScript底层的东西。

我喜欢去学习新的技术,但这些还不够。人有不是机器,学多了总会忘。所以通常都是两条路

广:

横线发展,这种比较耗费时间。要么面面具备,要么什么都不会

深:

专精一本,做一门技术中资深的专家。根据一万小时的定律,这个应该是不难实现的。

其实,人活着要点目标。有了目标就什么都不用怕,只要朝着好的方向一步一步向前进即可…

文章到此就结束了!

最后来自www.887551.com的福利

以下的Java核心知识点整理是www.887551.com整理许久整理成的文档资料,300页Java核心技术,需要领取的小伙伴可以 点我 免费领取 编程的世界永远向所有热爱编程的人开放,这是一个自由,平等,共享的世界,我始终是这样坚信的。

部分资料图片:

喜欢www.887551.com的分享可以点赞关注哦,www.887551.com持续为你分享最新文章 和 福利领取哦

本文地址:https://blog.csdn.net/SQY0809/article/details/109606956