加入收藏 | 设为首页 | 会员中心 | 我要投稿 | RSS
您当前的位置:首页 > 公告

阿里、拼多多面试经历分享,面试岗位:java技术专家

时间:2024-11-13 13:43:52  来源:http://www.baidu.com/  作者:亲卫队请问

quiet同学的技术专家面试经历

恭喜quiet同学成功拿下技术专家的职位面试机会。接下来,让我们一起来深入了解他的面试经历。

自我介绍

quiet同学来自魔都,自13年毕业起已在互联网行业工作6年,曾在阿里系公司担任资深工程师。在今年的求职市场中,他毅然决然地寻找新的机会,期望获得知名互联网公司的技术专家职位。

面试经历

拼多多面试

quiet同学通过朋友内推,参加了拼多多的面试,面试部门为商品中心部门,据说是技术要求最高的几个部门之一。他之前做过商品相关业务,所以这次面试对他来说是对口的机会。

在面试过程中:

一面时,面试官首先让他写观察者模式的代码,然后围绕技术业务进行了深入的交流。讨论了分布式锁的实现、redis的使用及缓存数据不均衡的问题。对于数据不均衡问题,quiet同学提出了在客户端和redis服务之间增加一个中间层来解决的思路。接着,面试官询问了公司的缓存架构和数据一致性问题。考察了限流方面的知识,以及设计高并发系统时需要考虑的方面。

二面是hr面试,主要聊了薪水、加班和补助等。在谈到买房问题时,quiet同学得知在拼多多工作两年就可以凑足首付,这让他对未来充满期待。

三面是商品部的老大亲自面试,主要聊设计技术方案。在谈到订单创建优化时,虽然quiet同学提出了分库分表和异步创建订单条目的方案,但仍未能完全满足面试官的要求。还讨论了分布式事务和可靠消息最终一致性的方案。

虽然他在技术面上遭遇了挫折,但他的努力与经验仍然值得赞赏。

阿里面试

接下来是蚂蚁金服的面试:

一面是电话面试,主要聊了40分钟的业务。quiet同学正在地铁上,尽管环境嘈杂,但他依然展现出了专业的业务素养和应变能力。

整体来说,quiet同学在面试中展现出了丰富的经验和扎实的专业知识,虽然在某些高并发的优化经验上有所欠缺,但他的潜力与努力仍然让人印象深刻。期待他在未来的求职路上继续发光发热。面试官对我之前在公司负责的订单模块产生了兴趣,询问了具体的下单流程、系统流转以及涉及的领域。我解释称,下单流程因业务不同而有所差异,但通常涵盖库存、订单、营销等方面。订单完成后,涉及调度、积分、用户等多个领域。

在深入探讨订单模型设计时,我介绍了订单主表和订单条目表的基本构造,并说明我们是根据供应商维度进行订单拆分的。面试官对订单模型表示满意后,转向询问关于正向下单流程中优惠劵、库存、订单三者的事务保证问题。

我解释了我们当前的做法,即没有采用分布式事务,而是在订单处理过程中使用catch语句进行异常处理,如释放存储、更改优惠券状态等。面试官指出这种做法的潜在问题,主要集中在异常处理失败的情况。我们目前的解决方案是记录相关接口调用日志,并通过定时任务轮询这些状态记录,进行告警通知。我们也正在调研分布式事务框架。

二面是现场面试,我遭遇了两个面试官连环炮似的提问。他们询问了我关于用户中心设计、Redis使用、下单链路等问题。他们还深入探讨了正向下单流程中库存、订单、积分的分布式事务问题以及履约流程和系统架构图。在谈及平时架构设计中需要画的图时,我列举了数据库ER模型、流程时序图、逻辑架构图等。

当被问及哪些中间件我深入了解时,我提到了ES和Redis。我详细描述了ES在同步MySQL数据时的使用场景,以及遇到的架构问题和Redis的性能优化。

整个面试过程持续了数月,期间我接到了阿里的三面通知,但因刚入职新公司不久,最终放弃了。阿里的面试官后续联系我,询问是否愿意面试杭州的职位。尽管我表达了尝试的意愿,但由于时间冲突,最终未能参加面试。

在某次面试中,我被问及在现公司的工作经历和技术栈,包括最近参与的B端招聘项目的技术细节。面试官对我的技术能力和项目经验表示满意。随后在二面中,我遇到了一位技术大牛,他深入考察了我在Java技术栈上的功底,包括并发编程、JVM原理等。

在三面中,部门主管级面试官询问了我对DDD的理解以及一些技术细节问题。而在四面中,HR主要关注我的职业规划、离职原因以及对新环境的适应能力等。经过多轮面试,我最终收到了阿里的offer,但考虑到现阶段我更愿意在中等公司深耕技术,最终拒绝了offer。

我在某在线教育公司的面试经历也相当顺利。他们对我之前的工作经历和技术能力表示出浓厚的兴趣。面试经历小记

针对“一面”的技术挑战,我对一系列基础知识点进行了深入的应对。面试官对于Java内存模型、ReentractLock与synchronized的差异、HashMap 1.7与1.8的转变等问题的询问,我凭借扎实的知识储备成功应对,流畅地阐述了答案。而在探讨分库分表策略以及MQ消息可靠性的问题时,我的专业解答得到了面试官的认可。

进入“二面”,与面试官的业务交流更像是一场技术领域的深度对话。凭借对过往项目业务的深刻理解,我分享了自己的见解和设计思路,与面试官交流得如鱼得水。

到了“三面”,直接领导对我进行了更为专业的技术考察。关于共享业务(大中台)的理解、服务边界的划分以及微服务治理的要点等问题,我给出了专业且全面的回答。随后的薪酬讨论和流水文件的提交流程也让我对这个公司有了更深入的了解。最终,我收到了深夜的offer通知,虽然感受到公司加班强度较大,但基于对平台及发展的考量,我还是选择了接受这个技术专家的岗位。

喜马拉雅的技术经理职位是我朋友内推的,面试过程持续了一个小时。虽然对于双亲委任机制和SPI等问题的回答不够完美,但在面试过程中我展现了自己的思考能力和解决问题的思路。遗憾的是,在需要手写队列的时候我选择放弃展示,这可能与我一面的结果产生了影响。虽然我对自己的表现有信心,但仍未获得进一步的机会。

除了上述公司,我还参加了其他公司的面试。在上海本土的一家生鲜平台公司的面试中,我虽成功通过面试,但因技术栈不符以及对薪酬沟通的不满而选择拒绝。另一家上海出行公司的offer因降薪幅度过大而被我拒绝。在与这家公司的hr沟通中,我感受到了不专业和缺乏尊重。尤其是技术专家岗位的面试过程中遇到的面试不专业情况,更让我坚定了拒绝的决心。

本文由石杉的架构笔记(id:shishan100)授权发布,作者中华石杉拥有多年BAT架构经验,愿为您分享更多实战经验和学习心得。

来顶一下
返回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
推荐资讯
相关文章
    无相关信息
栏目更新
栏目热门