我给出的一份Java服务器端面试题-适合电话面试
这部分内容,参考了《面试官的七种武器》一文。 电面与face2face的面试还是有区别的,很多考察方式无法使用。
从简历聊起,逐渐进入正题。
Java语法
重载与重写的区别?
java如何实现多态?
StringBuilder StringBuffer区别?
Nested Class相关概念?
Inner Class, Static Nested Class的使用?
如何在outer world中new一个nested class?
1 public class Outer { 2 3 public class Inner { 4 5 } 6 } 7 8 9 public class Tester { 10 public static void main() { 11 Outer outer = new Outer(); 12 Inner inner = outer.new Inner(); 13 } 14 }
final finally finalized关键字的区别?
static关键字都有哪些使用场景(static方法必须,说出static block及格,说出import static会加分)。
初始化块?
lib
jdk中常见的framework,比如IO
Collection:
HashMap
juc并发框架:
ConcurrentHashMap的实现原理
volatile\sychronized关键字的使用
你常用的并发容器? BlockingQueue的实现ABQ和LBQ的区别?
显式锁与内置锁的区别?
AQS?
原子操作?
对于Spring来说,要重点掌握IOC和AOP的实现原理,其中AOP要知道动态Proxy和CGLIB两种实现方式。
对于ORM框架,要重点掌握MyBatis和Hibernate的实现原理和不同点。
JVM
JVM的运行时内存区域如何划分?
JVM内存模型
GC机制: GC: hotspot系列虚拟机有哪些常用的GC算法?
JVM的性能调优
类加载机制 双亲委派机制
JIT技术,为什么Oracle的Java虚拟机叫做HotSpot?
手写代码
二分查找,快排的思想、时间复杂度分析等等
单链表的反转、判断单链表是否相交
反转二叉树、二叉树的层级遍历 如何使用队列来模拟栈的操作?
手写生产者消费者原型,手写单例模式
设计模式
单例(线程安全的单例?在Java中双重检查加锁为什么会失效?)
你使用过的设计模式有哪些? 什么是策略模式?
Java开发中的其他环节
常见的Web服务器有哪些?
Nignx与Apache的原理及不同
了解过哪些开源框架?
myBatis 与Hibernate相比,主要优势是?
Spring框架的主要特性是?(AOP和IOC)。
Redis持久化有哪些方式?
什么是一致性Hash?
什么是数据库事务,如何实现数据库事务? 如何实现分布式事务?
SQL性能优化方法:select * from table1; 如果有上百万条记录,如何优化? 覆盖索引。
做没做过运维? ps iostat netstat vmstat之类的命令如何使用,等。JVM监控主要是如何获得java core和heap dump,以及如何分析他们,另外一些简单监控命令如jstack和jmap jhat等也要了解。
系统架构设计
如何设计电商秒杀系统?描述如何从各个环节,减少服务器的压力?
其他
项目中最大的挑战? 如何解决的?
非技术
薪资?加班? 职业规划?
参考文献:
http://www.cnblogs.com/lanxuezaipiao/p/3371224.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?