首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

小米 JD 调研

  • 25-04-22 22:42
  • 2644
  • 5721
juejin.cn

JD 信息

岗位职责:
1. 负责研产供数字化一个业务方向的解耦性、扩展性开发
2. 负责研产供数字化业务系统的技术演进规划
3. 参与业务发展方向的讨论
4. 指导初中级工程师的日常工作
任职要求:
1、计算机科学与技术、软件工程等相关专业毕业
2、8年以上后端开发,熟悉Java开发语言,熟悉springcloud、spring boot等开发框架
3、熟练掌握Java基础知识,熟悉IO、多线程、集合等相关技术,对JVM有一定了解,有调优经验优先
4、熟练掌握MySQL数据库,对sql有较强的调优经验,熟练使用Redis等缓存中间件,理解其原理和使用场景
5、对企业级应用的开发模式熟悉者优先,有供应链项目经验者优先,有实际微服务架构项目经验者优先
6、良好的的沟通能力和业务理解能力,有较强的责任心和学习意识

HR 告知的关键信息是「业务场景是给小米内部硬件研发、生产制造提供 IPD ISC 的 IT 服务,对业务复杂度的处理能力会有要求」。

首先我要仔细阅读 JD 要求,根据要求分类,在每个类别上检索自己曾经对口的工作经验,证明自己可以胜任岗位。我需要分析业务、能力(硬实力技术能力、架构能力和软实力跨部门沟通、合作)、和个人品质(靠谱、忠诚、责任、平和)。
其次我要了解面试官和 HR 的期望,在老曾的课程中讲到,面试官看重当下状态和未来潜力;HR 看重人员是否达标。所以我要在简历和面试过程注意站在对方角度思考。
最后我要调研公司目前的状态,思考自身哪些能力、特点可能是加分项,并在面试中展示出来。

业务

首先,我要分析 JD 的业务场景,职责前三点重点是 「产研供数字化业务方向的解耦性、扩展性开发」,关键词 IPC、ISC,我需要找一下资料学习。

应该是和小米汽车供应链相关的研发、产品、供应链数字化系统,可能是一套内部系统用于管理小米汽车所有的供应链相关事项,对解耦性和扩展性有很高的要求。

我调研并写下了研产供数字化概念和思考,现在我已经了解研产供数字化整体情况,通过数字化深度融合的方式,实现降本增效。并在文末附上了自己的思考,关于如何做出成功率更高的决策,以及如何在执行层面更好推进。

能力

业务理解能力

JD 中提到对业务复杂度的处理能力有要求。我可以讲解 24 年成功的项目经历,这是个从 0 到 1 完整的项目,我是项目负责人和主程,也参与业务、需求上的决策。
我可以列举一些复杂的业务场景,说明我是如何解决的,总结了哪些方法论。

24 年我在做一个从 0 到 1 的完整项目,我是项目负责人和主程,我们找到了一个非常好的 MVP 模型,想办法做放大和增量,24 年做到了 600w+ GMV,今年还在增长。

我在过程中做两大块事情,1:业务决策,2:编写代码。

业务理解能力决定项目最终能否成功,600w+ GMV 的事实已经证明了这点,具体业务模式在面试时细说,相信在「业务复杂度的处理能力」能够胜任。

以下是从业务中复盘总结和学习到的方法论:
如何分析业务成功概率?
对对对

如何帮助需求方定位真实需求?
使用 互联网必备职场知识(2)—— 靠谱 中提及的目标 5 元素。

  1. 要做什么
  2. 为什么要做
  3. 怎么做
  4. 截止时间 deadline
  5. 需要的资源

如何在执行侧优化?
创新性项目经验 中总结了未来再次做类似项目时,哪些地方是我可以改进的。

技术能力

这是体现我专业性的地方,但不能以八股文的方式去死记硬背,重心应该放在技术架构设计和解决方案上。
在这些设计和解决方案中,使用的工具尽量匹配 JD 要求的技能项。

我常用的技术栈有多线程、MySQL、Redis、Kafka,下面是组合他们解决业务场景的案例。

2PC 方案异步结算 业务场景:
随着订单量增多,依靠数据库同步结算的方式

1.Redis 开启事物, 存入前缀 key + 结算单号到 Redis,value 是 prepare,24 小时后自动过期。 2. 加款先发 kafka 再改 Redis 用户余额;减款先改 Redis 余额再发 Kafka。 3. Redis 提交事物,成功或失败,都会发送一条延时核对消息,判断 Redis 和 MySQL 是否都有结算单记录。失败时候要根据失败场景写补偿逻辑。

额外配置:

  1. Kafka 发送者开启 acks = all,使用同步发送;接收者使用 Acknowledgment 手动提交,3 次消费失败进入死信队列人工处理。消费时做 MySQL 数据库唯一键幂等。保证发送成功的消息一定成功,且只会消费一次。
  2. 以上任何节点导致的失败,最终结果一定是 MySQL 中的余额 > Redis 中的余额。写好补偿逻辑,比如 key 都没有就重发;Kafka 发成功 Redis 改失败,则同步 MySQL 余额到 Redis 中。
  3. 全局使用 Redis 分布式锁,颗粒度设为用户 Id,等待时间 2s。

企微活码多线程
随着业务增长,流量企微活码有 100 多个,调用企微更新接口耗时 2 分钟 +,需优化。

最开始使用 ForkJoinPool 多线程处理,但是我们线上服务器配置是 1 核 2G,不能完全发挥作用。

于是拆解了下业务场景,配置多个线程池各司其职,经验如下Java 线程池经验。

排行榜缓存

延时任务系统;
商户订单支付系统;

团队合作

大公司需要的软实力,部门沟通,老曾课程

学习能力

cursor,AI,RPA 机器人 两个架构师,枫哥华哥,近期请枫哥吃饭,他给我一套架构设计,愿意腾讯会议远程指导我理解架构。

带队经验

个人品质

靠谱

理解到靠谱不是什么事情的都接,而是分辨事情重要性,只做最重要的事情,在做的过程中对事项的复杂度和自身能力有清晰认知,主动向上级汇报工作进度,保证项目进度可控。

事情分给其他同事做,时刻跟进。

待续......

注:本文转载自juejin.cn的jianzhangg的文章"https://juejin.cn/post/7495955310965620755"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2491) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

103
后端
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top