面试复盘|小米0815
小米
投递:2021-08-15 base:北京 后端开发工程师
一面:2021-09-01
15:00-16:30 面试30min;手撕
自我介绍;登录功能怎么实现的?问推荐算法如何实现的?
MySQL
sql语句执行的顺序:
联合索引和单条索引,最左匹配原则
InnoDB引擎和MyISAM引擎的区别
日志一般用什么引擎?
左联、右联、内联
Redis
Java基础
new对象的存储位置?
堆栈的区别?
程序初始化的步骤:static和一般的代码块、方法的执行顺序
自定义注解?
重载和重写的区别?
面向对象的特征?
抽象类和普通类继承之间的区别?抽象的框架,满足开闭原则
上传报表的功能,包括上传、检查、入库三个功能,如何设置类?数据类和抽象动作类,具体动作根据业务实现抽象类
常用的Java集合【自己说了将近3min,面试官建议:简短介绍,有背课文的嫌疑】
多线程、信号量
如何保证线程安全?加锁
Synchronized和ReenTrantLock的区别?【对于锁的级别稍微了解一下,轻量级锁、偏向锁、自旋锁、重量级锁】
乐观锁【我说了CAS,面试官想听“版本号”这个关键词】
手撕
- 翻转链表
- 以k为一组翻转链表:25. K 个一组翻转链表
二面:2021-09-07
总时长50min
- 个人介绍(介绍个人基本信息+项目简述)
- AOP的认识、原理(反射机制);spring的特点
- MVC的执行过程,dispatcherServlet、handler的一套流程
- 接口和对象的封装
- POST GET DELETE等请求方式的区别和使用场景
- restful编程风格
- 项目中遇到的难点:讲了实习过程中spring boot遇到的一个问题,涉及到具体业务交流的有点多
- 面向对象的基本特征,可以举例说明
- spring boot是面向过程还是面向对象?其中的
- 多线程:创建线程的方法以及使用场景
- JVM是否了解?(自己想到什么就说了什么,包括运行时内存、垃圾回收);不同数据的存储区域
- 设计模式是否了解?
- 计算机网络:七层模型及其协议、路由协议是否了解、ARP|RARP,路由表,RIP|OPPF,TCP三次连接
- 手撕一道简单题:递归和非递归两种方式实现(具体题目不记得了,大概就是二叉树高度相关题目,最低和最高深度)
- 常规询问:专业、英语成绩、看的技术类书籍
大力夸赞小米,面试流程极快,面试官特别好,挺有耐心的,好评!
#面试复盘##面试题目##小米#