理想汽车 | 云服务研发 | 一面,二面,HR面(OC)
前言
投递时间线:2月6号投递->2月11号一面->2月17号二面->2月23号HR面,HR面主要问了一下手里的offer情况,然后就是介绍薪资、福利、公司情况了。
一面(2月11号,1h30min)
自我介绍
简历项目(15min)
- 介绍一下简历上最有技术挑战性的项目?
- 项目有没有上线?用户量是多少?
- OAuth2如何实现的单点登录?
- 如何使用Redis分布式锁解决的超卖问题?
- Redis分布式锁的实现原理?为什么要使用Lua脚本?
- 如果上亿的用户去抢购10w商品,在一个redis 节点中去竞争一把锁,如何优化Redis分布式锁的性能?(分段锁)
- 将商品模块大而化小,分而治之,多把锁去锁多个商品模块,当前用户如何知道该去那个节点获取商品数据?(哈希)
实习项目(20min)
- 介绍一下实习过程中最有技术挑战性的项目?
- 共享屏幕,打开画图软件,画出项目整体流程图?
- 对刚刚画出的流程图一些模块做了提问
Java基础
- 什么多态?
- 多态的实现方式有哪些?
Redis
- 如何利用Redis实现消息队列?
计算机网络
- 用户输入网址到显示对应页面的全过程?
- HTTP常见状态码分类有哪些?
- 301状态码含义?302状态码含义?400状态码含义?403状态码含义?500状态码含义?
- 什么是TCP粘包?怎么解决这个问题?
- CLOSE-WAIT 和 TIME-WAIT 的状态和意义?
- TIME-WAIT产生太多原因及解决方法?
设计模式
- 讲一下设计模式的六大设计原则?
- 如何理解开闭原则?
- 如何理解依赖反转原则
- 双重检测的单例模式为什么要进行二次判空?为什么有了Synchronized却还需要volatile去修饰Instance?
Linux
- Linux查看网络状态的命令?
- Linux查看指定端口号的进程情况?
MySQL
- 什么是MVCC?
- 讲一讲MVCC的实现原理?
- 创建索引的设计原则有哪些?
- 讲一下最左匹配原则?
- 覆盖索引是什么?
- 如何选择索引列的顺序?
数据结构
- 归并排序是稳定的吗?
- 讲一下归并排序的实现原理?
算法
- LeetCode 对称二叉树
其他
- 有没有用Go开发过项目?
- 有没有学过k8s?对k8s了解多少?
反问
反问
- 部门的业务?(FaaS平台开发)
- 部门的技术栈?(Go/Java/Python)
二面(2月17号,50min)
自我介绍
实习经历
- 从第一家实习公司到现在一共实习了多长时间?
- 怎么和学校沟通的可以出来实习?
- 详细介绍一下第一段实习经历做的比较有挑战性的项目?
- 对第一段实习经历做了一些提问(10min)
- 介绍一下在字节实习期间做的项目?
Redis
- 有没有用过Redis?对Redis了解多少?
- 讲一下如何使用Redis实现分布式锁?
- 假设Redis有一个主库,2个从库,主库持有分布式锁,如果主库这个时候因为某些原因宕机了,哨兵选举新的从库为主库,但是因为主库实例故障而导致从库也无法同步到这把锁,这个问题应该怎么解决呢?(ZooKeeper 实现或者使用分布式锁算法Redlock)
- 如何使用ZooKeeper 实现分布式锁?
- Redis 实现分布式锁 和 ZooKeeper 实现分布式锁优缺点对比?
- Redis如何实现去重,每种方案的优缺点讲一下?
分布式
- 什么是CAP理论?
- ZooKeepe属于CA,CP,AP中的哪种模型?
- 了解哪些分布式协议与算法?
- 讲一下Raft算法的领导者选举过程?
框架
- 讲一下SpringBoot自动配置原理?
线程池
- 有没有用过线程池?
- 什么是线程池预热?线程池预热的好处有哪些?
云原生
- 有没有听过云原生,谈谈对云原生的理解?
- 对k8s了解多少,有没有使用过k8s?
- k8s中的pod如何实现自动扩容或缩容?
MySQL
- 一张学生表包含学生的信息,其中每个学生有一个唯一的学号字段,一张图书借阅记录表,包含学生学号和借阅记录信息,写一条SQL语句,用来查找每个学生的借书次数?
海量数据处理
- 给40亿个不重复的 unsigned int 的整数,没排过序的,然后再给一个数,如何快速判断这个数是否在那40亿个数当中?
其他
- 为什么一直坚持写博客?
- 在字节实习过程中如何和其他部门做对接?(oncall)
- 如果找不到对应的oncall,这个时候你会怎么做?
- 什么时候毕业?对理想汽车有没有过了解?
- 对新能源行业了解多少?
反问
- 部门的业务?(理想FaaS平台开发)
- 部门的技术栈?(Go + k8s)