本人在参与百度,阿里,拼多多,饿了么,大众点评,京东等一线互联网公司面试过程中,抽取出这些公司Java面试过程中提出的共性面试题并作汇总:
答案后期整理
java基础
1.整数数组按照绝对值排序
2.ConcurrentHashMap的数据结构
3.IO 和NIO的区别
4.内存管理机制,如何回收过期对象,判断依据,内存溢出场景,如何排查
5.equals和==的区别
6.final ,finally, finalize
7.常用的集合类有哪些?区别是什么?HashMap和HashTable的区别,那些事线程安全的哪些不是?
8.Object中常见的方法
9.java中的异常体系,异常出现的情况如:ClassNotFound、空指针等。
10.Jvm的内存模型是怎么样的?应用突然变得很慢,如何定位?
11.java的异常类层次结构
12.对jdk8新特征有什么了解?
13.java的类加载机制
14.原子类的实现
15.Error,Exception和RuntimeException的区别,作用又是什么?在此我向大家推荐一个架构学习交流圈。交流学习伪鑫:1253431195(里面有大量的面试题及答案)里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化、分布式架构等这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多
16.sleep()和wait()区别是什么?
数据库&事务
1.什么样的场景会产生数据库死锁,如何解决?
2.SQL如何优化
3.Oracle和mysql分页的实现原理
4.唯一索引能否插入空
5.数据库索引的算法原理
6.乐观锁,悲观锁
7.SQL怎样判断字段是否为空
WEB
1.post和get区别是什么?
2.cookie/session有什么区别?
3.web集群中登录态如何共享?
4.xss、csrf等如何防范?
5.sql注入如何防范?
6.浏览器缓存策略
7.Ajax如何解决跨域问题?
框架
1.Spring的AOP和IOC原理,类内部调用是否会触发AOP的逻辑?为什么?
2.Spring的事务传播属性或数据库的事务隔离级别,实现原理。
3.velocity如何避免引用空属性的报错?
4.Spring的单例和原型怎么配置,还用过其它什么scope?
5.log4j或者logback的日记记录文件在哪里?(来访问题,怎么确定日志打到哪里了)
工具
1.maven中怎么排除包冲突
2.IDEA合并代码怎么做?
分布式
1.如何实现分布式锁
2.分布式Session怎样实现
3.如何消除分布式事务
4.MetaQ,Zookeeper的原理和适用场景
5.Redis3.0的分布式集群架构
高并发
1.原子计数器AtomicInteger的技术实现
2.volatile的内存模型
3.接口服务如何防止重复调用
4.自己使用过的多线程场景是什么?线程安全如何保证?java的并发框架是否用过?线程池是否用过?RejectedExecutionHandler是否知道?
设计
1.对设计模式的了解,在项目中的实际应用。
2.排序算法描述
3.在项目中是否采用分层的结构,是怎样划分的,各层之间采用了哪些相关技术?