金三银四,二月就要准备!
前言
只有光头才能变强。
文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y
大家都知道金三银四这么一个道理,跳槽前都要提前准备,所以二月就应该开始复习啦!
这篇文章主要对我发过的文章进行整理,归纳一些我认为面试可能会考到的知识点,希望对大家有所帮助。
校园春招也陆续开启了,再次提醒:如果是大三的同学,我在这里强烈建议去准备(体验)春招实习生。(大四的当然就不用说啦)
一、Java
1.1Java集合
Java集合是必考的,建议阅读常见集合类的源码(挑重要的方法来看)
Collection总览
List集合就这么简单【源码剖析】
Map集合、散列表、红黑树介绍
HashMap就是这么简单【源码剖析】
LinkedHashMap就这么简单【源码剖析】
TreeMap就这么简单【源码剖析】
ConcurrentHashMap基于JDK1.8源码剖析
Set集合就这么简单!
Java集合总结【面试题+脑图】,将知识点一网打尽!
CopyOnWriteArrayList你都不知道,怎么拿offer?
1.2Java多线程
Java多线程也是必考的,其实我记录过我曾经真实遇见过的多线程面试题,这里给大家分享一下。
多线程了解多少啊?使用多线程会有什么问题?你是怎么理解“线程安全”的?
如果我现在想要某个操作等待线程结束之后才执行,有什么方法可以实现?为什么要用CountDownLatch?CountDownLatch的底层是什么?(引出AQS)
synchronized关键字来说一下,它的用途是什么?synchronized底层的原理是什么?
线程安全的容器有哪些?(着重于ConcurrentHashMap、CopyWriteOnArrayList与其他非线程安全容器的区别以及它们的具体实现)
ThreadLocal你了解过吗?主要是用来干什么的?具体的源码实现原理来说一下吧
产生死锁的条件是什么?我们可以如何避免死锁?(可延伸到操作系统层面上的死锁)
synchronized锁和ReentrantLock锁有什么区别呀?
线程池你应该也看过吧,来说说为什么要用线程池。JDK默认实现了几个线程池,分别有xxx(自然地ThreadPoolExecutor构造函数的常用几个参数你也得一起说出来)
。。。还有其他等等
对应的博客文章有:
多线程三分钟就可以入个门了!
Thread源码剖析
多线程基础必要知识点!看了学习多线程事半功倍
Java锁机制了解一下
AQS简简单单过一遍
Lock锁子类了解一下
线程池你真不来了解一下吗?
多线程之死锁就是这么简单
ThreadLocal就是这么简单
Java多线程打辅助的三个小伙子
还在用Synchronized?Atomic你了解不?
1.3设计模式
设计模式需要理解三个左右,熟悉这三个设计模式的用途、应用、写法,在面试的时候问到就不虚了。
对应的设计模式文章:
给女朋友讲解什么是代理模式
包装模式就是这么简单啦
单例模式你会几种写法?
工厂模式理解了没有?
策略模式原来就这么简单!
三分钟学会门面模式!
一分钟学会《模板方法模式》
1.4JVM和NIO
其他的Java基础知识就不谈了,JVM和NIO都是比较常考的,应该对这有一个了解:
JVM如何从入门到放弃的?
JDK10都发布了,nio你了解多少?
更多的Java文章可以在公众号"Java"菜单栏可以找到。
二、数据库
简单的SQL语句是必要掌握的,在笔试的时候也会常常遇见手写SQL。而面试一般会问数据库的锁和索引,事务隔离级别也常考。
数据库两大神器【索引和锁】
数据库面试题(开发者必看)
面试前必须知道的MySQL命令【expalin】
【非原创】为什么MySQL数据库要用B+树存储索引?
更多的数据库文章可以在公众号"JavaWeb"菜单栏可以找到。
如果在简历技能清单上写了Redis,那最好还是看看以下的三个问题(缓存击穿、缓存雪崩、缓存与数据库双写一致性):
面试前必须要知道的Redis面试题
更多的Redis文章可以在公众号"JavaEE"菜单栏可以找到。
三、框架
对于Java框架,比较爱考Spring,其余的 Struts2/Hibernate/Mybatis其实都不咋考。
我认为常见的Spring面试题:
Spring IOC的概念
(为什么要用IOC、为什么不直接new对象、跟直接new对象有什么区别、工厂模式理解了没有?)
Spring AOP的概念
(AOP是什么意思、AOP能做什么、xxx可以使用AOP来做吗、AOP的底层原理来说一下、代理模式了解多少)
Spring MVC的工作流程(原理)
(如果你说自己接触过Struts2,很可能就问SpringMVC与Struts2的区别)
Spring中是如何管理Bean的(Bean的生命周期)
Spring事务管理知识
对应的Spring文章:
Spring IOC知识点一网打尽!
Spring AOP就是这么简单啦
SpringBoot自动配置原理!
一文带你看懂Spring事务!
更多的Spring文章可以在公众号"JavaEE"菜单栏可以找到。
四、基础
如果是参加校招的同学, 操作系统、计算机网络、数据结构与算法是非常非常非常重要的(虽然我学得不咋地..苦逼)。
操作系统:
死锁
进程和线程
CPU/内存/硬盘的工作流程(原理)
select、poll、epoll简单区别
计算机网络:
http(包括http版本区别,https原理)
TCP粘包,拆包
从浏览器输入地址到响应的整个过程(越详细越好,这个问题可以涵盖整个计算机网络了)
数据结构与算法:
几个常见的排序算法,常见的数据结构必须要会!
刷题为主,leetcode刷起来
《剑指Offer》
对应的文章:
HTTP2和HTTPS来不来了解一下?
二叉树就这么简单
八大基础排序总结
【Java】几道让你拿offer的面试题
【Java】留下没有基础眼泪的面试题
【Java】几道常见的秋招面试题
COW奶牛!Copy On Write机制了解一下
这方面的文章我的公众号确实是写得比较少,后续还得继续加油努力。更多的基础数据结构文章可在公众号"Java"菜单栏下可以找到。
五、其他
上面的四点是比较常考的,如果有时间有兴趣,也不妨看看我之前整理过的关于其他知识点的面试题:
HTTP常见面试题
XML+JSON面试题都在这里
Tomcat+Servlet面试题都在这里
JSP面试题都在这里
过滤器监听器面试题都在这里
JDBC面试题都在这里
AJAX常见面试题
AJAX跨域完全讲解
Hibernate面试题大全
Mybatis面试题
六、关于项目
学生:
如果自己还没撸过一个小项目,建议根据自己的想法撸个小项目(或者跟着视频做一个也行)。
为啥要撸个小项目?
对SSM、SpringBoot等知识点的应用,尽可能了解每个框架的实际用处是什么。
撸完项目,可以写在简历上,面试的时候就依照自己的想法来讲讲当时的项目是怎么做的,期间遇到了什么问题,当时是怎么解决的。(在简历上有个项目,总比没的好!)
如果已经有了小项目了,应当总结一下自己做项目的亮点(在简历和面试的时候就可以有话可说了)
最后
乐于输出干货的Java技术公众号:Java3y。公众号内有200多篇原创技术文章、海量视频资源、精美脑图,不妨来关注一下!

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
