美团面试(求oc,积累好运)
一面(3月21日)
二面(3月25日)(二面面完后马上约3面(但是跟学长联系,怀疑是挂了或者是部门没有hc,转推到另外一个部门))
三面(3月28日)
不知道能不能接触到oc(祈祷好运)
一面
可以根据项目的架构图来进行相应的项目描述
介绍相应的项目架构:(应用层、服务层、数据的底层存储介绍)(具体做出相应的划分)
商品的相应的数据库的表设计
商品中的服务层相应的组块()
项目的架构方面的实现:(单体模式还是分布式的模式(应用了什么的技术))
微服务:分成具体的那些模块()
商品服务负责的那些内容:
商品预定是属于那一块的服务类型
商品的相关信息(数据库中相应的表的字段)
商品服务中如果要进行相应的减库存(限流(也有可能并发的减少库存):使用线程安全的集合去 保证数据安全(分布式锁来实现)),要怎么进行操作
使用mysql和redis进行数据缓存 ,在使用redis的时候数据的更新策略为什么是先更新数据库在更新缓存。
redis的数据的有效时间一般来说设计多少比较合适
缓存的查询:先去查询redis,然后没有再存储
保存数据库的读写一致性问题?如何去解决(采用的是先更新数据库再去更新相应的缓存(通过进行相应的举例说明来解释)
redis 上数据更新的方式(主动更新以及相应的自动更新的方式),先更新了MySQL的相关数据,再更新redis。
更新redis的失败之后会进行如何的处理?会有相应的线程去处理进行数据的验证(定时任务的扫描)
项目的并发较大,巅峰期的qps的大概在多少?(回答-10w)
项目的并发操作的实现
mysql的事务有那些的了解(acid 以及相应的幻读、不可重复读、)、相应的隔离级别以及相应的解决方案
redis 相关的数据类型(5种)
sort Set 的相关的数据结构
Linux的相关操作(记住常用的几个,并且集合相关的业务场景去进行描述)
线程池的相关参数以及相应的 执行流程
juc下的锁的相关含义(sychronzid(锁的一个优化升级(无锁、偏向锁、轻量级锁、重量级锁的简要描述))、JUC 包下相应的锁(RentreenLock、读写锁(ReentransWriterReadLock )、关键字volatile ))
jvm虚拟机中运行内存的简要描述(相应的堆、方法区(常量池)、java虚拟机栈、本地方法栈、程序计数器的相关功能)
垃圾回收
介绍相应的项目架构:(应用层、服务层、数据的底层存储介绍)(具体做出相应的划分)
商品的相应的数据库的表设计
商品中的服务层相应的组块()
项目的架构方面的实现:(单体模式还是分布式的模式(应用了什么的技术))
微服务:分成具体的那些模块()
商品服务负责的那些内容:
商品预定是属于那一块的服务类型
商品的相关信息(数据库中相应的表的字段)
商品服务中如果要进行相应的减库存(限流(也有可能并发的减少库存):使用线程安全的集合去 保证数据安全(分布式锁来实现)),要怎么进行操作
使用mysql和redis进行数据缓存 ,在使用redis的时候数据的更新策略为什么是先更新数据库在更新缓存。
redis的数据的有效时间一般来说设计多少比较合适
缓存的查询:先去查询redis,然后没有再存储
保存数据库的读写一致性问题?如何去解决(采用的是先更新数据库再去更新相应的缓存(通过进行相应的举例说明来解释)
redis 上数据更新的方式(主动更新以及相应的自动更新的方式),先更新了MySQL的相关数据,再更新redis。
更新redis的失败之后会进行如何的处理?会有相应的线程去处理进行数据的验证(定时任务的扫描)
项目的并发较大,巅峰期的qps的大概在多少?(回答-10w)
项目的并发操作的实现
mysql的事务有那些的了解(acid 以及相应的幻读、不可重复读、)、相应的隔离级别以及相应的解决方案
redis 相关的数据类型(5种)
sort Set 的相关的数据结构
Linux的相关操作(记住常用的几个,并且集合相关的业务场景去进行描述)
线程池的相关参数以及相应的 执行流程
juc下的锁的相关含义(sychronzid(锁的一个优化升级(无锁、偏向锁、轻量级锁、重量级锁的简要描述))、JUC 包下相应的锁(RentreenLock、读写锁(ReentransWriterReadLock )、关键字volatile ))
jvm虚拟机中运行内存的简要描述(相应的堆、方法区(常量池)、java虚拟机栈、本地方法栈、程序计数器的相关功能)
垃圾回收
最近都学习那些相关的计算机的书
二面:3月25日
(个人感觉面试面的蛮差的,而且感觉回答的相对较差)
-
- 自我介绍
- 咨询了个人的成绩
- 计算机技术的掌握的情况
- 学长的推荐以及学长的就职情况
- 了解了下对美团公司的看法
- 操作系统
- 操作系统的内存管理
- 进程的调度算法
- 先到先得 / 先进先出(FIFO)
- 最短任务优先(SJF shortest job first)
- 最短完成时间任务优先(STCF)
- 时间片轮转(RR Round Robin)
- 优先度算法
- 前面提及的调度算法的相应的弊端
- 现代操作系统一般使用的是哪一种的调度算法
- 现代操作系统的调度算法一般来说不会对操作系统有着明显的缺陷,但是
- 面试官评价:基础掌握不错,但是实际场景的应用需要去掌握
- 多线程
- 多线程的自己的理解
- 死锁有那些产生的必要的条件
- 互斥条件
- 请求与保持条件
- 请求与保持条件
- 循环等待条件
- 出现死锁有什么处理方法?(死锁的破解)
- 处理死锁的四种方法
- 预防死锁
- 避免死锁
- 检测死锁
- 破坏死锁
- 处理死锁的四种方法
- mysql是否会出现死锁? 如何处理死锁?
- 查看相应的状态
- 进行相应的解锁操作
- 死锁的超时释放的锁的对象
- 超时是否会出现 相应的异常抛出?
- mysql的隔离级别的问题
- MySQL的 加锁的性能保证
- 读写有着相应的读写锁?读读之间是相互的不加锁,读写以及相应的写写才会进行相应的加锁
- 间隙锁:什么是间隙锁以及相应的底层的原理
- 间隙锁以及MVcc的问题?mvcc(多版本并发控制?解决的主要是用行锁+next-key )间隙锁和mvcc的一个区别(面试的时候搞得有点逻辑混乱)
- 遇到过间隙锁的实际产生的问题
- 举例:就是在使用范围查询的时候插入的数据
- 举一个相应的例子
- 数据库设计的相应的范式
- 第一范式(1NF:每一列属性都是不可再分的属性值,确保每一列的原子性
- 第二范式(2NF):实体的每个非主键属性完全函数依赖于主键属性(消除部分依赖)
- 第三范式(3NF):满足第二范式的基础上,在实体中不存在非主键属性传递函数依赖于主键属性。(表中字段[非主键]不存在对主键的传递依赖)
- 自我介绍
- springboot
- springboot的使用的心得体会、注意事项
- 描述springboot的相关的功能、特定(心得体会)
- 注意事项上:
- springboot在使用的使用相应的坑
- 怎么通过注解去简化开发过程的繁琐的原理
- springboot的使用的心得体会、注意事项
- 项目
- 项目的抢课是这么样实现的
- 项目中的redis的具体使用
- 高频访问数据的缓存
- 用户登入验证时候的token信息
- 算法题
- 二叉树的最大路径和
-
124. 二叉树中的最大路径和
-
- 二叉树的最大路径和