前言
致那些迷茫的JAVA面试者(特别是南京的1-4年经验),致那些奋发的年轻人,致自己。写这篇文章主要也是对我的成长道路的记录,面试受挫后的反思,及对自己的勉励。
本人介绍:5年多经验的程序员,坐标南京。
背景:因水平有限,及对部分面试问题记忆及理解有限,可能有些问题并不能表达准确。掌握技术有限,学习主动性一般(虽遇到问题善于思考钻研,但如果没有遇到问题比较放纵自己...被自由,轻松,安逸迷失心智),以及原公司项目背景因素,基本不需要太多新的技术框架支持,更没有涉及消息中间件,高并发分布式等等相关较主流技术,技术体系相对较老。综上导致我对很多新技术并不是太了解。
面试经验背景:基本公司都是按简历掌握技术来问(当然也有超纲不按套路出牌的),如果你简历掌握技术什么都不写,也有可能接到面试邀请,那么面试官问题可能就比较广了,对面试者不利。掌握技术我写了java基础:多线程,io/nio,jvm,集合底层,tcp/ip协议,socket,websocket。spring,springmvc,xml,设计模式,eclipse plugin开发,数据库,前端(基本没有什么人问,面的后端开发,也许熟悉前端也是加分项)了解netty、mybatis、redis(实际就是看了一点点).
项目经验背景:
1.原公司我所在的部门做的是一款大型工具,web项目。项目周期很长很长,至今还在做,具体不细说,技术上就用了上述我写的部分技术(未涉及redis、netty、mybatis、springmvc),作为项目经历,该项目竞争力不强。
2.朋友找我做的私活项目,只接触了一个星期左右,朋友就跟接活人闹崩了,然后不了了之。但是我还是把项目写进项目经验了(投递的时候写,自带的纸质简历就把它去掉,以防面试官问到我一脸懵逼...机智如我,当然也有公司不需要你的自带简历,那就没办法,他问到的话我就忽悠,坦白)。实际就是个特别小的项目,用到的技术springmvc,mybatis,redis,activemq,阿里云对象存储等等。这个项目我只稍微了解了一点点springmvc,mybatis,redis最最基本的用法,可以说没啥用。
面试经历(具体录用薪资我就不说明了,只说我对薪资+公司福利满意度。
面试中项目介绍必定要说的,以及项目中的细节问题,这些不细说了。只说技术问题)
按时间先后排序(时间越远遗忘的问题可能越多。很多重复的,将就看吧)
1.小公司
名字忘了。时间久远,只记得有多线程,线程池拒绝策略,jvm调优,tomcat调优,消息中间件,分布式,集群,zookeeper,微服务。sql左连接右连接区别,存储过程。linux。基本全程懵逼,(因为第一次面试,简历技术什么都没写,这货敞开了问)。最后竟然通知我面试通过。
难度-难
公司环境-不满意
薪资福利-不满意
工作内容-不满意(忽悠我刚开始写逻辑代码,以后可能会做微服务,大数据,基本不加班,我是不信的)。
2.软通动力(华为外包)
stringbuffer和stringbuild区别,stringbuild线程不安全体现在哪,你对线程安不安全怎么理解(这个问题发挥空间很大,关键词:全局变量、JVM运行时数据区、可见性、原子性、锁、甚至可以说到多核cpu硬件层面(我是不会的)),arraylist和linkedlist区别,spring ioc,aop作用,原理。springmvc执行流程(这种问题最扯淡),hashmap原理(问的很浅,底层结构,答数组+链表/红黑树。他就没问了),hashmap,hashtable,concurrentHashMap(大致基本说下,他就不问了),hashmap遍历。对大数据有关技术了解多少(答:了解一点,听过hadoop)。其它忘了,总体难度不大。写代码:字符串分割排序(split+冒泡))。
难度-简单
薪资福利- 一般
工作内容-不满意(外包你懂的。有关大数据方面的(这点还可以),更多的是数据清洗)
3.鸿信集团(电信子公司)
一个年纪比较大的面试官,像管理层人员,感觉技术水平有限。基本就问了项目,spring的理解,activemq,没了。笔试,扯淡的笔试题,写了一点走人了。公司整体给人的感觉比较自由松散,适合养老。感觉技术上没有发展空间。
面试建议-别去
4.苏宁
我前后面了4次(因为住的地方就靠着苏宁,没事就顺便去面试打发时间,4个部门,通过了3个)。写一起。
苏宁金服:问的项目业务,公司业务模块(无从下口),为什么要用