四年开发经验的Java程序员去面试,进去5分钟就出来了?究竟为啥?!

作为一名优秀的程序员,技术面试都是不可避免的一个环节,一般技术面试官都会通过自己的方式去考察程序员的技术功底与基础理论知识。

大部分程序员认为面试的东西都是极为高大上的,这基本是所有企业面试的共性,考察的东西肯定是要比实际用到的东西更多一点,对于一家正常的企业来讲这也是无可厚非的,leader都想花适当的钱招来一位很有技术潜力的程序员。

也有一部分朋友面试的经历会比较惨烈,你们肯定会想:一个四年的Javaer,区区5分钟都坚持不了?

下面我为大家讲一下我的这位朋友是怎么面试被diss的经过:下午两点被HR通知去北京的某互联网企业进行面试,一、二面过后的三分钟我被带到了技术经理的办公室。

刚进去我就被看到的景象所吓到了,技术经理顶着一个秃瓢,眼睛很有神的看着他。简直是个人工小太阳… 面试官了解下基本情况后就开始以下问答!

面试官:看你项目都用的框架,熟悉Spring、mybatis等框架实现原理吗?

他:做过一些项目熟练操作,原理了解的还行

面试官继续问道:我看你上面有接触过消息中间件,负载均衡、RPC框架等技术吗,MySQL分库分表有做过吗?

他:额,接触的很少

面试官跟着问道:分布式架构设计,Redis分布式锁呢?

他:完全不知道这个操作…

面试官:…

企业需要什么样的人

在此基础上,互联网行业针对 Java 开发的招聘需求,也是近年技术类岗位供需量最大,且变化最稳定的。企业对 Java 工程师发放的面邀数占比也远高于其他岗位,在100 offer平台上,Java工程师的需求占总需求的近60%,可以说,在当前各大公司“ 人员优化”的背景下,Java工程师,尤其是资深Java工程师依旧是硬通货。

什么样的工程师才能被称为资深,又如何成为资深Java工程师呢?

从工作时间来看,资深工程师一般具备3-5年工作经验,企业对有 3-5 年经验的 Java工程师,都会要求算法基础和编程能力扎实,有分布式、高并发经验优先,可独立负责一个模块的开发。在技术上一专多能,不仅限于写好 Java,还要触类旁通,对公司业务所需的新技术能快速学习运用,以一个资深Java开发招聘为例:

从上面的招聘信息可以看到几个信息:

  1. **即使在这个行业冬天里,企业也是愿意为有能力的资深Java工程师付费的。**一个资深程序员达到50w+的待遇是没问题的。在IT届也流传着一个观点:1个优秀程序员的效率是普通程序员的10倍,但凡对于有点创新型的项目,企业宁愿付2倍的薪水去选择一个优秀程序员,也不愿意花同样的钱雇佣两个平庸的程序员。
  2. 聚焦到具体的技能上,企业对资深程序员的期望是什么呢?几乎所有的招聘要求都会提到:熟悉分布式系统、有分布式系统开发经验的优先。

分布式系统之所以门槛高,主要体现在三方面:

涉及到的知识面太广,各个概念又比较相似,区分度不高,比如分布式存储、分布式缓存,RPC,微服务等等,导致学习时经常混淆,有一种云里雾里的感觉;
对实践的场景要求较高,一般小的项目不会用到这些技能,能接触到分布式系统开发的程序员比例较少,即使知道些分布式相关的技术概念,也很难去落地,真正的形成技术心智,无法实践的技术很快就会被抛之脑后;
异常情况巨多,相比单机系统,分布式在每个环节上都要考虑繁杂的异常情况。比如单机系统中不存在的网络异常问题,那么在分布式系统中是家常便饭,任何一个有影响力的分布式框架都会花费大量的代码解决这些异常问题。

**如果工作1~2年,想往分布式方面去深造,最重要的还是要知识系统化。**通常程序员了解一个技术会有如下几个渠道:

  1. 博客论坛
  2. 官方文档
  3. 书籍
  4. 课程视频

这几种途径在知识系统化方面是逐渐提高的。不管通过哪一种方式学习,都要不断的更新自己的知识库,将这些知识串起来,形成一个有机整体,在处理分布式问题时才能得心应手。

行业冬天,是淘汰低端程序员的好时机,也是自己努力的成为资深程序员的好时机,才能在面对高薪职位邀请时做到胸有成竹。

猜你喜欢

转载自blog.csdn.net/doubututou/article/details/109231776
今日推荐