停更的这几个月,我在忙什么
Hi,大家好久不见。很抱歉一连停更了好几个月,停更的这几个月,我在忙什么呢。
离职篇
没错,我从顺丰科技离职了。606天,毕业后的第一份工作,两年后终于还是离开了梦开始的地方,告别了可爱有趣的同事朋友们。年前经过多番考虑后决定要回去建设家乡了,于是便开始了漫漫的春招求职之路。
我是土生土长的河南人,之前在郑州读的大学,所以春招那会投了郑州数得上来的差不多十来家公司。郑州不像互联网一线城市,互联网氛围相对来说比较匮乏,好的互联网企业比较少,比较好的岗位更是少之又少,再加上今年年初疫情相对比较严重,导致我找工作的整个过程并不太顺利。
过年那段时间因为深圳有疫情,我也就没回老家过年,所以就有了更多的时间复习准备面试。差不多准备了两三周,我就投简历然后开始面试了。面了两周左右,拿了几家公司的offer,但是我不太满意。后来又面了几家国企,但是国企的流程相对私企来说,流程会比较慢,所以当时一直在观望,骑驴找马。有一家国企的流程相对来说比较快,通过了两轮技术面和一轮笔试后,就开始提交资料做背景调查。这家国企相对于其他的offer来说,我还是比较满意的,在郑州属于为数不多的Top公司了。但是国企的入职流程会比较慢,当时我的离职日期也快要到了,所以当时也很着急。在跟Hr沟通确认过入职的事情之后,我就办完离职手续收拾收拾行李准备回家了。
居家隔离篇
万万没想到,因为是从中高风险地区返郑,刚下高铁就被通知需要居家隔离14天。健康码被赋红码住酒店也住不了,无奈我只好匆忙的租了房子,前几天晚上借用了中介的被子睡了几个晚上,现在想想都觉得好惨,哈哈哈。租的房子装修好后还没住过人,收拾了好几天后终于有了烟火气息,我的厨艺在隔离期间也飞速提升。
入职篇
隔离结束后,做完入职体检后就赶紧去公司入职了。公司刚好在母校的隔壁,兜兜转转还是回到了原点。入职第二天刚好赶上放清明节假期,算起来今天刚好入职满一周,最近一周都在疯狂的申请各种平台权限和熟悉公司的各种流程,也好长时间没写代码了,感觉手都生疏了。停更了好几个月,也是时候复更了。
立个flag,每周至少更新一次!!!
面经篇
聊了这么多,也是时候上干货了,这个是我春招面经的清单,另外本人的经验也有限,不足之处也希望能与大家多多交流。
xxxx公司
SpringBoot加载流程、SpringCloud组件
BeanFactory与FactoryBean的区别
MySQL底层存储
ES倒排索引
JMM内存模型
单例模式的几种实现方式
Kafka、RabbitMQ、RocketMQ的区别
xxxx公司
- JVM内存模型
- 锁降级
- MySQL性能调优的方式有哪些
- MySQL索引为什么最左原则会失效
- 分布式锁
xxxx公司
- JVM内存模型
- 同步锁和异步锁
- 几种线程池、线程池的使用场景、线程池的创建方法及参数
- Git和SVN的区别、Git的使用
- Spring(IOC、DI、AOP)
- BIO、NIO、AIO的区别
- Kafka(ACK应答机制)
- 消息队列的作用
- Hadoop生态圈的计算组件
- 从0-1搭建项目架构
xxxx公司
- Spring(AOP、IOC)
- Redis原理(原理及缓存穿透、缓存击穿、缓存雪崩)
- MyBatis原理(执行过程、用法)
- Zookeeper原理
- 设计模式
- 消息队列
xxxx公司
- Dubbo架构搭建
- synchronized的使用场景及方法
- 可重入锁、不可重入锁
- Redis(原理、RDB机制及AOF机制的使用场景、缓存击穿、使用Redis计算并发数QPS的方法、一致性Hash算法-Murmurhash算法)
- SpringMVC的执行流程
- SpringBoot注解@SpringBootApplication中的组合注解有哪些
- Spring事务传播机制
- JVM内存模型、堆内存中分代回收机制、垃圾回收算法、OOM和栈溢出的场景及定位方法
- 分布式锁的几种实现方式(SETNX的使用)
- MySQL索引失效的几种情况
xxxx公司
- 场景题:20W的数据实现Excel导入功能
- Spring中对象的创建过程
- 如何解决Spring循环依赖
- AQS和CAS的关系
- 分布式事务
- synchronized锁升级
- 分布式与微服务的优缺点
xxxx公司一面
- 场景题:请求调用服务A、服务B、服务C获取三个结果后,需要对三个结果进行逻辑处理后再返回给用户(如何使用JUC来实现)
- MySQL索引最左原则的原因、B+树索引的数据结构
- 如何快速定位问题优化QPS
- CMS垃圾回收器和G1垃圾回收器的原理
- MySQL创建索引的场景,哪些字段适合建索引,哪些不适合建索引
- 组合索引和单个索引的特点
xxxx公司
- Redis的常用数据结构、Redis的持久化机制
- Spring的事务传播机制
- 事务处理有哪些方式
- ArrayBlockingQueue和LinkedBlockingQueue的原理(ArrayBlockingQueue需要加一个锁,LinkedBlockingQueue需要加两个锁)
- 线程池中的某一个线程报错,线程池的容错机制
- redis命令Lrange的使用
- 使用wait()的前置条件
- MyBatis映射文件中不指定namespace会发生什么
- SpringBoot打包后的包结构
- Spring、SpringMVC、SpringBoot、SpringCloud的区别
xxxx公司
- SpringMVC的执行流程
- SpringBoot的使用
- Spring、SpringMVC的区别和特点
- SpringBoot的启动方式
- Redis的持久化机制以及两种持久化机制的使用场景
- Zookeeper的作用、读写原理、如何使用Zookeeper实现分布式锁
xxxx公司二面
- 值传递和引用传递
- MySQL如何选择创建索引
- MySQL事务隔离级别、默认隔离级别
- CAS原理以及导致的问题
- volatile关键字的作用
- JVM内存模型、常见垃圾回收器、JDK8默认垃圾回收器
- Kafka消费者消费方式
- 产生死锁的条件以及避免死锁的条件
xxxx公司
- 开窗函数
- MySQL调优
- 分页插件的使用
xxxx公司二面
- JVM内存模型
- GIT和SVN的区别
- SSM项目从0-1的相关配置
- SpringMVC常用的控制器
- SpringMVC执行流程
- Spring和SpringMVC的区别
- SpringMVC是单例还是非单例
- SpringBoot的javaConfig配置
- 垃圾回收时,判断对象是否已死的算法
- MyBatis缓存
xxxx公司二面
- Spring和SpringMVC的区别
- MyBatis中#{}和${}的区别
- SpringMVC的执行流程
C的区别 - SpringMVC是单例还是非单例
- SpringBoot的javaConfig配置
- 垃圾回收时,判断对象是否已死的算法
- MyBatis缓存
xxxx公司二面
- Spring和SpringMVC的区别
- MyBatis中#{}和${}的区别
- SpringMVC的执行流程
- 如何优化高并发接口的QPS和内部逻辑(需要用到哪些设计模式)