|
关注回复“1”,即可获取上千篇面经集合pdf
面经内容
PDD暑期实习面经
【一面】
1. 自我介绍
2. 讲一下实习项目的系统架构和设计思路,接入层,底层数据接入等,分哪些模块,数据怎么存储,大概用到哪些技术框架?
(当时听到这个问题人是懵的,之前也面试过几次,完全没想到过直接让讲公司项目的架构,还好开发的那个是公司核心项目,做了微服务设计,就讲了下大概有哪些服务,各自的作用以及流程执行的关联调用)
3. 讲下实习经历里的预排序遍历树
(只要问就能硬控他10min)
4. 项目服务注册和服务发现用的什么框架?
5. 假设RPC中A调用B,怎么知道B的IP接口和协议?
6. 服务提供方挂掉怎么维护IP列表?
7. 服务提供方B有10台实例,其中有两台的调用一直超时,如何优化让调用更稳定?
调用方A维护黑名单,如果有超时实例则将ip加入到黑名单,从剩下的健康实例ip列表中选取实例
8. 实例恢复后何时从黑名单中删除?
如果是网络延迟等可能性性较小因素,采用类似redis的过期删除机制自动删除
如果是实例内部因素,采用确认+超时重传机制,单开一个线程不断发送确认请求,超过重试上限则dump堆栈信息通知运维人员排查
9. mysql索引数据结构,B+树怎么存储数据?
10. 单表数据量多少?
11. redis的场景 ?
12. 分布式锁的上锁解锁过程,参数?
13. java线程池?
14. 手撕
lc 3 的变式:找出所有不含重复字符的子串
【二面】
轻微压力面,回答没有反馈直接过,八股吟诵全部打断
1. 自我介绍
2. 实习期间负责的工作
3. redis缓存穿透
缓存null值-->采用变化key值攻击就没有效果
4. 布隆过滤器误判原理?如何减少误判率?
5. CAS的思想?
6. java的volatile?能保证线程安全吗?
7. 代码八股题,考察线程池的线程饥饿问题,解决方案?
回答不同任务提交不同线程池,再问其他方案,g
提示异步回调,后面查是CompletableFuture有线程池异步提交任务的api能让出线程
8. 手撕
lc-hot100 合并区间
【三面】
比较轻松,95%时间都是我在自由发挥的说,面试官就最后部门介绍说了几句话
1. 自我介绍
2. 讲一讲实习工作
3. 有哪些熟悉的中间件?挑一个你熟悉的讲一讲吧,底层原理
讲了redis数据结构的三列表结构演进--ziplist,quicklist,skiplist
ziplist的联表更新问题那块忘了扩容数值,糊里糊涂带过去了
4. 日后的职业规划,老家,意向城市
总结:
回看pdd的三次面试,确实幸运和实力参半,那么多92硕都有简历和笔试挂的,我在糊里糊涂的情况下进面,前两次面试都没有很难的八股,三面也是抽到比较轻松的主管,偏自由式的没被拷打
每场面试状态都是蛮好的,一面针对问题自己现场发散思想去想方案,二面针对微压力面有点不服的倔劲,听着语气都蛮顶的...三面是之前的面试沉淀都派上用场,还有晚上失眠时候想的一些话术也都用上了,全程挺稳的
【限时福利】
免费定位简历问题
获取秋招/实习深度讲解
大厂PM在线产品落地分享会
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|