想去Java面试,还有一个月时间,那你最起码用几天的时间,网上搜三五十个最常见、最典型的算法题,反复练习、务必熟练……自己能够在白纸上一遍就手写出没有bug的代码。
其实,技术是长期积累的事儿,不是短期突击的事儿。
面试有时也是运气加情商的事儿,在面试时,一是要掌握控场,那就是说出自己匹配该职位的要点,如项目、技术等;二是要亮点,除了被java八股文外,面试中尽量抛出自己擅长的引导面试官提问,突出自己的亮点。语气神态都要不卑不亢。
“结合项目准备技术,外带引导”的方法,在面试前按java核心,数据库和分布式组件准备技术和亮点(准备起来不难),同时在面试中,不仅能做到背答案,而且还能让面试官继续问出你背过的其他(可能更值钱的)答案,这比单纯地背javab八股文不知道要好多少。建议更多的还会去刷一些Java核心架构进阶知识点,比如:JVM、高并发、多线程、缓存、Spring相关、分布式、微服务、RPC、网络、设计模式、MQ、Redis、MySQL、设计模式、负载均衡、算法、数据结构、kafka、ZK、集群等。
如果你没长期积累,又要去面试,那希望你多刷刷下面的题,临阵磨枪。看完你能回答上几道?如果能回答的出其中的一半勉强及格了。如果都答对,那你应该是妥妥的技术大牛了!可以放心去投大厂简历了!
一、网络原理
OSI 与 TCP/IP 各层的结构与功能,都有哪些协议
TCP 建立连接的过程,为什么要三次握手?
TCP、UDP 协议的区别,各自的应用场景
打开浏览器,输入 URL 地址,访问主页的过程
HTTP 有哪些方法?
HTTP 和 HTTPS 有什么区别?
二、Java 核心技术
HashMap 底层数据结构是什么,时间复杂度多少?
JDK 8 中对 HashMap 做了怎样的优化?
HashMap 和 TreeMap 什么区别?
ConcurrentHashMap 的实现原理
包装类的缓存机制如何应用
Error 和 Exception 有什么区别?
通过一个例子描述下 BIO、NIO、AIO 三者的区别?
动态代理实现有几种方式?
阐述 JDBC 操作数据库的步骤?
Lambda 表达式有哪些应用?
三、Java 并发编程
线程有哪几种状态?
创建线程池需要指定什么参数?
线程池底层如何实现,工作原理怎样?
volatile 的实现原理是什么?
Synchronized 和 Lock 什么区别?
Java 中有哪些锁?有什么区别?
Synchronized 锁升级的原理是什么?
使用 ThreadLocal 有哪些注意事项?
CAS 如何实现的?
Thread 类的 sleep() 方法和对象的 wait() 方法都可以让线程暂停执行,它们有什么区别?
守护线程是什么?
说一下 Atomic 的原理?
如何用 Java 实现生产者消费者?
Java 内存模型是什么?
JMM 在并发中有什么应用?
四、Java 虚拟机
描述一下 JVM 的内存结构?
Java 8 的内存分化有哪些改进?
有哪些对象分配规则?
Java 对象创建过程
描述 JVM 加载 class 文件的机制?
双亲委派模型是什么?
字节码是什么?字节码增强有哪些?
JVM 有哪些编译优化?
常见的垃圾回收算法和收集器有哪些?
如何打印虚拟机堆栈信息?
五、Spring 系列
什么是 AOP,AOP 的作用是什么?
如何理解 Spring 的 IOC 和 DI?
CGLIB 和 JDK 动态代理什么区别?
Spring Boot 支持哪些嵌入式容器,如何配置?
六、数据库
MySQL 中 MyISAM 与 InnoDB 引擎的区别
MySQL InnoDB 的默认隔离级别是什么?
举一个数据库死锁的例子,MySQL 怎么解决死锁?
MySQL InnoDB 存储的文件结构,为什么使用 B-Tree(B+Tree)?
索引的类型有哪些?
如何创建合理的索引,索引如何优化?
索引失效有哪几种情况?
…
七、分库分表
为什么要分库分表?
如何解决分库分表主键问题?
分库分表有哪些中间件,有什么优点和缺点?
…
八、分布式缓存
怎么保证缓存与数据库的双写一致性
Redis 新版本支持多线程,性能怎么样?
Redis 有什么数据类型,都在哪些场景下使用?
Redis 的高可用有哪些机制?
Redis 的持久化有哪些方式?
Redis 过期策略都有哪些?
写一下 Java 版本的 LRU 代码?
九、分布式服务框架
Dubbo 的架构和服务调用过程怎样?
注册中心挂了可以继续通信吗?
ZooKeeper 的原理是什么?
Dubbo 支持哪些序列化协议?
十、分布式消息队列
消息队列有什么作用?
如何保证消息队列的高可用?
如何保证消息不被重复消费?
不同消息队列的选型和对比
十一、分布式系统
CAP 理论是什么?
Base 理论是什么?
数据一致性有哪几种?
分布式事务有哪些解决方案?
如何使用 Redis 实现分布式锁?
负载均衡有哪些常见策略?
————————————————
希望这些题目对你有用,好好准备面试,而不是美化炮制一份简历,拿到大厂面试机会去裸面,那就是浪费彼此的时间