拼多多&快手研发面经

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a724888/article/details/82702450 拼多多&快手研发面经 本文首发于微信公众号:程序员江湖 快手:Java研发工程师 面试共有三轮 技术面试两轮,一面40分钟,二面1个小时。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a724888/article/details/82702450

拼多多&快手研发面经

快手:Java研发工程师

面试共有三轮

技术面试两轮,一面40分钟,二面1个小时。

拼多多:业务平台研发工程师

在武汉进行的现场面试。共三面,耗时两个小时。

祝大家早日拿到满意的offer。

1一面

拼多多:业务平台研发工程师

在武汉进行的现场面试。共三面,耗时两个小时。

一:先面了hr面

1 项目情况

2 实习收获

3 老家和期望城市

4 对拼多多有什么了解

5 对拼多多的11 10 6怎么看,可以接受么

二:技术面

1 讲一下项目

2 做的主要是Java对吧,讲一下多线程把,用到哪些写一下

3 写了thread和runnable,然后写了线程池,她问我线程池由哪些组件组成,有哪些线程池,分别怎么使用,以及拒绝策略有哪些。

4 什么时候多线程会发生死锁,写一个例子吧,然后我写了一个两个线程,两个锁,分别持有一个,请求另一个的死锁实例。

5 集合类熟悉吧,写一个题目,一个字符串集合,找出pdd并且删除,我直接写了一个list然后for循环判断相等时删除,她说明显问题,我才发现list直接删位置会出错,于是我说改用数组,她说不太符合要求,所以应该使用iterator删除会好一点,修改会反映到集合类,并且不会出错。

6 然后说一下Redis吧,是单线程还是多线程,Redis的分布式怎么做,说了集群。

7 RPC了解么,我说了主要是协议栈+数据格式+序列化方式,然后需要有服务注册中心管理生产者和消费者,他问我注册中心宕机怎么办,我说可以做高可用,他说要问的不是这个,是想问我注册中心宕机时消费者是否能访问生产者。

我说消费者本地有缓存,可以访问缓存中的生产者。

8 实习最大的收获是什么。

9 TCP三次握手的过程,如果没有第三次握手有什么问题。

三面:技术面

1 自我介绍

2 讲一下项目的主要架构,你在里面做了什么

3 有什么比较复杂的业务逻辑讲一下。

4 最大的难点是什么,收获是什么。

5 MySQL的主从复制怎么做的,答日志,具体原理是什么,有什么优缺点。

6 Redis了解哪些内容,是单线程么,为什么是单线程呢,数据一定是存在物理内存中么,我不懂这话啥意思,就问了一下是不是指可能也在虚拟内存中。他说那讲一下虚拟内存的机制把,我就讲了分页,页表,换页这些东西。

7 项目用到了多线程,如果线程数很多会怎么样,我说会占内存,还有就是切换线程比较频繁,他问切换线程会发生什么,应该就是CPU切换上下文,具体就是寄存器和内存地址的刷新。

8 计算机如何访问一个文件的字节流呢,讲一下过程,说了Linux从inode节点找到磁盘地址,进行读取,他问我是直接读取么,我就说还会有读缓存,其实还应该说一下DMA的。

问了我知道swap分区么,我说不太清楚。

9 分布式了解哪些东西,消息队列了解么,用在什么场景,说了削峰,限流和异步。说了kafka,问我怎么保证数据不丢失,以及确保消息不会被重复消费。还问了消息送达确认是怎么做的。

10 cap了解么,分别指什么,base呢,强一致性和弱一致性有什么方法来做,2pc了解么,说一下大概过程。

11 负载均衡怎么做的呢,为什么这么做,了解过集群雪崩么。

12 这样一个题目,一个节点要和客户连接建立心跳检测,大概有百万数量的连接,并且会定期发送心跳包,要写一个update方法和check方法,update方法更新心跳状态,check删除超时节点,怎么做,刚开始做了个hash发现check要轮询太慢了,然后用计时器和开线程检测也不行,最后说了个LRU,他说OK的。

13 写一道题,二叉树的后序遍历,非递归算法。

用一个栈可以实现,先压自己,再压右节点,再压左节点。不过我卡在一半没写完,面试官说有思路就行了,今天就面到这,然后就溜了,发现已经没人了。

用一个栈可以实现,先压自己,再压右节点,再压左节点。不过我卡在一半没写完,面试官说有思路就行了,今天就面到这,然后就溜了,发现已经没人了。

快手面经

一面:

1 写一个选择排序或者插入排序

2 写一个生产者消费者

3 Java多线程了解么,什么时候一个int

类型的操作是不安全的,自加呢,赋值呢。

如果使用volatile修饰的话有什么作用。

4 MySQL和redis的区别是什么

5 为什么MySQL和Redis都要使用独立进程来部署,开放端口来提供服务,为什么不写在内核中。

6 有一个场景,多线程并发,为每个线程安排一个随机的睡眠时间,设想一种数据结构去唤醒睡眠时间结束的线程,应该用哪种结构,答应该用优先级队列,也就是小顶堆,顶部是剩余睡眠时间最短的那个线程。

7 好像就是这些了。

二面:

1 项目

2 多线程

3 一道算法题,一个二维矩阵进行逆置操作,也就是行变列列变行。刚开始我理解错了,直接用一维数组转储再重新填入新数组。

面试官说可以不用一维数组么

然后解答的过程中才发现我理解错了。改了一会才搞定。

4 扩展一下,二维数组存在500g的文件中,怎么做才能完成上面算法的操作,我就说先按行拆分,最后再拼接。

5 扩展两下,一行数据就会超出内存,应该怎么做,那就按列拆分,最后合并。

6 知道服务的横向扩展和纵向扩展么,刚开始理解错了,后来就说是提高单机性能,以及扩展成集群。

7 cap介绍一下吧,为什么只能3选2

8 线程与进程

9 tcp和udp的区别

10 get和post的区别

11 并发量大概多少,做过优化吗

HR面:

老生常谈了,就不贴了。

▼更多精彩内容

信公众号【黄小斜】大厂程序员,互联网行业新知,终身学习践行者。关注后回复「Java」、「Python」、「C++」、「大数据」、「机器学习」、「算法」、「AI」、「Android」、「前端」、「iOS」、「考研」、「BAT」、「校招」、「笔试」、「面试」、「面经」、「计算机基础」、「LeetCode」 等关键字可以获取对应的免费学习资料。 


                     wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
4月前
|
NoSQL Java 关系型数据库
蚂蚁金服+拼多多+抖音+天猫(技术三面)面经合集助你拿大厂offer
很多Java开发者面试之前,可能没有较长的工作时间或者较为丰富的工作经验,所以不知道互联网公司或者一线互联网公司技术面试都会问哪些问题? 再加上可能自己准备也不充分,去面试没几个回合就被面试官几个问题打蒙了,最后以惨败收场。针对这些的读者朋友,小编整理了一些知名大厂的面经,在这分享给读者朋友们参考,让即将面试或是有想法跳槽的读者朋友们了解一下一线大厂面试时都喜欢问那些问题。
|
11月前
|
消息中间件 设计模式 存储
查漏补缺第六期(京东一面)
前言 目前正在出一个查漏补缺专题系列教程, 篇幅会较多, 喜欢的话,给个关注❤️ ~ 本专题主要以Java语言为主, 好了, 废话不多说直接开整吧~ Kafka的应用场景有哪些,在项目里是如何应用的 Kafka 是一个高吞吐量、可扩展的分布式流处理平台,主要用于构建实时数据流应用程序和数据管道。以下是一些Kafka的应用场景:
|
11月前
|
设计模式 存储 消息中间件
查漏补缺第七期(美团到店一面)
前言 目前正在出一个查漏补缺专题系列教程, 篇幅会较多, 喜欢的话,给个关注❤️ ~ 本专题主要以Java语言为主, 好了, 废话不多说直接开整吧~ tcp和udp区别 TCP(传输控制协议)和UDP(用户数据报协议)是两种常见的互联网传输协议,用于在计算机之间传输数据。它们在设计和功能上有一些显著的区别,下面是它们的详细比较:
|
存储 达摩院 数据库
【阿里云智能秋招】视频云简介&岗位一览和内推投简历
视频云本次秋招提供岗位14个+,欢迎扫博文中内推码投递简历~
1185 0
【阿里云智能秋招】视频云简介&岗位一览和内推投简历
|
存储 人工智能 Cloud Native
【0706 - 0710 直播导视 | PPT 下载】阿里云Offer5000人!快来Pick你心仪的岗位吧!15位阿里云技术大咖在线直播招人!
阿里云开发者社区Offer5000来啦!7月9日19:00-21:30,15位阿里云技术大咖在线直播招人,50+岗位等你来投,还有海量学习内容助你斩获Offer,还不快来一起做同事?
738 0
|
前端开发 Swift iOS开发
携程、阿里、京东、腾讯iOS春招面试过程以及面试题总结!
面经包含:携程、阿里、京东、腾讯 五一假期,春招基本上已经结束了,剩下少量面试和少量流程中。虽然还没有最终决定,不过也还是决定来开个帖子,写一些总结。 楼主是今年春招的时候开始看看面经,真题做的很少,很水=。
2058 0
|
机器学习/深度学习 算法 NoSQL
【斩获7枚offer,入职阿里平台事业部】横扫阿里、美团、京东、之后,我写下了这篇面经!
自身情况 跳槽之前,楼主在一个小型互联网公司,主要是做互联网彩票。 其中做过面向用户的 APP,也有o2o模式的,也有b2b模式的的项目,用的技术比较杂,没有指定的规范,只要能完成任务就可以,技术挑战也不是很大。
|
存储 算法 数据库
最全技术面试180题:阿里11面试+网易+百度+美团!
网络编程 1.ISO模型与协议 2.http1.0:需要使用keep-alive参数来告知服务器端要建立一个长连接 3.http1.1:默认长连接。支持只发送header信息,可以用作权限请求。
1321 0
|
算法 数据库 索引
最全技术面试180题:阿里11面试+网易+百度+美团!含答案大赠送!
网络编程 ISO模型与协议 http1.0:需要使用keep-alive参数来告知服务器端要建立一个长连接 http1.1:默认长连接。
1542 0
|
算法 Java 关系型数据库
京东&美团研发面经
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a724888/article/details/82702471 京东&美团研发面经 本文首发于微信公众号:程序员江湖 京东Java工程师 美团点评 后台开发工程师 1 京东提前批Java开发 电话面试 本来想等面完再发个面经,等了半个月了没等到。