常用的RPC框架
nio和io
并发编程,设计模式
地图组件?
hashmap有什么漏洞会导致他变慢?
如何给hashmap的key对象设计他的hashcode?
泛型通配符?在什么情况下使用?
后端方面:redis?分布式框架dubbo(阿里巴巴开源框架)?设计模式?
场景式的问题:秒杀,能列出常见的排队、验证码、库存扣减方式对系统高并发的影响?
能根据实际的需要构建缓存结构提高提高网站的访问速度,熟练使用ehcache、oscache,了解memcache。
了解基于dns轮询的负载均衡,熟练配置web服务器实现负载均衡,程序级能综合使用基于hash或取模等手段实现软负载。
熟悉分布式数据库设计和优化技术,熟练使用mysql、oracle、SqlServer等主流数据库,熟悉hadoop hbase mangodb redis ehcache、oscache memcache。对于大数据量的数据库处理采用分表分库、数据库读写分离、建立缓存等手段优化性能。
熟练掌握lucene,能基于lucene开发大型的搜索引擎,并能用lucene来改善和优化数据库的like查询。
JAVA方向技术考察点(补充):
-
掌握Java编程语言,包含io/nio/socket/multi threads/collection/concurrency等功能的使用;
-
熟练掌握jvm(sun hotspot和ibm j9)内存模型、gc垃圾回收调优等技能;
-
精通JVM,JMM,MVC架构,熟练使用struts2。
-
熟练使用spring、struts、ibatis构建应用系统。
-
熟练使用Servlet,jsp,freemark等前端技术。
-
熟练使用axis搭建基于SOAP协议的WebService服务接口。
-
熟练使用MAVEN构建项目工程。
-
熟练使用tomcat等web服务。
-
熟练使用mysql等关系型数据库,熟悉mysql集群搭建。
-
熟练使用redis等NOSQL技术。
-
熟悉tcp、http协议。
-
熟悉nginx、haproxy等配置。
-
熟悉javascript、ajax等技术。
-
熟悉主流分布式文件系统FastDFS等。
-
熟悉JMS,可熟练使用ActiveMQ。
Java技术Leader要求能够对于项目本身知其然知其所以然,不仅技术功力深还要业务能力强有很好的idea和业务sense,并且对技术充满兴趣和渴望,千万不要面试官问一个问题答一个,呆板的表情完全看不出任何自己的想法。
面试中描述你做的每一个项目:你做了什么工作?这些工作你解决了什么问题?还有什么困难没有解决?这些困难在后续如何优化?优化后可以实现什么功能?这些功能如何和中间件和分布式并行系统联系在一起??Java中间件方向消息的传输方式mq长连接短连接
Java 虚拟机有什么优化?
底层计算机理解内存管理/数据挖掘系统</