前言:记录面经并复盘其实是个好习惯,但是自己后面心累到已经懒得记录了。今天看了下自己的面试记录,走完面试流程并且记录比较完整的也只有sf一家了。于是整理了一下,希望能帮助到有需要的人,也希望攒攒人品,许愿顺丰的offer吧。
一面
都是常规八股了,没有手撕算法(当时看面经,其他人有手撕算法的环节)
- SpringBoot 自动装配
- SpringCloud Nacos底层原理
- Nacos GateWay使用 怎么用的呢
- AOP IOC 原理 AOP干什么用(日志,事物)
- 异常和error
- Bean生命周期 作用域
- 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!