面试系列——Java工作6年面试拼多多和阿里经历附带面试题
该文来自粉丝的投稿
自我介绍
先做个自我介绍,本人坐标魔都,13年毕业,工作6年,之前一直在互联网公司工作,曾经在阿里系公司下担任资深工程师的职位。
今年大环境不好,但还是毅然决然的出去试了试,而我这次面试的目标期待,是希望想找一个知名互联网公司的技术专家的职位。
福利:最近两年的大厂Java面试题,我收集了很多,大家需要的话加我的Java技术交流群:938837867。(进群分享2018-2019年互联网大厂面试题和答案)
点击加入群【Java高级技术群】:https://jq.qq.com/?_wv=1027&k=5GW0aBl
面试经历
拼多多
首先说说我面试上海拼多多的经历,我是朋友内推过去的,面试的是拼多多的商品中心部门,内推人说是拼多多技术要求最高的几个部门之一。自己之前做过商品相关业务,业务上有些对口。
一面
一面面试官首先让我写一下观察者模式代码(设计模式有专门准备),然后跟技术官聊技术业务,聊分布式锁的实现,redis用的什么命令,问 redis 集群缓存数据不均衡怎么做。
我就说计算机领域有一句名言:计算机科学领域的任何问题都可以通过增加一个间接的中间层来解决,我感觉在客户端和redis服务之间加一层就能解决了,问我具体怎么做,我说了我的思路。
接着面试官问我们公司的一些缓存架构,我们公司一般都是使用的堆内缓存 + redis 缓存(二层缓存架构方案)。
然后围绕着这个,问了数据一致性怎么做的?有没有做过相关压测?指标是多少?熔断降级有没有做过?
然后说说sentinel和hystrix的区别?我知道拼多多这二个框架都有使用,限流的一些参数怎么设置,依据是什么?这个是真的考验有没有在生产上玩过了。然后让我设计一个高并发系统,从哪些方面考虑。
最后面试官问我有什么问题想问他,这一块我是精心准备过的,我就问他之前我在设计商品域的时候走的弯路。
比如商品快照问题怎么解决的,因为当时我们做这一块的时候,所有涉及到商品域属性变更都会生成快照,造成数据量暴增。
然后面试官说他们也是这么做的,所以他说他们的一些操作日志表有的表已经有分库分表上万张了
我问面试官的第二个问题是详情页的设计,怎么做的缓存设计?(比如从不同的业务纬度拆分key,更新频率拆分key)
因为我一直想了解一下大公司在库存和价格这块有没有应用缓存这种形式,因为我们之前因为QPS都不算高,价格,库存都是直接实时查询数据的,结合兜底方案来解决。
所以这二个问题一提,一面面试官觉得我之前有过思考,就让我进入了二面。
二面
二面是hr,聊了薪水,加班,补助等。问我有没有买房,有没有在上海买房的打算?如果有的话,二年拼多多就可以凑足首付了。(拼多多二面都是hr,这个是槽点)。
三面
三面商品部的老大来面试,也是聊设计技术方案为主,因为之前我做过订单,然后他问我下单要建几张表?我说订单主表,订单条目表(有的场景下,订单条目会创建很多条)。
面试官问我怎么优化?(针对创建的订单条目太多的问题)
首先我说订单表可以分库分表来解决单DB的写入瓶颈;面试官不满意,我说可以先创建订单主表,如果订单条目表是瓶颈那么梳理一下业务,看看订单条目是否可以异步创建,走MQ,然后面试官还是不满意,我说我只能这么优化了,暂时没想到更多的方案
然后又聊了下分布式事务,可靠消息最终一致性的方案讲了一下,讲解了我们目前怎样使用这套架构来采集上游数据,清洗数据,然后消费落到业务数据库的。
又聊了一些其他的方案设计,细节的技术点聊的少,大多数都是系统设计方面
我其实care到他的核心思路,因为拼多多商品应用的流量特别大,很多时候更多的时候在设计可以避免一些性能问题,而不是简单的堆机器。
整体下来,我感觉有些高并发的优化经验欠缺,整体技术二面还可以(自我感觉)。
面完,hr让我回去等消息,说明天下午4点给回复,我很开心,觉得应该差不多了,怀着加班都是浮云,买房才是主要道理的心理,开开心心的回家了,第二天hr告诉我说,我挂了,挂在最终面的技术面上,我泪崩,很无奈。
阿里
再说说面试阿里,先是面的蚂蚁金服。
一面
一面是电话面试,一面聊了40分钟的业务,当时我正在坐地铁,然后在一站下车就直接在地铁站聊了40min。
面试官问了我在上家公司做的订单模块,正向下单流程业务是怎样的,系统流转怎样的,涉及到哪些域。
我的回答是下单流程根据不同的业务涉及到的流转都不一样,一般涉及到库存,订单,营销。订单完成之后涉及到调度域,积分域,用户等等。
然后又问我具体的订单模型是怎样设计的,拆单的依据是什么?我把订单的模型说了一下,一般都是订单主表和订单条目表,根据供应商的维度进行拆分订单。
接着问了正向下单流程中,优惠劵,库存,订单三者的事务如何保证的?
我们做的很low,没有用分布式事务,直接在订单这边catch,catch里面做一些异常反向流程,比如说释放存储,更改优惠券状态等。
面试官紧接着问这样做的问题在哪里?
问题肯定非常明显了,就是catch中失败如何去做。当时我们只是记录了相关接口调用日志,会有1min的job会去轮询这些状态记录,并告警通知的。我们也考虑过调研过一些分布式事务框架,目前也在调研中。
然后就一直聊的是业务和方案设计,聊完我自己觉得一面应该是过了。过几天接到电话约二面。
二面
二面是现场面试,2个面试官,问我为什么从阿里出来,为什么想回阿里。这个问题我之前没有准备过,就临场发挥了一下。
接着就是一连串连环炮:
现在公司用户中心怎么设计的?为什么这么设计?
为什么用redis?更新策略是什么?
下单的链路怎么样的?
怎么解决正向下单流程中库存,订单,积分的分布式事务问题?履约的过程?履约的后续流程?画出系统架构图(感觉每个面试官都会问)
平时架构设计中要画哪些图?
我说一般会画一些数据库ER模型,重要的流程时序图,逻辑架构图,物理架构图等等
问我哪些中间件了解的特别深入,我说es,redis,聊了聊使用场景,怎样同步mysql数据到es的,这样的架构有没有遇到问题,redis的一些性能优化等等。
二面结束了,下楼的时候我问二个技术官什么时候有结果,他们说一周吧,然后等了三周才有结果,整个到接到三面通知大概接近了二个月,在这期间我已经选了另一家在线教育公司。
三面
当时新公司已经入职二周了,周五接到蚂蚁金服hr的电话约三面,当时刚入职新公司一段时间,因为太忙了,于是就没去,放弃了三面。
又过了一段时间,阿里的一个面试官又打我电话,当时我在下班的路上,大概晚上9点40左右,说他是阿里的另外一个部门,在系统上看到我的面试结果超时了,问我要不要面试这个杭州的职位
我就试试跟面试官聊了聊,聊到了最近做的一个做的一个面向B端的招聘项目使用的技术栈,数据的采集来源,怎么清洗数据,怎么维护数据池,面试官说很符合他们现在做的业务,一面过了
我说平时太忙了,没啥时间去杭州二面,面试官讲周六在盒马生鲜他们部门会来上海有个面试专场,这次周末时间,再去学习学习。
二面的面试官应该是个p7,技术大牛,聊了一个多小时,java技术栈最考验候选人功底的就是java并发和jvm,面试官问我怎样写一个程序,快速打满方法区;让你设计一下可达性分析,思路大概是什么;可重复读有用到锁等等
三面的面试官是部门主管(大概p8,p9职位),聊聊DDD的理解;3点15时针分针的角度是多少;最了解的中间件是什么,说说你的理解;了解hive吗,等等;
第四面,hr面,为什么之前离开阿里;工作中学到哪些,怎样觉得跳出到另外一个环境成长会更多;到新公司之后发现成长环境并不是自己期望,怎么办?
然后问了我之前面试蚂蚁金服什么情况,因为HR只能在系统看到我今年面试超时,问原因,我说面试周期太长了,三面没时间;
这边我也犯傻了,问了一个问题,说我面试如果过了能在阿里评级是什么,她反问我,你觉得呢。。。面试结束的时候,我问hr大概多久面试结果出来,hr说月底之前通知
然后在月底接到了阿里hr的电话,通知我面试过了,薪水大概和我现在这家在线教育差不多,问职级,给了p6+
最终做了一些对比,还是觉得去阿里做 p6 或者 p6+ 并不是我现阶段的意愿,在中等公司做技术专家或许可以能做更多的事情,因此拒绝了阿里的offer。
在这儿免费推荐点资料给大伙学习。
小伙伴们可以加如我的群一起交流,Java技术交流群:938837867。
点击加入群【Java高级技术群】:https://jq.qq.com/?_wv=1027&k=5GW0aBl
面试系列——Java工作6年面试拼多多和阿里经历附带面试题相关推荐
- ofo 退押金出新招;快手回应“弃拼多多联手阿里”;Julia 1.3 发布 | 极客头条...
整理 | 屠敏 快来收听极客头条音频版吧,智能播报由标贝科技提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注 ...
- 京东向下沉市场打出“京喜”,拼多多和阿里惊不惊喜?
图片来源于网络 文|陈小江 来源 | 螳螂财经(ID:TanglangFin) 天猫和京东双11数钱大战又开始了. 2019年天猫双11全球狂欢节大家玩得很嗨,只用96秒就帮天猫成交额突破100亿,比 ...
- 社招两年半 10 个公司 28 轮面试面经(含字节、拼多多、美团、滴滴......)
个人情况 学历:二本 工作年限:2 年半 面试结果:拿到了字节.拼多多.美团.滴滴.欧科云链....等公司的 offer 面试准备 复习 你信我,真学习还得看书,看书能让你的知识体系更加健全. 当然, ...
- 社招两年半10个公司28轮面试面经(含字节、拼多多、美团、滴滴......)
个人情况 学历:二本 工作年限:2 年半 面试结果:拿到了字节.拼多多.美团.滴滴.欧科云链-的offer 面试准备 复习 你信我,真学习还得看书,看书能让你的知识体系更加健全. 当然,平时也可以看一 ...
- 程序员面试拼多多,来看看这些面试题你掌握的有多少呢?
面试一直是大家关注的问题,包括最近有很多人跟我讲投了很多简历出去,就像泥牛入海一样了无音讯了,确实出于程序员的直觉,今年是要比往年要更冷一些. 但是对于面试来说,一直都有一个说法就是「金三银四」现在三 ...
- 拼多多是PHP还是java,应届程序员收到拼多多offer 表情瞬间爆发
应届程序员吐槽:拿到了拼多多最低档的offer,感觉有些侮辱! 一名应届程序员在就职互助论坛如此吐槽自己的遭遇,称被拼多多补录了,但给的是最低档的offer,感觉有些侮辱:很难受,补招收到了拼多多最低 ...
- 从外卖员到程序员,自学3年终于转行成功,三面“拿下”拼多多,把经历分享给你们!
先来自我介绍: 老家农村,家里好不容易把我送到大城市读书,大学非985,211,但在我们老家,能出一个本科大学生也是非常不容易的.因为农村信息的相对闭塞,我对大学专业一无所知,加上分数并非前茅,最后被 ...
- 爆炸性事件!刚刚,拼多多超越阿里成为第一,黄峥就辞任董事长,要去当科学家!股价一度暴跌9%,承诺三年不减持...
点击上方 "编程技术圈"关注, 星标或置顶一起成长 后台回复"大礼包"有惊喜礼包! 每日英文 A friend who understands your tea ...
- 拼多多猛击阿里,极兔狠怼三通一达,段永平要挑战马云?
拼多多在电商市场的不断争夺用户,直逼阿里巴巴,而在物流市场拼多多扶持的极兔快递也在快速崛起对垒三通一达,这正形成步步高系对阿里系的决战. 拼多多成立于2015年,仅仅3年时间其用户数就已超越了京东,那 ...
最新文章
- 数据结构与算法常用名词术语整理
- Spring注解使用方法
- Python 函数式编程
- 【LeetCode】455. 分发饼干(图解)
- 在 SpringBoot 项目中,Spring Security 和 Shiro 该如何选择?
- vim编写代码时,文件末尾会多一个换行符的解决办法
- 01背包问题+完全背包问题+多重背包问题
- 微信小程序-智能机器人
- Sql Server函数全解二数学函数
- python/c++计算psnr
- linux驱动的中断函数,嵌入式Linux驱动开发(四)——字符设备驱动之中断方式以及中断方式获取按键值...
- 具有动态效果的响应式设计
- 小红伞杀毒软件|小红伞杀毒软件下载
- ActiveX开发流程
- xlsx表格怎么筛选重复数据_excel表格怎么筛选重复数据
- XDOJ 133-一元稀疏多项式计算器
- Mac下的spotlight无法搜索本地资源的解决办法
- androidの手机Email学习总结
- sec和asec--正割和反正割函数
- 微信支付(使用官方SDK,SpringBoot)
热门文章
- 编译OpenDDS - 安装ActiveState Perl
- php获取股票接口数据接口,「股票数据」 使用Sina API获取新浪财经的证券股票数据接口(时价 K线等)...
- GitHub开源项目学习 电商系统Mall (二) Mac搭建Mall前后台环境
- C# iTextSharp 创建PDF水印
- 基于51单片机的WIFI模块的简单通信
- freeswitch被国外ip扫描,iptables解决办法
- 【超详细】7z的详解和7z的控制台参数说明
- Proxy error: Could not proxy request
- 《算法导论3rd第十九章》斐波那契堆
- Linux中使用rz命令和sz命令传输文件