-
JVM内存模型结构?
-
方法区和直接内存什么时候会oom?
-
JVM收集器G1的内存模型和CMS的内存模型有什么不同?
-
JVM调优用过吗?
-
如何查看Java内存使用情况(jconsole、命令jmap、jstack等等)?
数据库
-
Join(inner、left、right)的区别?
-
Union和union all区别?
-
ACID,具体是啥意思?
-
事务隔离级别?
-
幻读和不可重复读的区别?
-
Mysql和Mongodb有啥区别?
-
,Mysql存储引擎中索引的实现机制;
-
数据库事务的几种粒度;
-
如何解决高并发减库存问题?
-
SQL什么情况下不会使用索引?
-
行锁、表锁,乐观锁、悲观锁,区别分别是什么?
Spring
-
Bean的生命周期?
-
什么是DI、为什么DI、DI的类型(构造器注入、方法注入)?
-
Spring如何解决循环依赖问题?
-
Spring框架中IOC的原理是什么?
-
spring的依赖注入有哪几种方式
-
Spring 如何实现数据库事务?
-
Spring boot和spring的差别,tomcat如何嵌入spring boot的/spring boot中的tomcat是如何启动的?
多线程
-
线程的几种状态,请画出具体的状态流转图?
-
Java wait、sleep的区别?
-
volatile如何实现指令重排序?
-
线程池中的阻塞队列如果满了怎么办(拒绝策略)?
-
Synchronized和AQS异同,AQS公平非公平如何实现?
-
多线程里面对一个整型做加减为啥不能用volatile?
-
voliatile和synchonized有什么区别?synchonized和jdk提供的Lock包又有什么区别?
Redis
列举下你所知道的常用的Redis客户端并发模型?
-
聊下分布式缓存,一致性hash。
-
如何解决缓存单机热点问题?
-
Memcache与Redis的区别?
-
列举一个常用的消息中间件,如果消息要保序如何实现?
-
Zookeeper有哪些功能?
微服务
-
什么是微服务?
-
什么是微服务熔断?什么是服务降级?
-
微服务的优点、缺点分别是什么?
-
你所知道的微服务技术有哪些?列举1-2个案例?
-
SpringCloud和Dubbo 有哪些区别?
算法
-
如何遍历一棵二叉树?
-
二叉树宽度遍历?
-
用Java写一个冒泡排序算法?
-
描述一下链式存储结构。
-
数据结构的话,链表,树,图的基本知识得懂?
-
了解树的先序遍历,中序遍历,后序遍历。图的广度优先搜索算法,深度优先搜索算法?
HR 面
-
除了工作中经常应用到的技术,有关注、学习其它主流新技术吗?
-
离开上一家公司的原因是什么?
-
你的优、缺点分别是什么?
-
未来的职业规划?
=========================================================================
面试题目范围
面试主要考察候选人的基础知识、项目经验、技术深度,每个候选人被问到的题目及难易程度都略有不同。
一方面,要看面试官对你的第一感觉如何(还真有点像相亲),如果你能在面试前几分钟,能给面试官留下好印象,那么你在面试时得到的机会与包容,就会相对多一些。
另一方面,现场面试有60%-80%的题目,可能就出自于你的简历,面试官会依据你简历上提到的知识、经验、项目,去深挖你的技能掌握程度。因此,真的是切记:慎用精通,慎用精通,慎用精通。如果你只是接触、了解某个技术的皮毛,就在简历中说自己精通,保证你会被虐得很惨,最终反而得不偿失。
认真对待每一场面试
如果没有准备充分就去参加面试,既浪费彼此时间,也是浪费来之不易的机会,要知道得到好公司的面试机会不易,机会都是给有准备人的。我始终相信:当下所付出的每一分努力与坚持,都会在未来的某一天,得到丰厚的回馈。
构建50万年薪技能框架+68个BAT面试高频必考点,有需要的朋友可以点这里**)免费获取!
面试结束复盘查漏补缺
每次面试都是检验自己知识与技术实力的一次机会,面试结束后建议大家及时总结复盘,查漏补缺,然后有针对性地进行学习,既能提高下一场面试的成功概率,还能增加自己的技术知识栈储备,可谓是一举两得。
以上,是我在面试过程中所遇到的题目,以及积累到的经验,全部分享给大家。
如果觉得有用,谢谢点赞支持下。
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!**
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!