YY直播 Java开发 一面二面
一面:
- 自我介绍
- 常用集合类,然后挑一个熟悉的介绍(直接Hashmap)
- JVM垃圾回收算法,垃圾回收过程
- MySQL的事物四大特性(又要特别的讲了讲持久性怎么实现的(两阶段提交))、索引底层实现、事物隔离级别实现
- Redis的五大对象,然后他们底层的数据结构
- 计算机网络OSI七层模型,介绍每一层的作用
- 介绍项目(项目描述、自己负责什么,遇到的难点,如何解决的,你负责的模块,你当队长是怎么分配工作内容和管理的,挑一个模块细讲)这里讲了很久
- 项目中为什么要拿Reids做缓存,考量是什么
- 怎么实现缓存一致性的,怎么解决(延时双删)
- 反问(面试官部门以及业务、新人培养策略)
时长35min,面试官的问题基本上是看着我的简历问的
二面:
- 介绍一下项目(为什么做这个项目、怎么做,你在其中是做什么的)
- 项目有上线吗?
- 项目整个流程
- 项目模块是怎么划分的,考量?
- api模块和网关模块是干嘛的?说说网关作用,一个请求来了,网关如何处理?
- Nacos作用?
- 物流、支付怎么做的,讲讲。
- 用户支付了,怎么保证支付成功的,网络问题怎么办?
- 用了ES是嘛,为什么要用ES?效率为什么比Mysql快?说一下他们各自的使用场景
- 用了Redis来存储是吗?为什么要用redis,考量是什么?他的作用是什么?
- Redis有哪些作用一般?(计数器、分布式锁、缓存)
- 讲讲分布式锁怎么实现的?(这里我说了分布式锁概念去了……),为什么Redis可以做分布式锁
- Redis为什么可以在多线程下做分布式锁(因为Redis是单线程处理的)
- spring?说说spring相比传统的开发好处是什么?你用过那些(注解)
- 说说你用过的注解
- spring事物注解用过嘛?在什么情况下用的?什么情况下这个注解会失效?(这里就答不上来了)
- spring特点,IOC的作用,好处是什么,为什么?
- 用过ping吗?(面试的时候不知道面试官说的什么,说没用过……,现在打字打出来,这不就是ping命令嘛!!!ku了)
- 计算机网络,四层模型?具体讲讲传输层和网络层干嘛的?
- 网络层不传输数据吗?
- 反问:因为觉得在面试中有很多回答感觉面试官不是很满意,有时候还绕了半天,所以问面试官对我的建议以及看法and不足。(面试官说怎么都是这个问题,哈哈哈,我就稍微解释了一下)
- 回答:主要项目中有很多实际问题没考虑到,比如网络是最常见的,还有基础的话还需要补补(大概率可能没了😅)
- 总结:面试官还是很好的,全程是和我聊天的感觉,有说有笑的,还会告诉我一些存在的问题,挺不错的!自己继续好好学习加油吧
时长:50***要是问项目以及场景还有技术实现各种考虑