如何分析Java职位

Java
Linda大学毕业后在一家小公司做Recruiter,每天花在招聘上的时间只有2、3个小时,在一次招聘沙龙中,认识了猎头July,一周后,Linda就加入了July的猎头公司。

July一直做互联网技术类职位,认识不少技术达人,新人没有技术背景,July通常会和新人一对一的Q&A。入职后第一周,Linda被安排做Java职位,各种度娘、知乎后,她拿着写满问题的小本子来到July旁边。

July,我发现我们公司最多的就是Java订单,为什么相比较其他职位,Java招聘需求会多很多?
挺敏感的嘛!没错,Java需求量的确很大,包括传统的企业软件(OA/ERP/CRM)、SAAS软件(在线云端产品)、网站、App的后台等都需要Java人员,这得益于Java强大的跨平台属性,入门快,开发周期短。
什么是跨平台?
你用Windows,我用MAC,同一段Java代码可以分别在Windows和MAC上运行,这就是跨平台,更确切地说,Java的跨平台属性得益于Java虚拟机,简称JVM。
等等,JVM和Java有什么关联?
不同平台都有对应的JVM,像一台专为Java虚构出来的计算机,你可以理解为Java的运行环境,Java代码在JVM中不需要重新编译,可以直接运行。
简历中我确实见过JVM这个关键字,另外我还记了几组简历中常见的其他关键词: Spring、MVC、Hibernate、Mybatis…
你列的这些都属于Java框架,框架的优势在于模块化封装,好比你是用记事本还是用word写文章。Java框架你只要记住两个大的关键词:SSH和SSM,SSH是Spring+Struts+Hibernate的缩写,SSM是Spring+SpringMVC+Mybatis的缩写,这些全称也是Java的关键词。
SSH和SSM有啥区别?
和候选人聊多了你会发现,用SSH的产品多半是企业级应用软件,比如:OA/CRM/ERP等等,比较重,不灵活,用户量不太大,性能要求不高;用SSM主要应用于互联网产品,可以看做是SSH的升级版。再进一步的技术细节我们就不需要深究了,比如Spring究竟是啥,呵呵。
好奇怪,你这么一讲,我这个技术小白也似乎有概念了,继续下一组: Tomcat、Jetty、Nginx…又是什么鬼?
哦,这些都是Java的应用服务器,顾名思义,应用程序提供服务给客户端使用,比如:我打开一个电商网站,输入“Java进阶”,返回图书列表,这中间就是应用服务器完成指令接收、查询数据库、返回搜索结果等一系列业务逻辑的过程。
这下形象多了,再来说说数据库吧,为什么很多互联网公司都用Mysql,不用高大上的Oracle、SQL Server?
哈哈,互联网公司缺钱但不缺技术,Mysql开源免费呀,Oracel那些至少十几万一台,一台Mysql性能差,那就搞个十台八台,通过分库分表,把性能搞上去,对Java工程师来说,用什么数据库并没多大区别,会用就行。
还有网络协议呢?Java工程师需要掌握到什么程度?
会用HTTP就行。
最后一个问题,如何区分一般Java和高级Java甚至架构师?
一般级别只是在业务逻辑层面调用现有的API接口做开发,高级别会涉及很多调优:JVM调优、数据库调优、网络调优,不仅仅用API,还会写API,越接近底层的Java越资深!

 

框架见下图▼

框架
Java是一门有着二十多年历史的“古老”语言,因其跨平台、面向对象、生态成熟等诸多优点,在程序开发中拥有众多拥趸企业,Java程序员也因此在市场中炙手可热。

Was this article helpful?

Related Articles

Leave A Comment?