前言
打工人,打工魂,打工都是人上人,记住,打工才是王道,我们都要做打工人。人可以一天不吃饭,但不能一天不打工。打工让我们身心愉悦,节假日是掏空我们的身体。别睡了,打工仔,起床打工吧!
——《打工宣言》
这是最近很火的一个段子,是年轻人对于生活重担的调侃,是对于高压环境的不满,也是对于平凡人生的不甘,是属于成年人的一种黑色幽默。
我相信很多人都一样,咱们都是打工人,你可能会不满现状,觉得工资太低,压力太大;或者觉得太周旋于人情世故,活得很累,然后便萌生了转行的想法。
一面:
- hashmap,怎么扩容,怎么处理数据冲突?怎么高效率的实现数据迁移?
- Linux的共享内存如何实现,大概说了一下。
- Linux 中的用户模式和内核模式是什么含意?
- 在 Java 中 Lock 接口比 synchronized 块的优势是什么?你需要实现一个高效的缓存,它允 许多个用户读,但只允许一个用户写,以此来保持它的完整性,你会怎样去实现它?
- socket网络编程,说一下TCP的三次握手和四次挥手
- 同步IO和异步IO的区别?
- Java GC机制?GC Roots有哪些?
- 如和判断一个对象是否存活?(或者 GC 对象的判定方法)
- 红黑树讲一下,五个特性,插入删除操作,时间复杂度?
- 快排的时间复杂度,最坏情况呢,最好情况呢,堆排序的时间复杂度呢,建堆的复杂度是多少
第一轮非常重要,第一面能通过,后续被录用的可能性就比较高
二面
- 自我介绍,主要讲讲做了什么和擅长什么
- 设计模式了解哪些?
- Java 中什么叫单例设计模式?请用 Java 写出线程安全的单例模式
- 什么是元数据?元数据分为哪些类型?包括哪些内容?与 cluster 相关的元数据
- AtomicInteger怎么实现原子修改的?
- RabbitMQ 上的一个 queue 中存放的 message 是否有数量限制?
- ConcurrentHashMap 在Java7和Java8中的区别?为什么Java8并发效率更好?什么情况下用HashMap,什么情况用ConcurrentHashMap?
- redis数据结构?
- redis数据淘汰机制?
- Redis 集群方案应该怎么做?都有哪些方案?
三面(约五十分钟)
- mysql实现事务的原理(MVCC)
- MySQL 中控制内存分配的全局参数,有哪些?
- Redis 有哪些适合的场景?
- 有哪些数据库优化方面的经验?MySQL数据主从同步是如何实现的?
- MySQL索引的实现,innodb的索引,b+树索引是怎么实现的,为什么用b+树做索引节点,一个节点存了多少数据,怎么规定大小,与磁盘页对应。
- 如果Redis有1亿个key,使用keys命令是否会影响线上服务?
- Redis的持久化方式,aod和rdb,具体怎么实现,追加日志和备份文件,底层实现原理的话知道么?
- 遇到最大困难是什么?怎么克服?
- 未来的规划是什么?
- 你想问我什么?
分享
这次面试我也做了一些总结,确实还有很多要学的东西。相关面试题也做了整理,可以分享给大家,了解一下面试真题,想进大厂的或者想跳槽的小伙伴不妨好好利用时间来学习。学习的脚步一定不能停止!
需要这份资料的朋友戳这里免费下载,整理出的内容大概如下:
Spring Cloud实战
Spring Boot实战
0638098)]
Spring Boot实战
[外链图片转存中…(img-YHzB4Bv5-1621590638100)]
面试题整理(性能优化+微服务+并发编程+开源框架+分布式)