这段时间帮助公司进行技术人员的面试,对出过的一些面试题进行了一些整理,希望对面试java中高级以上岗位的人有一些帮助,同时也做了一些总结和建议。
java基础
集合相关
java中常见的集合
arraylist和linkedlist区别
Vector和ArrayList区别
HashMap与TreeMap区别
HashTable与HashMap区别
线程相关
线程启动方式哪几种?
多线程中start()和run()区别
有没有用过JUC下面的工具类(如果有的话会再问问相关)
以前在整理的时候上传了自己编写的相关多线程的案例和代码,大家有兴趣的可以进行参考和查阅
git地址:https://github.com/pengziliu/threadTest
框架相关
Spring面试题
聊一下Spring中的IOC和AOP
Spring IOC初始化过程
日常工作中使用过Spring AOP的场景
Spring中管理的bean是单例还是多例的,是线程安全的吗?为什么?抛开框架,单例一定是线程安全的么?怎么实现线程安全的单例
说说Spring的事物处理以及隔离级别
在Spring框架中设计和实现一个用户操作日志
mybatis面试题
mybatis优点和缺点
mybatis如何实现关联表查询
怎么实现分页
用过mybatis的哪些开源插件
JVM
类的实例化顺序
java内存模型
jvm内存模型和理解
内存溢出常见的哪几种?导致溢出的常见场景、用过哪些分析工具排查
其他
mysql分组查询怎么实现
mysql事务隔离级别哪几种?默认的是什么
mysql建表 外键软关联和硬关联的好处和坏处
项目在集群部署情况下用户session怎么处理的
有秒杀项目的会问秒杀系统设计、如何避免超卖、如果避免一个用户多次秒杀
springboot用过的话会问SpringBoot项目加入mongodb依赖包不写配置文件启动会不会报错?为什么?怎么解决(仅解决报错)
用过哪些权限框架或者怎么设计一个权限框架
用过哪些框架中间件
浅谈Java中的深拷贝和浅拷贝
总结
在面试过程中以上这些题目是针对面试者随机出的,如果提出的问题大部分都答不上来的话还会问些稍微简单的缓解下压力,这些简单的没有在文章中体现出来,甚至JVM的题目只是心血来潮补充的,暂时还没问过,因为面试对象是中高级,增删改查确实也没什么好问的,再者,面试官大部分一般是根据你简历上写的技术栈来进行提问,再综合团队的技术要求综合评定,毕竟我也反感面试造航母工作拧螺丝这样的情况,在面试过程中发现近几年待在外包公司的答题正确率较差,所以建议不管你身处何种环境,有时间就尽量提高自己,给自己增值,技术人员需要不断的学习,才能升职加薪,赢取白富美,走向人生巅峰!如果你觉得本文对你有所帮助,帮忙分享给更多人~
最后说一句,作为技术人,咱们不要求造航母,但也不要一直拧螺丝,做好本职工作的同时,作好技术储备,总不会错!
推荐阅读