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基础要好,第三最好熟悉些分布式框架,我相信其它公司招初级开发时,应该也照着这个标准来面 ...
随机推荐
- Redis持久化小结
RDB RDB持久化方式是通过快照(snapshotting)完成的,当符合一定条件时,Redis将内存中所有数据以二进制方式生成一份副本并存储在硬盘上. 触发机制 save命令:阻塞当前Redis服 ...
- MySQL Replication--修复从库上单个数据库的数据
问题描述 由于运维失误,从库未及时设置read_only,导致从库上某库数据被修改,由于整个实例数据量较大,重做成本较高,而该数据库数据较少,因此考虑如何修复该数据库的数据. 操作前提 1.复制使用位 ...
- com.mysql.jdbc.Driver not loaded. Are you sure you've included the correct jdbc driver in :jdbc_driver_library?
把对应的jdbc jar包放到 /usr/share/logstash/logstash-core/lib/jars/路径 下即可.可以在配置文件不用配置驱动库.
- JVM的深入理解:由一次Quartz的定时任务引发的“A cannot cast to A”的问题
由Quartz框架引发的“A cannot cast to A”的问题 起因与问题描述 向新开的项目中添加定时任务,部署集群,添加了热加载(springboot-dev-tools),发现在转型时候出 ...
- mysql in条件查询到底会不会用到索引
MySQL 的 in 查询在 5.5 以上的版本中存储引擎都是 innodb 的,正常情况下会走索引的!至于 MyISAM 没试过! 如果是 5.5 之前的版本确实不会走索引的,在 5.5 之后的版本 ...
- 移动App性能评测与优化-Android内存测试 ,DVM原理
常见的测试方法包括Monkey/UIAutomator类的常规压力测试,大数据/操作的峰值压力测试,长时间运行的稳定性测试等. 前提: 测试准备:版本是纯净版本,不应该附加多余的log和调试用组件. ...
- sitemap怎么制作才适合蜘蛛抓取?
网站sitemap制作格式与要求 1.sitemap格式说明 <?xml version="1.0" encoding="utf-8"?> < ...
- maven 项目打包配置(build节点)
参考博客:https://www.cnblogs.com/Binhua-Liu/p/5604841.html maven-assembly-plugin的使用 : https://www.cnblog ...
- ORACLE11g:No Dialect mapping for JDBC type: -9解决方案
问题来源: 某个zhizhang同事不干活 好不容易干了个活 改了个字段长度,从varchar2(50) 改成了nvarchar(100) 结果因为方言问题,程序起不来了 字段类型也改不回来了 nnd ...
- myeclipse常用快捷键和小技巧
常用快捷键: Ctrl + Shift + R 在整个项目中查找文件 Ctrl + H 查找文件,可以限定文件中包含的内容 Ctrl + Shift + G 查找一个方法在哪里被调用 Ctrl + O ...