前言
前言
楼主在系统开放前投了许多部门,可以称之为海投吧。
第一,为了对简历迭代更新和知识点的查漏补缺。
第二,提前了解部门情况,选择合适自己的,毕竟春招只有一次。
各个部门的面试情况不一,到一面的,到二面的,到三面的,都有。
我分为一二面和手撕题作总结,把经常问到的,或令我印象深刻的,作一个归纳总结。
一面偏基础,二面偏项目和原理理解。(实际面试中,二面和三面问的东西差不多)
一面
- 集合 List(ArrayList、LinkedList、CopyOnWriteList),Map(HashMap、TreeMap、ConcurentHashMap),Set(HashSet)
结合实际应用场景 分析每个类的适用场景,以及他们的jdk源码实现原理 - jvm内存结构、垃圾回收算法、垃圾回收器、类加载机制
- new一个对象的过程,从jvm层面阐述
- 悲观锁和乐观锁
- synchronized的优化以及锁升级过程,与ReentrantLock区别
- 介绍CAS
- 介绍AQS模版,哪些并发类是基于它的
- 线程池实现原理,主要的7个参数,什么时候放入队列,什么时候拒绝策略,参数配置需要注意什么
- 双亲委派和破坏双亲委派
- TCP (三次握手和四次挥手,拥塞控制,流量控制,里面各种恩爱情仇要搞懂)、UDP
它们的运用场景,UDP如何实现可靠 - Redis中有哪些数据结构
- Redis中的哨兵是干嘛的
- MySQL中InnoDB有哪些索引类型
- 索引用的什么数据结构(b+树好好看看原理)
- 有哪些排序算法,复杂度?稳定性?
- 常见设计模式,jdk里面哪些类用到了什么设计模式
- 介绍ThreadLocal
- Java线程的6个状态
- 线程和进程区别
- 介绍泛型
二面
- Spring IOC和AOP 设计原理,为什么要这样设计
- Spring bean 的生命周期以及作用域
- Spring中常用注解
- Spring事务,传播特性
- Spring MVC 中后端处理流程
- Spring 启动流程
- RocketMQ如何保证消息不丢失
- RocketMQ如何保证消息有序性
- RocketMQ事务原理
- MQ的选型和各种MQ的区别
- Redis如何选举
- Redis和MySQL双写问题
- Redis如何主从复制
- Redis有哪些应用(缓存和分布式锁(Redisson框架))
- MySQL是如何解决幻读的(next-key锁和MVCC)
- MySQL的一条sql语句执行流程
- 为什么要选择InnoDB,有哪些特性
- MySQL事务和隔离级别
- MySQL死锁解决策略
- SQL如何调优
- change buffer和redo log区别
- mysql什么时候会选错索引
- 什么情况下适合建立索引,什么情况不合适
- CAP理论和base定理
- CPU 100% 问题排查
- 一条url从回车到渲染,整个过程,月详细越好
- RPC调用过程
- Redis的zset数据结构
- Redis的rehash过程
手撕题
以下算法均需最优解
- .翻转链表(迭代和递归都要)
- 自行设计LinkedList数据结构
- 三个线程循环打印 A、B、C
- 写一段死锁代码
- 红包分配算法
- 括号匹配
- 青蛙跳台阶
- . 构造一个最小栈
- 判断是否平衡二叉树
- topK
总结
在文章的最后作者为大家整理了很多资料!包括java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书等等!
全部免费分享给大家,只希望你给作者点个三连!
如果有需要的朋友点击这里备注csdn,直接去下载就好了