1基础
比如对集合类、并发包、类加载、IO/NIO、JVM、内存模型、泛型、异常、反射等有深入了解,看过源码了解底层的设计。
一般面试都会问 Concurrent HashMap、CopyOn Write、线程池、CAS、AQS、虚拟机优化等知识点,因为这些对互联网的企业是重要的。
2全面的互联网技术相关知识
从底层说起,你起码得深入了解 mysql、redis、nginx、tomcat、rpc、jms 等方面的知识。
你要问需要了解到什么程度,首先对于MySQL,你要知道常见的参数设置、存储引擎怎么去选择,还需要了解常见的索引引擎,知道怎么去选择。知道怎么去设计表,怎么优化sql,怎么根据执行计划去调优。
高级的你需要去做分库分表的设计和优化,一般互联网企业的数据库都是读写分离,还会垂直与水平拆分,所以这个也有经验的成分在里面。
然后 redis 几乎是必须的技能,而 nginx 和 tomcat 几乎都是Java互联网方面必配。至于 rpc 相关的就更多了,必须各种网络协议、序列化技术、SOA等等,你要有一个深入的理解。
现在应用比较广的 rpc 框架,在国内就是 dubbo 了,开源的还有 spring cloud 相关技术栈,可以自行搜索。
至于 jms 相关的起码得了解原理吧,一般情况下不是专门开发中间件系统和支撑系统的不需要了解太多细节,国内企业常用的主要是 activeMQ 和 kafka 。
3编程能力 编程思想 算法能力 架构能力
首先2W程序员对算法的要求还是比较低,再高级也多红黑树吧,但是排序和查询的基本算法得会。
编程思想是必须的,问你个 AOP 和 IOC 你起码得清清楚楚,设计模式不说每种都用过,但也能了解个几种。
编程能力不好去评价,但是拿一个2000W用户根据姓名年龄排序这种题目也能信手拈来。
架构能力,这种不是说要你设计个多牛逼多高并发的系统,起码让你做一个秒杀系统,得有一个明确的思路和方向。
以上就是科迅教育说的2w水准,如果你运气好,面试表现好,3w 也有可能哦~
科迅教育Java培训匹配企业需求,为你的高薪就业打好基础。更有免费试听课,讲师亲授,帮你了解编程,**入门。学习地址:地址:南通市人民中路23-6号新亚大厦三楼