面试总结
最近两周面试了几家公司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重复启动任务
线程池满了如何处理额外的请求
同一个对象的连个同步方法能否被两个线程同时调用
待更