虾皮后端面经
-
一面 60min
手撕为主,问一点八股,不问项目和实习
纯白板手撕,无代码提示
- 手撕 LRU
- 手撕开链法,渐进式 rehash 应该怎么做,怎么判断rehash完毕,要加锁吗(rehash 的细节还要再看看)
- 读锁和写锁的语言层面实现(不太会,应该是互斥锁实现读写锁,一时间脑袋空空
- TCP 三次握手,二次行不行
- TCP 拥塞控制
- HTTPS 和 HTTP 区别,SSL 位于TCP哪一层,有点没懂,这不是单独一层吗,就说了个应用层,不太对,应该是应用层和传输层之间
- CAP 理论,ACID 理论
- 主键,外键,索引的区别(答的一般
- 索引底层实现
- B+ 树结构和分裂合并(答的一般)
- 数据库范式
- 熟悉什么设计原则,设计模式
- 手撕单例模式
简单智力题:5毫升,6毫升量筒量出3毫升
一周后二面
-
二面 60min
大量八股,一个场景题,一道手撕
- 乐观锁和悲观锁的使用场景
- 乐观更新和悲观更新的实际实现
- 索引一般要考虑什么
- 索引下推是什么
- 索引失效场景
- mysql主从复制流程,主从复制模型
- redis 有什么技术
- zset 延时队列
- 数据结构的堆的问题:
- 堆定义
- 复杂度
- 为什么能用数组
- 第k大数怎么用堆实现
- 更好的实现(快速选择),怎么证明时间复杂度近似O(N)
- 一致性哈希的使用场景(答的有点乱)
场景题:支持查询余额,充值(第三方接口),转账的 mysql 表设计
接口设计,怎么解决转账过程宕机(分布式事务,事务消息)
手撕:修路灯,n个路口,每个路口可以修3种灯,给定每个路口修3种灯的代价,每个路口修的灯不能和上一个路口一样,
求最小成本和最小成本对应的修路灯方案
最小成本动态规划秒了,修路灯方案得记录转移路径,写了一会,面试官没多问就结束了。
为什么你实习都是底层,要面业务相关的后端
学校的项目和实际实习的工作有什么差异
用过什么ai工具
反问业务,和建议(提升表达能力)
-
hr 面 30min
- 自我介绍
- 对前面面试官的看法和业务的了解
- 对于转语言的顾虑,怎么看待
- 实习转正情况
- 秋招面试情况流程
- 介绍实习背景,自己的定位,需要达到什么预期
- 毕设进展如何
- 对于团队氛围和业务等有什么期待(又一次回答业务)
- 未来2-3年规划
- 怎么看待ai是否会代替程序员
- 以外行视角介绍科研
- 对业务是否感兴趣(又一次回答业务)
- 能否提前实习(offer 后实习,据说不卡人)
- 再一次问秋招进展投了那些和对薪资期望(这是一个问题,不知道为啥又问一遍,秋招真的没啥面试,实话实说了)
- 反问,具体部门进去细分,考核,组织架构啥的,可能去新加坡出差,十一后出结果,到现在也没出
