Java开发5年经验面试碰壁咋整
在北京,前三年在一家小的软件公司做了一些后台业务系统,后来去文思海辉做外包,派到一个保险公司,投资理财相关的一个部门,刚起步,准备做互联网金融这块。一年半的时间,做了一个电商网站在线卖理财产品,整个前台网站的服务端代码以及大量js都是我独立开发的,还独立做了该部门的官网,虽然不卖理财产品但也有一些关于产品的预约功能和其他功能,还做了一些后台系统,整体框架也是我搭建的,有struts2+spring+hibernate的,有struts2+spring+mybatis的,有springmvc+spring+mybatis的,maven构建,配置完善,提取了通用类,编写了通用方法、工具类,有的还写了代码生成工具,可以说在现在这个项目组我俨然就是个技术专家。工作已经快5年了,薪水还是10k以下,以前只面试过两家公司,面试过了就上班了,这次听说原来技术不咋样的同事面试都到了15k,而且我在这边工作期间也有其他外包公司想15k挖我过去,我没同意,我想跳个槽换个有点知名度的互联网公司,工资能涨到15k。上周一晚上完善好了简历,刷新了,第二天就有10几个面试电话,我推掉了很多,只留下3家,分别约了周三周四周五。第一家是和信贷,不知道大家听过没,是做互联网金融的。我周三上午提了离职,下午去面试,在世贸大厦,面试官开始让我谈了谈项目,我谈了一些,每谈一个,他就会问,就这些?没了吗?然后我最后说我还做了个电商系统,整个网站的服务端代码都是我开发的,这个系统主要是卖理财产品,一个理财产品可以多个人买之类的,包括调用支付接口之类的云云。他说就这些?那借款人怎么操作呢?我说这个……是线下的。他说那债权怎么做的,债权转让什么的。我说这个……不能转让,真转让也是线下处理。他说那你这个买完了就没啦?我说就没什么了,就等时间到了跑后台的回款任务了。他说那你们这个怎么解决重复付款的问题,我说我写了个同步方法。他说就写个synchronized就完了?那要是两台服务器呢?我说两台服务器我们是用一个主服务器写了同步方法,其他服务器都调用那个。他说就这样?那1000个人同时访问还不慢死?我说我们这边的互联网金融刚起步,没什么流量,只想到了这种方法。他说那你能想到别的方法吗,我当时想了半天也没想出来……后来他又问我你对jdk的一些常用类库有没有了解,我说这个……多多少少了解一些,比如集合类啊什么的。他说那就问你集合类,你说ArrayList和LinkedList有什么不同,我说一个是线性表,一个是链表。他说那HashMap呢,我说是Set+内部类。他说那ArrayList怎么扩容,会扩大多少?哎,这个我当时弄了半天完全没答出来,直到后来读了ArrayList源码才明白ArrayList的扩容机制。后来他又问我对那些框架的运行原理知道不知道,哎,我承认我准备不充分,了解还是了解一些的,但真的没有背过struts2,spring的运行机制之类的。我就说多多少少了解一些,但大部分都只是使用。他说只是用那随便拉个人都会。后来他又问了我一个数据库锁的问题,我也没答出来……最后的最后,面试了大概45分钟左右,他问我那你有没有什么想问的。我还傻X似的问人家面试能不能过,他说这个现在还回答不了。哎,后来的两家面试我直接就没去,其中还有个恒生电子的,这么好的机会,可惜我觉得我还没准备好。那几天接了40多个面试电话,有一部分的互联网金融公司,有一些还会问有没有高并发开发的经验,我想到以我这经历,虽然也是做了点互联网金融相关的东西,但那些项目实在不怎么拿得出手啊。大家说咋办啊,我已经提了离职,我考虑是不是在家闭关3个月,读一些jdk源码和spring源码,了解一些高并发的设计,巩固一下高并发数据库的设计和一些优化手段之类的比较好?