V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 外包信息请发到 /go/outsourcing 节点。
• 不要把相同的信息发到不同的节点
KSSysLab
V2EX  ›  酷工作

[北京/深圳] 快手平台研发部 SysLab 寻找热爱编译器技术的你!

  •  1
     
  •   KSSysLab · 2021-02-26 18:05:02 +08:00 · 2961 次点击
    这是一个创建于 1361 天前的主题,其中的信息可能已经有所发展或是发生改变。

    基本信息

    快手平台研发部编译器开发、及相关工具链岗位内推啦!

    首先说下相关福利:

    • 租房距离公司 3km 内有 2k 房补
    • 包三餐、下午茶

    地点:北京、深圳

    找我内推

    • 加 vx 了解更多细节: $(echo 'WW9vb29vb29vb29vb29vb291bXUK' | base64 -d),注明来意
    • 或者你想粗暴点直接发简历至公司邮箱: $(echo 'Y2hlbnpoaXdlaTAzQGt1YWlzaG91LmNvbQo=' | base64 -d)

    利益相关: SysLab 员工

    个人感受

    其实岗位可以分成两个大类,一个是新语言研发,另一个是有关 C++ 程序的工具链(如构建、调试、优化)。如果你以前没有相关知识也没有关系,可以给予时间学习。只要你热爱新技术、热爱学习,那你会在 SysLab 待得很开心。

    • 在进行新语言研发你会接触到多种不同的语言,学习他们的编译器,了解设计背后的思想,不再浮于表面。
    • 因为要涉及到调试,可能你会接触 DWARF 格式、eBPF 等辅助调试的工具。如果你有更好的点子也可以提出来、通过评审,然后就可以放在下个 OKR 里做你想做的事情。
    • 因为是基于 clang/llvm 开发,所以如果发现了 clang/llvm 的 bug 也可以尝试修复。这也是团队所推崇的,希望能在社区里有一定的影响力。
    • 因为快手 C++ codebase 是 monorepo 架构,时时刻刻都存在着编译、链接。在这个过程中为了解决各种编译、链接问题你会知道更多 clang driver 选项、了解汇编器、链接器的实现、了解相关 binutils 工具的实现。工欲善其事必先利其器,极好。
    • 想锻炼一下自己解决问题的能力(包括但不限于编译器)?想提升一下对 Linux 的理解?有大量的 case 任君选择。群内也会不定期的针对某一类问题进行讨论,又涨知识了。

    以下是官方招聘说明

    语言设计及其编译器研发

    基础架构中心 SysLab 正在寻找志同道合的你,一起设计并研发一门受欢迎的通用编程语言。

    1. 负责语言设计和编译器研发工作,承担具有挑战的一些创新项目;
    2. 设计面向未来的语言和编译工具,加速海量分布式服务 /AI 服务的研发效率和质量;
    3. 研发高性能工具链,提升研发效率和运行性能,节省人力和资源成本;
    4. 使用新语言研发高质量标准库。

    需要你:

    1. 熟练掌握 C++/Go 语言,具有高质量工程能力;
    2. 具备深厚的计算机底层知识;
    3. 具备良好的英文写作能力;
    4. 勇于挑战高难度工作,具备良好产品 Sense,高效的学习能力,过人的恒心和自驱力;
    5. 具备语言设计和编译研发经验更佳;
    6. 除 C++/Go 之外,了解 Rust/Java/Swift 更佳;
    7. 了解 LLVM/Clang 更佳;

    C++ 程序分析

    负责快手 C++ 核心程序分析,包括程序风格 /规范检查、程序静态分析、动态分析。能够通过研发程序分析工具提升研发效率,提升代码质量,减少 Bug,提升稳定性。

    需要你:

    1. 熟悉 Linux 开发环境,熟练使用 C/C++,有高性能计算、系统软件或者嵌入式的开发经验;
    2. 熟悉业界 C++ 程序分析技术并对底层原理有深入的认知;
    3. 具备良好的产品 Sense,对工具易用性方面有较深见解,具备较强的 Owner 意识和良好的服务意识,以及全局观;
    4. 了解 LLVM/Clang 以及相关工具集更佳;
    5. 熟悉编译器实现原理,了解 clang-format 、clang-tidy 、clang-analyzer 等工具的使用、原理更佳。

    C++ AI 组件维护、优化

    负责快手 C++ AI 组件的维护、优化,了解硬件那就更好了。

    需要你:

    1. 熟悉 Linux 开发环境,熟练使用 C/C++,有高性能计算、系统软件或者嵌入式的开发经验;
    2. 熟悉 GPU 底层原理、CUDA 库;
    3. 熟悉 TensorRT 、TensorFlow 更佳;
    4. 熟悉业界 AI 组件,如 MKL 、HNSW 、FAISS 、Annoy 、Scann 更佳;
    5. 具备良好的产品 Sense,对工具易用性方面有较深见解,具备较强的 Owner 意识和良好的服务意识,以及全局观;
    6. 了解 LLVM/Clang 以及相关工具集更佳;
    7. 有 AI 应用研发或者优化经验更佳。

    编译构建开发工程师

    快手高速发展的背后离不开广大研发线工程师的辛勤 Coding 。构建工具团队负责打造服务整个快手研发线的多语言构建系统,在提升工程师研发效率的目标上追求极致。需要解决的问题包括并不限于:提升构建速度,高效依赖管理等。

    需要你:

    1. 计算机或相关专业本科及以上学历,两年以上 C/C++服务端系统开发经验;
    2. 了解 Google 、Facebook 以及国内大厂在编译构建领域的解决方案及背后逻辑;
    3. 了解 Bazel 、Buck 、Cmake 、Git 、Svn 等开源软件的原理,有实际的较大规模使用经验;
    4. 熟悉 Linux 开发环境, 熟练使用 C/C++, 有高性能计算,系统软件或者嵌入式的开发经验;
    5. 掌握基本的 Shell 和 Python ;
    6. 有构建系统或 IDE 开发经验优先。

    性能优化

    主要是负责优化快手 C++ 核心服务优化,比如推荐系统、广告系统。利用编译器优化、链接优化技术降低延时,降低 CPU 使用率,降低内存使用,降低机器、带宽成本。

    需要你:

    1. 熟悉 Linux 开发环境,熟练使用 C/C++,有高性能计算、系统软件或者嵌入式的开发经验;
    2. 熟悉业界 C++ 优化技术并对底层原理有深入的认知;
    3. 具备良好的产品 Sense,对工具易用性方面有较深见解,具备较强的 Owner 意识和良好的服务意识,以及全局观;
    4. 了解 LLVM/Clang 以及相关工具集更佳;
    5. 熟悉编译器实现原理,了解 PGO 、LTO 、BOLT/Propeller 等优化技术更佳;
    6. 有国内大厂优化经验更佳。

    C++ 工具链研发工程师

    1. 负责打造整个 C++ 工具链建设,建设高效、高性能的 C++ 工具链;
    2. 提升快手上千 C++ 工程师的研发效率,以及线上 C++ 海量服务的运行效率;
    3. 参与构建、调试、优化、编译增强、Lint 、C++ 组件等子方向的建设。

    需要你:

    1. 熟悉 Linux 开发环境,熟练使用 C/C++/Python,有高性能计算、系统软件或者嵌入式的开发经验;
    2. 熟悉业界 C++ 工具链技术并对底层原理有深入的认知;
    3. 具备良好的产品 Sense,对工具易用性方面有较深见解,具备较强的 Owner 意识和良好的服务意识,以及全局观;
    4. 了解 LLVM/Clang 以及相关工具集更佳;
    5. 有工具链相关背景更佳;
    6. 有 Google 、Facebook 以及国内大厂在工具链方面研发经验更佳。
    第 1 条附言  ·  2021-03-22 20:14:19 +08:00

    又有新的坑啦!

    AI开发工程师

    负责从语言层面解决快手AI/推荐服务,提升研发效率和稳定性。

    需要你

    1. 熟悉 C/C++ 开发,熟悉 Python,熟练掌握常用数据结构及算法;
    2. 熟悉 GPU 底层原理、CUDA库更佳;
    3. 有深度学习和深度学习框架(PyTorch/TensorFlow/Caffe等)经验优先;
    4. 了解 Go 语言更佳;
    5. 对 AI 领域使用的语言有独到见解的更佳。

    技术文档工程师

    1. 负责技术工具产品的文档编写,包括不限于:基本文档、教程、最佳实践等,为用户快速上手使用产品、为开发者快速上手进行内核代码开发提供完整的文档支持;
    2. 与产品经理、研发工程师紧密联系,根据产品设计、技术实理组织文档内容的编写,保持文档内容、产品功能实现的一致性和准确性;
    3. 参与制定和改进文档的流程、规范、质量持续提升;
    4. 负责对产品、研发团队进行文档写作培训、提升产品、研发团队文档的写作能力。

    需要你:

    1. 本科以上(含本科)学历,计算机类专业毕业或者有互联网从业经验 3 年以上经验;
    2. 3 年以上工作经验,有大型企业产品文档开发经验者优先;
    3. 学习能力强,能快速学习掌握编程语言的基本概念和原理;
    4. 具备优秀的语言理解能力、信息架构能力及文档写作能力;
    5. 具备良好的项目管理、表达、沟通及协调能力。
    7 条回复    2021-03-10 14:19:30 +08:00
    KSSysLab
        1
    KSSysLab  
    OP
       2021-03-07 19:32:07 +08:00
    好像没办法回复?
    richardxx
        2
    richardxx  
       2021-03-07 19:34:33 +08:00 via iPhone
    要不买一套我们的专业程序分析产品吧,好用不贵,产品参考 www.sourcebrella.com 。可以邮件我 [email protected] 了解更多
    KSSysLab
        3
    KSSysLab  
    OP
       2021-03-07 21:24:08 +08:00
    @richardxx 货比三家,看看与 coverity, xcalibyte 的差距)
    bzEq
        4
    bzEq  
       2021-03-07 21:50:59 +08:00
    @KSSysLab xcalibyte 是啥
    KSSysLab
        5
    KSSysLab  
    OP
       2021-03-07 22:10:37 +08:00
    @bzEq Google 搜一下,也是国内某个大佬的 startup
    Kulics
        6
    Kulics  
       2021-03-07 22:46:20 +08:00
    有意思,快手也要搞个编程语言,什么方向的?
    KSSysLab
        7
    KSSysLab  
    OP
       2021-03-10 14:19:30 +08:00
    @Kulics 后台开发、AI 推理友好型的语言
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4190 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 10:16 · PVG 18:16 · LAX 02:16 · JFK 05:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.