面试总结
最近两周面试了几家公司Java高级工程师的职位,主要有宜信、网信金融、阿里高德、口袋购物。目前有部分公司已经面试通过,两家在等消息。今天趁热把常见面试内容总结一下。
###Java基础 Hashtable和HashMap的区别。
抽象类与接口的区别。
final关键字的使用和区别。
异常分类和处理机制。
JDK版本区别。
StringBuilder内部实现机制。
反射机制的使用。
匿名内部类的使用。
泛型的概念和使用。
弱引用和虚引用的概念和使用方式。
###开源框架 SpringMVC和Struts2的区别
Spring IOC和AOP的概念以及实现方式
Spring事务的管理
Hibernate与MyBatis的比较
Hibernate延迟加载的机制
###JVM虚拟机 GC算法有哪些
垃圾回收器有哪些
如何调优JVM
###缓存和NoSQL 缓存的使用场景
缓存命中率的计算
Memcache与Redis的比较
如何实现Redis的分片
MongoDB的特点
###分布式 zookeeper的用途
dubbo的用途以及优点
dubbo的实现原理
###数据结构和算法 单向链表的逆序排列
双向链表的操作
1亿个整数的倒序输出
找出给定字符串中最长回文(回文:abcdcba,两端对称)
###网络编程 Get和Post的区别
Https协议的实现
长连接的管理
Socket的基本方法
###数据库 inner join和left join的区别
复杂SQL语句
数据库优化方式
数据库拆分方式
如何保证不同数据结构的数据一致性
###安全 什么是XSS攻击,具体如何实现?
开放问题:如何保障系统安全?
###设计模式 写出一个设计模式的类图
设计模式的意义是什么
写个单例模式的代码
###多线程 如何避免Quartz重复启动任务
线程池满了如何处理额外的请求
同一个对象的连个同步方法能否被两个线程同时调用