拼多多和小红书面试全过程

文章描述了拼多多和小红书的面试过程,涉及实习项目讨论、技术难题解答,包括B+树、MVCC、数据库事务、JVM内存、垃圾回收、分布式锁、线程同步、数据结构等主题,以及面试中的编程题目,如链表排序和二叉树遍历。面试者还被要求设计数据结构和实现特定功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

拼多多一面(40分钟八股+20分钟做题)

1. 项目(聊了一下项目的业务与自己开发的模块)
2. 实习(主要聊了一下参与的项目,相关业务,以及实习中碰到的难题与解决思路)
3. b+树
4. mvcc原理
5. 数据库事务
6. 做题:lru
7. 反问业务,面试官说是多多买菜,履约相关
项目没有深挖,主要在聊实习,八股也不难

拼多多二面(40分钟八股+20做题)

1. 实习项目,具体说一下业务背景、数据表设计、碰到的技术难题
2. jvm内存区域
3. 永久代的意义,为什么要移除永久代
4. 垃圾回收机制
5. java线程同步的方法有哪些
6. mysql日志有哪些
7. linux下查看某文件下某个字符串的出现个数和所在行数
8. 分数到小数,力扣原题

小红书搜索架构(java)一面

1. 实习项目(介绍了一下任务系统,说了一下项目碰到的技术难题) 

2. 分布式id有哪些方案 

3. 雪花算法具体说一下 

4. 机器id是什么 

5. 可以用IP地址作为机器ID吗 

6. 不同机器IP地址可能相同吗(同一个内网环境) 

7. 不在内网环境下生成的IP呢(用MAC地址) 

8. 分布式锁有哪些方案 

9. 现场写一个基于redis的分布式锁的伪代码 

10. 看到我用@Resource注入,问了一下@Resource和@Autowired的使用场景 

11. 直接给锁一个过期时间好还是执行完删除锁好 

12. 你平时用过期时间还是用删除锁这个方案,为什么 

13. 说一下ThreadPoolExecutor的参数的意义 

14. 具体说一下存活时间这个参数的意思 

15. 这个值设置为多少比较合适 

16. 那核心线程数和最大线程数怎么设置 

17. 怎么终止一个线程 

18. wait和sleep有什么区别 

19. synchronized和reentantlock的区别 

20. synchronized是非公平还是公平锁,为什么 

21. reentantlock为什么可以实现公平锁 

22. final关键字了解多少 

23. 匿名内部类访问外部成员变量时编译器会提示需要final修饰,为什么?

24. 写一下单例模式,要求多线程安全并且是懒汉式的(先写了经典的懒汉式,然后面试官不满意,然后写了双重校验的,面试官还是不满意,最后写了静态内部类的) 

25. 为什么静态内部类的实现是懒汉式&线程安全 

26. 做题:链表排序,时间和空间复杂度越低越好(之前用快排思想写过,太复杂了,最后用归并排序的思想写了)

27.分析一下时间和空间复杂度(空间复杂度o1,这块没分析好) 

28. 反问

小红书搜索架构(java)二面

大概40分钟左右。

1. 自我介绍,然后问了一下入职时间以及可以实习的时间,稍微问了一下实习的项目,加起来十分钟左右。

2. 让我实现一个数据结构,插入是o(logn)时间复杂度,查找中位数是o(1)时间复杂度,马上想到拼多多笔试题第三题,就是一个最大堆和一个最小堆,然后不断维护。

3. 做题,二叉树层序遍历,但是偶数层从左往右,奇数层从右往左。

4. 反问业务,面试官说这边主要是搜索架构,有三层,最底层是大数据相关开发,流处理等等,第二层是c++开发,最顶层java开发,直面用户,我进去主要是最顶层相关业务开发。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值