2021年面试大盘点!金三银四Java春招面试高频考点总结,附答案!

写在前面:

  • 算是对自己最近经历的一些面试的小小总结吧,小张要继续加油呀 🤣 🤣
  • 项目:
  • 介绍项目的背景、架构、功能、目前完成的情况、部署方案?
  • 项目实现过程中的难点以及如何解决的?
  • 哪个项目收获更大?
  • 为什么用xx框架/技术来实现?
  • 在项目中主要承担了哪些工作?
  • 如果你的项目中服务端同时有大量请求,如何处理?


下面为大家整理了金三银四java春招高频考点总结以及我总结的答案,希望对大家有帮助!

Java基础:

  • String、StringBuffer、StringBuilder的区别?
  • JDK1.7和JDK1.8有哪些区别?
  • Java中有哪些常用的容器类?
  • HashMap底层是如何实现的?JDK1.8和JDK1.7的HashMap的实现有哪些区别?
  • HashMap扩容为什么都要扩展为原来的2倍?
  • 高并发情况下使用HashMap会出现哪些问题?如何解决?
  • JDK1.7中ConcurrentHashMap的底层结构?
  • JDK1.8对ConcurrentHashMap做了哪些改进?
  • JDK1.8中ConcurrentHashMap保证并发安全的原理?
  • ArrayList和LinkedList的区别?
  • LinkedList的底层数据结构?插入删除元素的时空复杂度分析?
  • ArrayList的扩容机制?
  • 什么是Fast-fail?
  • 什么是序列化?如何实现序列化?
  • transient关键字的作用?
  • Java中有哪些IO流?字节流和字符流如何进行转换?
  • Java的反射机制?为什么需要反射?反射主要用于哪些场景?
  • 使用反射创建实例和new一个对象的区别?
  • 讲一下线程池的作用?为什么需要线程池?创建线程为什么比较耗时?线程池的核心参数有哪些?线程池中创建一个线程的时机?


Java并发:

  • Java中如何创建一个线程?实现Collable接口和实现Runnable的区别?
  • 创建一个线程时,会在哪些区域分配空间?
  • Java中线程间通信的方式有哪些?
  • 保证线程同步的机制有哪些?
  • 什么是ThreadLocal?实现原理?
  • 什么是AQS?AQS有什么作用?常见的基于AQS的组件有哪些?
  • java的内存模型?
  • 指令重排序是什么?
  • happens-before规则是什么?作用?有哪些规则?
  • volatile关键字的作用?实现原理?
  • 什么是synchronized?实现原理?
  • synchronized可以修饰哪些内容,分别锁定的是什么?
  • JDK1.6后synchronized关键字底层做了哪些优化?
  • 如何基于双重检查锁实现单例模式?volatile关键字的作用?为什么要两次加锁?


JVM:

  • 运行时数据分区:
  • JVM将数据区域划分为哪些部分,分别存储哪些内容?
  • 哪些区域是线程私有的,哪些是线程公有的?
  • 什么是TLAB?作用?
  • 垃圾回收机制:
  • JVM运行时数据分区有哪些?分别存储哪些内容?有什么特点?
  • 垃圾回收主要回收哪些区域?
  • 如何判断一个对象是否可回收?
  • 可达性分析后发现一个对象不在引用链上,那它一定会被回收吗?
  • 垃圾回收算法有哪些?
  • 常用的垃圾回收器有哪些?
  • G1回收器采用了什么样的回收算法?
  • 什么时候会触发Full GC?
  • 服务器运行过程中频繁发生Full GC,可能存在哪些问题?如何排查?
  • 类加载机制:
  • 自定义一个String类,可以被加载到吗?为什么?
  • 什么是双亲委派机制?
  • 如果想要加载到自定义的String类,应该怎么做?(如何打破双亲委派机制?)
  • 哪些情况会触发类的初始化?
  • 类加载的过程?
  • 什么情况下两个类是相等的?


MySQL:

  • SQL执行过程、性能分析:
  • MySQL包括哪些组件?(连接器、查询缓存、分析器、优化器、执行器)(Server层+存储引擎)
  • 为什么不推荐使用查询缓存功能?为什么MySQL 8.0版本删除了查询缓存?
  • 查询sql语句的执行过程?
  • 更新sql语句的执行过程?
  • 什么是crash-safe?
  • MySQL实现crash-safe的原理?(binlog、redolog、undolog、WAL机制、两阶段提交)
  • 更新SQL语句执行流程中,总共需要写3个日志,这3个是不是都需要,能不能进行简化?
  • 两阶段提交的方式会存在什么问题?解决方法?
  • 什么是组提交?用于解决什么问题?
  • 假设事务提交过程中,MySQL进程突然奔溃,重启后是怎么保证数据不丢失的?
  • 如何查看SQL的执行情况?(执行计划、explain指令)
  • 如何在MySQL中查找效率慢的SQL语句呢?(慢查询日志)

死锁:

  • MySQL的InnoDB存储引擎支持哪些类型的锁?
  • 什么是死锁?MySQL中哪些情况下会发生死锁?
  • 如何解决死锁?(超时等待、wait-for graph)
  • 如何避免死锁的发生?
  • 如何检查是否发生了死锁?(死锁日志)

索引机制:

  • InnoDB存储引擎的索引机制底层采用了什么结构?
  • B+树的特点有哪些?
  • Hash索引和B+索引对比分析?
  • 添加索引时需要注意什么?什么情况下不适合添加索引?
  • 使用索引一定能够提高查询的性能吗?为什么?
  • 什么是最左前缀原则?

事务机制:

什么是事务?事务的特性?
事务的隔离级别有哪几种?
并发事务会带来哪些问题?不同的隔离级别分别可以避免哪些问题的发生?
幻读发生时的情形?
MySQL默认的事务级别是什么?可以避免哪些问题?
事务回滚在MySQL中是如何实现的?
MyISAM和InnoDB存储引擎有哪些区别?


计网:

  • TCP/UDP:
  • TCP和UDP的特点?
  • TCP三次握手的过程?
  • 四次挥手的过程?
  • 为什么需要三次握手?
  • 三次握手如果每次对方都没有收到会怎么样?分情况介绍。
  • 为什么连接的时候是三次握手,关闭的时候却是四次握手?
  • 挥手时客户端为什么最后还要等待2MSL?
  • 如果已经建立了连接,但是客户端突然出现故障了怎么办?(保活计时器)
  • TCP依靠哪些机制来保证可靠传输?
  • 数据分块传输
  • 数据包校验
  • 失序数据包重排序
  • 应答机制
  • 流量控制:滑动窗口机制(接收窗口)
  • 拥塞控制:慢开始、拥塞避免、快重传、快恢复(拥塞窗口)
  • 超时重传
  • 使用UDP时如果想要保证可靠性,可以如何实现?
  • TCP和UDP分别对应的应用层协议有哪些?
  • HTTP/HTTPS:
  • 如何理解HTTP协议是无状态的?HTTP如何保存用户状态?
  • Cookie的作用是什么?和Session有什么区别?
  • HTTP和HTTPS的区别?(安全性、资源消耗、端口等)
  • HTTPS的工作原理?
  • HTTP的常见状态码有哪些?分别表示什么?
  • OSI七层体系结构每一层的作用?以及每层常见的协议。
  • 浏览器输入URL回车后发生了什么?


操作系统:

  • 进程间通信的方式有哪些?基本原理?
  • 管道/匿名管道:
  • 有名管道:
  • 信号
  • 消息队列
  • 信号量
  • 共享内存
  • 套接字
  • 进程调度算法有哪些?
  • 死锁:
  • 什么是死锁?死锁产生的原因?死锁产生的必要条件?(互斥、不可剥夺、请求与保持、循环等待)
  • 死锁的处理基本策略和常用方法?
  • 页面置换算法有哪些?


Spring全家桶:

  • Spring和SpringBoot有什么区别吗?为什么需要SpringBoot?
  • 什么是MVC?SpringMVC处理请求的流程?
  • Spring中AOP的实现的方式有哪些?
  • Cglib和JDK动态代理的区别?
  • Spring运行过程中如何旋转使用的代理?
  • Spring中IoC的实现原理?
  • 单例Bean是并发安全的吗?为什么?
  • Spring中事务是如何实现的?
  • Spring中Controller是单例还是多例?如何保证并发的安全?


其他:

  • 排序算法:时空复杂度、实现原理?
  • 什么是分布式一致性算法?Raft算法的原理?
  • 一致性哈希算法?
  • HDFS的架构,读写流程?如果一个DataNode挂掉了怎么办?NameNode挂掉怎么办?如何容灾?
  • 什么是RPC?实现一个RPC框架主要需要考虑哪些方面?
  • and so on......
  • (至少要十分熟悉两三个框架/组件,可以是项目中用到的,也可以是目前比较主流的,比如Redis、Netty、Hadoop、RPC框架等)


最后

只有技术过硬,在哪儿都不愁就业,“万般带不去,唯有业随身”学习本来就不是在课堂那几年说了算,而是在人生的旅途中不间断的事情。
人生短暂,别稀里糊涂的活一辈子,不要将就。
文章内容中涉及到的Java面试题、源码文档,技术笔记等学习资料,均可以免费分享给大家学习,只需你动动手多多支持即可!
有需要的朋友欢迎关注公众号:前程有光,回复资料领取!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,014评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,796评论 3 386
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,484评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,830评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,946评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,114评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,182评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,927评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,369评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,678评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,832评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,533评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,166评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,885评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,128评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,659评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,738评论 2 351

推荐阅读更多精彩内容