前言:记录面经并复盘其实是个好习惯,但是自己后面心累到已经懒得记录了。今天看了下自己的面试记录,走完面试流程并且记录比较完整的也只有sf一家了。于是整理了一下,希望能帮助到有需要的人,也希望攒攒人品,许愿顺丰的offer吧。一面 都是常规八股了,没有手撕算法(当时看面经,其他人有手撕算法的环节)SpringBoot 自动装配SpringCloud Nacos底层原理Nacos GateWay使用 怎么用的呢AOP IOC 原理 AOP干什么用(日志,事物)异常和errorBean生命周期 作用域MySQL隔离级别Redis数据结构zset的跳表是怎么实现什么是B+树 B树 区别是什么 B+树的优势线程的生命周期线程池是什么 线程池的7个参数线程池的参数怎么配设计模式会哪个 单例的问题在哪 DCL volatile保证什么呢?有序性static关键字 (面试官说可以用在import)实习用的技术和项目二面 面试官人很好,遇到不会的地方会给我讲解,问了1h12min,嗓子都冒烟了。主要内容就是算法+ 八股+ 场景应用 + 深挖每一个问题这次面试是秋招体验最好的一次面试,面试官和蔼可亲,并且会循循善诱!好评算法是 判断回文数 但是写了好几个版本 一直在改进时间复杂度和空间复杂度 实现优先级队列 除了堆的形式,还有吗?(面试官提示redis 回答 zset ,提示mysql 回答 B+树 )什么是B+树什么是B+树的阶1000w个数据 有int id char name int age 存在b+树里 树高是多少?知道AVL吗 简单介绍了几句 面试官详细讲了AVL的原理如何用AVL实现优先级队列 以及AVL的缺点如何解决上述AVL的缺点呢? 答: 猜测红黑树把详细讲讲红黑树 avl和红黑树的区别和联系 哪个更适合用来实现优先级队列秒杀场景怎么设计呢 面试官问你提到了redis是io多路服用 什么是io多路服用?面试官问你提到了mysql 那mysql怎么实现乐观锁呢 面试官继续问,还有什么秒杀项目可以用到的技术嘛? 回答:可以使用消息队列 异步处理订单(讲了一下项目里延时订单支付的实现逻辑)+ 削峰 要有降级熔断策略 数据库主从模式做到读写分离 两个线程 对共享变量i i++1000次 最后共享变量的值为多少?那怎么保证能是1000 不出线程安全问题呢? (让回答出5种方法)进程的通信方式什么是socket 详细讲一讲 这个真不会...后续就是hr面了,一些基本的hr面问题,我就没有整理。希望能帮到大家,也许愿offer![心想事成]