7年.NET面试Java的尴尬历程
先简单介绍LZ 现如今的情况,LZ 1992年出生,2012年实习,大专学渣一枚,实习期直接被校企合作直招到公司做.NET开发,现如今在某三线城市做后端技术经理,7年开发经验(5年.Net,2年.NET、JAVA混合开发),写下此篇文章只是希望把近年来遇到坑和心中正在迷惑的同学能够在看完LZ的遭遇能有一个前车之鉴吧。首先声明本文没有批判任何语言的思想,只是为了在如今社会,求得一席之地能养家糊口而已。接下来LZ会以实际面试经历讲述这一过程中的尴尬与无奈.
事情源自于2017年初,.NET CORE刚刚兴起的时刻,这时LZ正面临职业技术瓶颈,为了打破瓶颈决定新学习JAVA语言(PS:当时.NET CORE刚刚发起,社区轮子和成熟的案例资源不够充足,LZ期望往高并发、大数据方向转型学习),所以找了我大学的好基友要了一套最基础的JAVA的开发框架,秉承先会用再深入的原则,结构如下:

依据.NET万能三层架构的原理,并且在简单学习了eclipse 的使用方法,jdk、maven、tomcat的配置,很快一个框架轮子就建设起来了(spring mvc、mybatis),有了框架剩下的就是学习这些组件如何使用,基本业务代码编写没有问题,在这套框架下我们内部两个小项目优先使用并成功上线,tomcat都部署在windows服务器上,项目本身多大的QPS,也都是单机部署,这样子LZ天真觉得使用JAVA开发也能熟能生巧(PS:没有这样的自我满足也不会有后面第一次面试JAVA的尴尬)。在这样的一度满足之下LZ决定第一次出去面试JAVA高级开发试试水。
面试第一坑(简历问题)
有些同学可能会觉得拥有混合开发经验其实是一种职业优势吧,毕竟你懂两门开发语言(C#、JAVA),但是在JAVA生态圈内,大部分的JAVA中高级鄙视.NET的不在少数,包括外行HR认定的名词也只有"JAVA",所以切记不要在简历上写你的.NET经验大于JAVA开发经验,,否则就算过了外行HR的关,也会被那些JAVA技术面试官在筛选的时候所PASS,从而面试机会都不会给你。

后来经过大学好基友的提醒,把简历改成2年.NET开发,5年JAVA开发,才能陆续收到面试通知。
面试第二坑(基础知识、数据结构)
.NET招聘者众所周知,近年来.NET面试者日益减少,优秀.NETer开发更是少之又少,尤其在各大高校取消C#这门课程之后,.NETer的招聘更是难上加难,所以在面试的时候自然而然就会降低要求,基本只要求思路清晰,上手快,能有创新和开阔性思维就更优的招聘方法来筛选求职者,这样子其实就更加造成了.Net开发人员对基础知识的贫乏,能用个List、数组基本就能满足大部分企业CRUD的场景了(PS:在三线城市更加能体现一个.NET的开发人员的人际圈关系绝对不会超过2个人)。所以LZ基于这样的惯性思想,事先也没有任何准备,就直接投了xxxx教育科技有限公司,上来就把LZ打蒙了。大概内容如下:
面试官:您好,请先做个自我介绍。
我:xxxx,几年开发经验,在公司负责电商等核心开发,等等.....
面试官:看你面试JAVA高级开发,那应该对spring很熟吧,从spring mvc角度切入讲解下spring 容器初始化过程,这期间BeanFactory是干什么的,ApplicationContext是干什么的,Spring中有哪些设计模式,如果让你来实现spring框架 ,你有什么思路。
我:..... ,除了会使用spring框架,和知道IOC的原理之外,其他相关spring 源码基本都没研究过啊。此处LZ内心就已经开始慌张了。
面试官:看我回答不出来,表面笑笑,估计肯定内心一篇鄙视,继续询问hashmap,hashtable看过源码么。怎么解决hash碰撞,1.7中hashmap实现和1.8实现有何区别,hashmap中,为何链表达到一定大小红要转为红黑树等....
我:心中继续mmb,只能继续支支吾吾答不出来。
很快这轮面试就结束了,LZ记得出来之后 ,当时是冬天零下几度,后背都被冷汗打湿了,不过虽然被虐还是拿到了中级JAVA开发的offer。因为这次LZ心里就知道自己欠缺的内容了。这里也揭示一个面试者的套路,当你对简历上的内容能够熟练回答出来的时候,很快面试官就会跳过,遇到稍微你回答不出来的内容时,他会给你死磕到底,打乱你的思维,摧毁你心底的防线,其实说白了就是为了压求职者的工资而已,更有甚者LZ有次面试,面试官非要吧LocalDateTime这个类中涉及到的方法和使用规则给他说一遍,在这个问题上沉寂了将近5分钟。(PS,工具类在使用的时候我们都是看方法参数和说明来使用了,除了常用的谁能全说出来完呢)
面试第三坑(竞争压力大,起点高)
每年涌入it市场的JAVA求职者多如牛毛,很多同学在求职过程中,运气、实力缺一不可,相比LZ这样的大专学渣想在这样的市场求得一席之地更加困难,置于说能力比学历重要的话真的只能仁者见仁,智者见智了(呵呵),现在面试造火箭,入职拧螺丝已成常态,HR和企业在众多的java求职者中如何快速筛选,只能通过其求职者的个人亮点,能不能“造火箭”来看了,这其实也是企业招聘慢慢演变出来的,也能看出JAVA的竞争压力,但反观.NET市场,因为.NET CORE兴起,求职者凤毛麟角,在北上广企业也是有愿意高薪吸引高端人才的,市场出现这样的极端,也可以看成.NET 环境出现转机,但是在LZ三线城市内,某钩上刷出不到3页.NET招聘,和15页+的java招聘的对比也是心中无可奈何。大部分同学可以说LZ去北上广啊,但是家在这儿,人总要顾家,不到万不得已都不想背井离乡,远离妻儿与父母,现实也都有很多无奈。
生活不易,而作为IT开发人员,如果想要保持住眼前的稳定,只能不断学习,想.NET转JAVA的同学也都是至少3年+的工作经验了,看到LZ的尴尬经历希望能有一丝自己的想法,千万不要被旁人左右。企业转型是为了生存,而我们的转型(.NETCORE、JAVA)也是同样道理,至于35岁以后,相信人的经历和成熟也能使自己做出正确的判断了吧。
最后附上LZ近两年在看的书籍。


7年.NET面试Java的尴尬历程的更多相关文章
- Java的发展历程
Java的发展历程充满了传奇色彩. 最初,Java是由Sun公司的一个研究小组开发出来的, 该小组起先的目标是想用软件实现对家用电器进行集成控制的小型控制装置. 开始,准备采用C++,但C++太复杂, ...
- 分享系列--面试JAVA架构师--链家网
本月7日去了一趟链家网面试,虽然没有面上,但仍有不少收获,在此做个简单的分享,当然了主要是分享给自己,让大家见笑了.因为这次是第一次面试JAVA网站架构师相关的职位,还是有些心虚的,毕竟之前大部分时间 ...
- 阿里面试Java程序员都问些什么?
刚开始也是小白,也是一步步成成起来的.需要提的一点是,你将来是需要靠这个吃饭的,所以请对找工作保持十二分的热情,而且越早准备越好. 阿里一面 一面是在上午9点多接到支付宝的面试电话的,因为很期望能够尽 ...
- 细节!重点!易错点!--面试java基础篇(二)
今天来给大家分享一下java的重点易错点第二部分,也是各位同学面试需要准备的,欢迎大家交流指正. 1.字符串创建与存储机制:当创建一个字符串时,首先会在常量池中查找是否已经有相同的字符串被定义,其判断 ...
- 细节!重点!易错点!--面试java基础篇(一)
今天来给大家分享一下java的重点易错点部分,也是各位同学面试需要准备的,欢迎大家交流指正. 1.java中的main方法是静态方法,即方法中的代码是存储在静态存储区的. 2.任何静态代码块都会在ma ...
- 野村证券伦敦分部面试 - Java岗位
第一轮 1. 笔试 30 mins 一共六道大题,前两题有4-5个小题. 第一道大题主要是考察Java Collections: a. LinkedList和ArrayList的区别 b. Set和L ...
- java web面试技巧,数据库面试,java web轻量级开发面试教程
我最近看到一本比较好的讲java web方面面试的书,java web轻量级开发面试教程. 其中不仅用案例和视频讲述了Spring MVC,Hibernate, ORM等方面的技巧,而且还实际讲到了面 ...
- 最近面试 Java 后端开发的感受!
阅读本文大概需要 4.3 分钟. 首发:cnblogs.com/JavaArchitect/p/10011253.html 上周,密集面试了若干位Java后端候选人,工作经验在3到5年间.我的标准其实 ...
- 最近面试java后端开发的感受:如果就以平时项目经验来面试,通过估计很难——再论面试前的准备
在上周,我密集面试了若干位Java后端的候选人,工作经验在3到5年间.我的标准其实不复杂:第一能干活,第二Java基础要好,第三最好熟悉些分布式框架,我相信其它公司招初级开发时,应该也照着这个标准来面 ...
随机推荐
- SpringBoot+SpringCloud+vue+Element开发项目——搭建开发环境
1.新建一个项目
- git小结-ms
目录 1.git是什么 2.git怎么工作的 3.git常用命令 4.git提效工具 5.git的技术用语 1.git是什么 git是开源的分布式的版本控制系统,可以有效.高速地处理的项目版本管理.g ...
- hash文件-对文件进行数字签名
(一)windows自带hash命令: certutil -hashfile D:\1.exe MD5 # md5的hash值为32位certutil -hashfile ...
- react-navigation 做导航栏,发现 Android 上的标题不居中
在做 React Native 应用的时候,我们常常使用 react-navigation 做导航栏,发现 Android 上的标题不居中,IOS 上没问题. 1 如果只有标题,那就在 headerT ...
- linux 非root用户安装nginx
第一步:首先下载依赖包 下载地址 pcre(www.pcre.org),zlib(www.zlib.org),openssl(www.openssl.org) 第二步:上传那个nginx的安装包 下载 ...
- 【转】Guava cache使用总结
缓存分为本地缓存和远端缓存.常见的远端缓存有Redis,MongoDB:本地缓存一般使用map的方式保存在本地内存中.一般我们在业务中操作缓存,都会操作缓存和数据源两部分.如:put数据时,先插入DB ...
- 九.Protobuf3特殊类型
Protobuf3 Any类型 Any消息类型允许您将消息作为嵌入类型,而不需要它们 .proto定义.Any包含任意序列化的消息(字节),以及一个URL,该URL充当该消息的全局唯一标识符并解析为该 ...
- BAT文件的调用
分成2个步骤,首先生成一个bat文件,然后调用批处理文件 1.生成.bat文件 入参为文件的内容,filePath为绝对路径,且需要扩展名(这个方法不局限于生成.bat文件,也可以生成其他扩展名文件) ...
- (三)IDEA使用,功能面板
IDEA 打开界面后周围有许多的功能面板 常用的界面 1.project:项目的目录结构: 2.Structure:结构界面:在这个界面里可以看到选择的类,接口 的结构,有哪些方法,字段,等: 3. ...
- ES 基础理论 配置调优
一.简介 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作为 ...