2023 暑期阿里实习记录

关于实习投递总结:牛客链接

入职

  • A区5个、B区3个食堂,每天午饭20元打到卡上,晚饭20元和夜宵10元(晚9点)以点券形式发放,周末均以点券发放;按出勤日发放工资(实习生统一工资),每月2000元房补,报销来回车票,赠送2周酒店和贝壳免费转租服务;
  • 公司通讯工具为阿里钉,联网、会议工具为阿里郎,文档工具为语雀;
  • 除公司福利外还有一年香、三年醇、五年陈、奶茶日等活动,一般由公司组织或mentor买单;每季度有P9和HRG组织的新人茶话会活动;
  • 团队有热天轮流请甜筒、升职请全组吃饭、周末爬山等传统;平时会组团打篮球、健身等;
  • 工作时间:10点~12点,14点~18点,19点~21点(10 9 5);周五18点下班;
  • 不看工作时长,只看任务完成情况;只要任务完成任何时候都能下班;
  • 技术能力和工作完成情况是第一位;
  • 对同事、老板直呼花名(阿里特色)或同学;男女比大概3:1;
  • 关于工作:每周老板会给任务,没完成会批评,经常周末也会给任务;
  • 组里有和我同期进入的硕士应届生,有在华为工作两年跳槽阿里的,有在阿里干了六七年的;有年轻的,也有刚抱小孩的,没有年纪更大的;
  • 压力非常大,每周一开一次组会,还有各项业务基本一天一次小会对接任务;
  • 沟通直接,交流高效,不回避矛盾;
  • 同组负责的业务有:端智能、XR、AI引擎相关;技术栈:C++、C#、Objective-C、Unity、iOS、Android、VisionOS、前端;

见闻

  • 关于招聘(仅针对阿里):一个岗位有几千人投递,经过HR筛选后剩50+份,交给组内员工直接面试;一面、二面、三面分别为P7(师兄)、P8(mentor)、P9(团队大老板),最后选出两人入职;总体竞争很激烈。
  • 我个人对岗位的划分:研究、技术(工程)、业务;算法岗学历要求较高(我所在团队算法岗的最低学历是华五硕士,最高有北大博士);技术岗有较稳定的推进节奏,也需要接相应业务以维持重要性;业务岗特定节点附近会很忙,平时相对轻松,据说升职速度主要取决于接到项目的含金量;
  • 2023年7月,阿里改组1+6+N后进行中层职级调整,将P4~P8大职级拆分为14~28小职级,连续两季度绩效考核3.75(三档:3.75、3.5、3.25)可以升一小职级;P8以上职级取消,由组织直接任命并决定薪酬;
  • 阿里摩天轮曾发生P0级事故:一个测试包30天过期并提醒升级的逻辑被注入到正式发布版,直到双十一前半个月才被发现。最后紧急打补丁修复,摩天轮负责人离职;
  • 身边案例(往年):一般两年升P6,4年~8年升P7,6年~10年升P8;P8开始管理小组(即mentor);P9和HRG人员共同管理整个团队;
  • 国内大厂的通病:短视、赛马,不以产品质量为关键指标,能用就行,导致团队间合作效率低,员工归属感较弱;
  • KPI考核体系现已改为OKR体系;
  • 每周一的周会:类Brainstorming讨论,语速快、无停顿、可以随意打断对方,不回避激烈态度和意见冲突(但坚持对事不对人);有话直说,时刻以解决问题、提高效率为最高目标;
  • 坚持任务驱动型学习,保持高效学习的能力比学习本身更重要;
  • 组里有一个很摆的十二年 P6,从不加班,几乎也没有被裁风险,因为组内只有他负责这块业务,裁了很难补上;所以”建立技术和业务壁垒“也有用处,虽然大部分时候不是我们自己能控制的;
  • P7 及以下的人员变动一般由 P9 统一管理,P8 负责反馈和具体执行;
  • 要求出活,几乎没有时间能沉淀技术;

团队工作

  • 新人茶话会(P9和HRG召开),Meta技术团队整体介绍;
    • P9个人经历:13年 ALL IN无线,设计手淘架构;目前负责端智能;
    • 面向3D/XR,业务侧;3D内容离线生产,实时渲染;
    • 使用软硬一体拍摄设备,几何重建与NeRF重建,业务应用;
    • 细节清晰、模型小(5M以内)、实时渲染、低成本;渲染耗时:3秒用户留存率较高,5秒大幅降低;
    • 资产工作流规范化,降本提效,规模应用;已做到5000+交付,33项业务覆盖;
    • 3D模型 → 结构化网格(Mesh)→ 材质贴图;网格固定:同款多SKU,网格生成:不同款式与不同SKU;
    • 2D真人虚实融合:单视角0DoF;2.5D真人虚实融合:3DoF、360度多视角;3D:6DoF、有3D视频;
    • 预处理 → 静态重建 → 动态稀疏重建 → 运动蒸馏 → 实时渲染;
    • 行业首个手机端实时交互;大世界系统,流式加载,端云协同;初步落地:淘宝人生@手淘,日食记@手猫、手淘;
    • 端3D引擎(渲染架构):AceNNR Runtime;云3D引擎:AceUSD模型格式、3D资产库;
    • 离线引擎AceRay光线追踪(1min-1h),实时UE光栅化渲染(15ms-1s)
    • 端智能:MNN-XRAppOS(终端非游戏应用研发模式)(实时AI交互算法PixelAI)-3D商品AR交互应用;3D大模型;为Vision Pro做好规划;
    • 人货场 - 一次编辑(UE Unity)- 二次编辑(电商3D内容编辑器)- AceUSD模型(3D资产库);

个人工作

  • 实习期任务:完成 XRAppOS 远程真机调试插件,实现对端侧 3D/XR 场景的 Unity 实时场景部署和调试;
    1. 在 XRAppOS 端侧构建调试 SDK,用于接收 Unity 发送过来的命令,和向 Unity 同步状态(主要技术栈: iOS/Android + C/C++/Objective-C++);
    2. 在 Unity 中实现 XRAppOS 的 Debug Server,用于和端侧进行实时通信和同步状态(主要技术栈: C#/C++);
    3. 基于 XRAppOS 端侧和 Unity 插件为 3D/XR 开发/调试提效,实现 Unity 场景快速导出并推送到端侧、端侧场景与 Unity 场景双向状态同步的调试。
  • 第一阶段:插件环境搭建

Unity 远程真机调试插件开发

  • 第二阶段:插件架构设计
    • 正式环境搭建
    • gRPC 接入 XRAppOS
    • 完成 Unity 与 XRAppOS 环境相互调用
    • 跑通 Unity 中创建一个 Cube,同步在 XRAppOS 中创建
    • 架构设计,需要满足如下几个条件:
      • 扩展性:能够以较低的成本新增功能,允许外部开发者扩展插件能力
      • 分层设计:按照通道、协议、接入、业务等维度自底向上的分层设计出插件的架构,使得后续功能开发无需关注底层通道和实现,只需要专心实现功能
      • 稳定性:需要在底层做好稳定性保证,通过断线重连、重连状态恢复等机制保证通道稳定性,提高代码的鲁棒性避免出现 Crash
      • 高性能:插件传输的数据较多,需要通过数据压缩、网路优化等手段降低延迟,提高通信效率,同时尽可能降低对 App 本身运行的影响
    • 架构验证:
      • 完成底层通道、协议层搭建
      • 分别测试局域网和广域网下通道传输数据的延迟和吞吐量
      • 完成接入层设计,并基于接入层实现 2 个接口并在 C/S 双端互调
    • 稳定性验证:通过 Address Sanitizer(ASan) 验证 C++ 的稳定性,通过内存工具检查内存泄露,通过自测保证不发生 Crash
  • 第三阶段:场景结点树同步
    • 完成两个场景的 Node 树相互同步的逻辑
    • 完成 Node 的层级结构对应(经过服务端几何处理后,可能结点中间的某级结构会发生变化,需要支持配置映射规则)
    • 完成 Node 的 TRS (Translation / Rotation / Scale) 双向同步
    • 完成 Node 的增删、层级结构变更同步
    • 完成 Node 的 Component 修改同步
  • 第四阶段(未来规划):场景快速构建
    • 在 Unity 端实现基于 AceNNR 的场景构造插件和模型上传接口的场景一键打包上传能力,并支持在 GUI 上实时查询上传状态、取消上传和查看上传结果
    • 调通 AceNNR 插件接口调用
    • MTOP 接口调用,MTOP C++ SDK,Apply SecretKey
    • 上传按钮、上传状态和结果的 GUI
    • (低优先级,先完成主线)与 XR 工程团队与 AceNNR 团队同学配合,搭建一条轻量级的本地场景处理通道,完成局域网的模型生成,并通过调试协议推送到端侧预览
  • 第五阶段(未来规划)设备信息管理
    • 设备沙盒文件管理 (可复用已有三方插件能力)
    • 设备日志输出(例如输出端上的 tlog 等信息)
    • 设备配置管理(例如修改端侧 Orange 配置)
  • 逻辑开发调试(未来规划)
    • XRAppOS x Weex JS 工程调试打通

项目

  • 编写基于 XR 端智能框架的远程真机调试插件,实现对端侧 3D/XR 场景的 Unity 实时场景部署和调试
    • 使用 P/Invoke 实现在 Unity 3D 中 C# 与 C++ 的跨语言调用;
    • 使用 gRPC + Protobuf 组合完成多客户端远程实时高性能通信与 C/S 双端互调;
  • 完成基于 Weex:binding 的模型渲染中间件,实现前端快速集成与部署
    • 完成对 XR 渲染组件与前端框架的互操作的性能分析;
  • 全平台轻量级高性能深度学习引擎 MNN 开发,完成 Python 运行时性能调优组件
    • 搭建端智能基础链路,实现在 PythonVM 运行时上运行 MNN-CV 分类算法进行实时极高性能(200 ms)当前帧物品识别;
  • 基于 iOS UIKit/AVFoundation 和 ARKit 的端侧 AR 页面适配,生成 SDK 测试包,并最终集成发布
    • 设计 AR 互动帧投放放置类商品的通用页面与链接跳转协议;
    • 基于 ARKit 在端智能框架中设计接口,为应用层提供获取点云地图能力;