V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mthli
V2EX  ›  求职

[求职] 资深 Android 工程师, 7 年工作经验

  •  
  •   mthli · 2023-09-18 11:20:48 +08:00 · 7389 次点击
    这是一个创建于 464 天前的主题,其中的信息可能已经有所发展或是发生改变。

    2023 三月初离职,八月初开始找工作。

    目前面试过的岗位有:

    • Duolingo, Senior Software Engineer, Android (北京)
    • 小红书,Android 资深工程师 - 社交产品(上海)
    • 米哈游,资深 Android 客户端开发 - HoYoLAB 国际社区(上海)
    • TikTok, Android Engineer (Real Time Communication)(新加坡)
    • 美团,实时音视频( WebRTC )客户端专家(上海)

    以上岗位均一轮游。

    总的来说目前面试确实有难度,接下来也不知道还能投递哪些公司和岗位。

    所以我把自己的简历发出来,期望找到一份 社区方向 或者 RTC 相关的工作。

    👉 简历RESUME

    76 条回复    2024-06-19 16:12:45 +08:00
    taosimple
        1
    taosimple  
       2023-09-18 12:04:12 +08:00   ❤️ 1
    你都这么难找了,一般人更难了
    rshinich
        2
    rshinich  
       2023-09-18 12:19:56 +08:00
    你竟然都找不到 0 0.
    piaoLuoer
        3
    piaoLuoer  
       2023-09-18 13:24:05 +08:00
    大佬一定很贵吧
    mthli
        4
    mthli  
    OP
       2023-09-18 13:33:06 +08:00 via iPhone
    @piaoLuoer 没有,不如字节和小红书的同等级工资😶
    anjingdexiaocai
        5
    anjingdexiaocai  
       2023-09-18 13:38:18 +08:00 via Android
    😂现在行情这么差了吗?
    darkengine
        6
    darkengine  
       2023-09-18 13:48:22 +08:00
    确实挺难办,大厂高 P 的坑位都被占得差不多了,小厂像我们又不需要太高的
    houndsin
        7
    houndsin  
       2023-09-18 13:54:43 +08:00
    加油
    briske
        8
    briske  
       2023-09-18 13:57:46 +08:00
    shein 深圳/上海有资深坑位,有兴趣私我
    hellovass
        9
    hellovass  
       2023-09-18 13:59:23 +08:00
    我去,李明亮?佬,你都找不到?震惊,行情差到这种地步了嘛?
    i979491586
        10
    i979491586  
       2023-09-18 14:00:06 +08:00
    现在客户端太不好找工作了,我做 iOS 开发的,5 年前转跨平台开发了,现在在做 flutter/web 开发。你也可以试试学习 web 开发,也可以换个方向转车机试试,未,小,理,比亚迪。你这么难找工作是不是工资太高了?
    bloomy8
        11
    bloomy8  
       2023-09-18 14:02:24 +08:00
    大佬为什么都一轮,看博客什么的应该技术是可以的
    hellovass
        12
    hellovass  
       2023-09-18 14:03:34 +08:00
    @i979491586 你翻他简历,可以说之前是挺有名的那种,我之前参考过明亮的 SugarAdapter ,代码写的可以的。我也觉得是不要价格还是要得高了点,不然不至于一轮游啊
    woniuppp
        13
    woniuppp  
       2023-09-18 14:04:02 +08:00
    加油加油,试试海外的岗位呢
    ldp940622
        14
    ldp940622  
       2023-09-18 14:10:05 +08:00 via iPhone
    啊这,瑟瑟发抖,这么强都不好找工作了吗😭
    coobbi
        15
    coobbi  
       2023-09-18 14:12:14 +08:00
    加油
    mthli
        16
    mthli  
    OP
       2023-09-18 14:12:29 +08:00
    @bloomy8 应该是项目经历没好好准备,哈哈(忘了就答不上来了)
    hooych
        17
    hooych  
       2023-09-18 14:12:36 +08:00
    一轮游?面试都问的啥?
    mthli
        18
    mthli  
    OP
       2023-09-18 14:37:34 +08:00   ❤️ 2
    @hooych

    Duolingo 的面试流程和内容可以参见这个链接 https://blog.duolingo.com/interviewing-with-duolingos-engineering-team/

    其他四家基本都是问项目经历,比如发掘一下是不是做过组件化、插件化,一些 Kotlin 语法对应的字节码细节(这部分我理解应该和两三年前的面试题区别不大)。算法题基本是 LeetCode Medium 左右(当然要尽量 bug free )。

    整体面试下来我觉得有点尴尬的地方是,简历上我中间切换了一次方向,其实岗位面试是有点割裂的,面社区方向就不会问你 RTC 的内容,面 RTC 就不会问你社区方向的内容。无论在哪个方向对应的积累可能都不太够?

    当然也有自己没好好准备项目经历有关。不过这也是一个问题,自己准备项目经历很容易有盲区,经不住问的。
    milzero
        19
    milzero  
       2023-09-18 15:00:13 +08:00
    建议把名字和电话隐藏下, 小心收到黄色小短信
    HolmesYe123
        20
    HolmesYe123  
       2023-09-18 15:40:15 +08:00 via iPhone
    老哥可以说说美团的那个面试为什么挂了,我看你的简历和岗位应该匹配度挺高的
    mthli
        21
    mthli  
    OP
       2023-09-18 15:59:14 +08:00   ❤️ 1
    @HolmesYe123

    严格来说我不知道自己挂了没有,因为没有收到拒信(简历状态一直是面试中)。

    但我主观上认为肯定是挂了,因为:

    1. 虽然看起来岗位是从头开始开发的 RTC 系统,但是面试过程中感觉他们更期望照到一个真正资深的人。比如做过传输算法的研究之类的?我的经历更像是把这个系统搭建起来,对于底层的研究和遇到的线上问题可能不足(不过这里我也有一些疑惑就是,WebRTC 发展了这么多年,是不是早年有的问题现在不存在了,所以我也很少遇到?)

    2. 这个岗位的笔试题也是目前我唯一没写出来的(以后面试其他岗位可能还会有没写出来的,不立 flag 哈哈),而且我会惊讶于怎么还会有这个题目(这里不方便透露题目,只能说可能挺符合美团的风格的..)
    zhouquanbest
        22
    zhouquanbest  
       2023-09-18 16:02:59 +08:00
    最近年龄是个坎,跟技术无关
    7 年左右最好带一些管理经验
    mthli
        23
    mthli  
    OP
       2023-09-18 16:09:28 +08:00
    @zhouquanbest 我个人的经历,管理经验也是需要一点运气。之前如果一直留在知乎是比较有机会的,在虾皮也是比较有机会的。但是都会因为公司方向的调整导致自己手下没人了(可能一直做新业务是会有这样的问题吧,业务没做起来就被解散)。
    choochoofly
        24
    choochoofly  
       2023-09-18 16:11:21 +08:00
    是不是因为你个人项目太多了😏
    mthli
        25
    mthli  
    OP
       2023-09-18 16:15:40 +08:00
    @choochoofly 不多吧,七年了有几个自己的项目还好吧(而且也基本是和公司的内部需求相关)。不过写简历的时候怎么把自己的公司经历和个人经历把握好是个问题。
    choochoofly
        26
    choochoofly  
       2023-09-18 16:21:01 +08:00
    我们也在做 WebRTC ,这个都是封装成业务,谁搞算法啊
    mthli
        27
    mthli  
    OP
       2023-09-18 16:26:59 +08:00
    @choochoofly 还是有需求的,东南亚的网络质量和国内不能比。而且感觉广州深圳这边搞底层的人还挺多的(呃,老程序员比较多),从北京来深圳也算是扩宽了我对技术路线的认知。而且自研 SDK 的话,不搞一些优化算法怎么和市面上其他 SaaS 公司做比较(比如声网)。抖音快手应该都有自己的优化。
    tencentlove1
        28
    tencentlove1  
       2023-09-18 16:30:56 +08:00
    7 年应该会考虑
    带团队多一些最好能带来一些效率提高,更加侧重团队效率提高方面。

    看起来是往技术专家方向,因为纯技术专家有点难,为什么?因为根据自己业务定制而成长起来的技术专家在各大厂流动性特别少。

    遇到一些这样的求职者,其实有点尴尬,像下去求职薪资会降太多或者给简历不好看,向上求职坑位不多。

    建议求职向管理转一下吧。

    个人意见~~
    choochoofly
        29
    choochoofly  
       2023-09-18 16:33:46 +08:00
    webrtc 这个各家的差别就不大,都是同样的视频格式,能差异到什么程度
    mthli
        30
    mthli  
    OP
       2023-09-18 16:39:50 +08:00
    @tencentlove1 目前这个简历投管理岗也比较难哈哈(虽然自我认知上确实也应该刻意往管理走走了..,以前比较随遇而安)。
    mthli
        31
    mthli  
    OP
       2023-09-18 16:46:16 +08:00
    @choochoofly 视频格式有一定关系,相同画质但是更高的压缩率肯定能节省带宽。不过更多应该还是集中在传输层面的优化,怎么更好的解决网络拥塞问题(比如是不是可以调整一下 FEC 之类的,这些都可以有一个专门的岗位研究了)。
    milzero
        32
    milzero  
       2023-09-18 16:56:24 +08:00
    @mthli 一般公司要么体量太小,要么整体对 QoS 要求不高,或者场景简单,所以没有优化的必要.
    lee1997
        33
    lee1997  
       2023-09-18 17:11:33 +08:00 via Android
    请问下 webrtc 开发工作内容大概是啥?对于客户端来讲
    broken123
        34
    broken123  
       2023-09-18 17:12:29 +08:00
    简历太差了 ,加点个人说明和熟悉的技能。 项目经验 写 4 个毕竟合适,工作经历用一句话就行了 xx-xx 年 在那个公司工作。有几家公司就写几行就行了。不要吧工作经历和项目经历混在一起 很乱。另外就是市场不好 真的不好找 。建议降低自己的期望。另外感觉是往技术专家方面走的路线,感觉不上不下的 走得不够彻底。 你这个只能找大点的公司或者 500 人以上的。小公司养不起你。或者考虑外企。
    yolee599
        35
    yolee599  
       2023-09-18 17:21:26 +08:00
    一眼看到了 Ninja 🫢
    https://github.com/ninja-build/ninja
    saberlily
        36
    saberlily  
       2023-09-18 17:25:26 +08:00
    加油
    Promtheus
        37
    Promtheus  
       2023-09-18 17:29:39 +08:00
    这样的简历都找不到工作的吗。。。是不是你开的薪资太高了
    deston
        38
    deston  
       2023-09-18 17:32:13 +08:00
    说实话建议走管理岗的,有那么管理岗位吗
    deston
        39
    deston  
       2023-09-18 17:32:36 +08:00
    @deston #38
    那么->那么多
    androidzai
        40
    androidzai  
       2023-09-18 17:40:23 +08:00 via iPhone
    同 Senior Android 。 也是三月份离职,我是被裁员不知道老哥你是自己辞职还是怎样。
    现在环境确实差,简历在手里都投不出去感觉没有合适的公司。不过我个人还是觉得每家都一轮游的话感觉你准备的并不充分。还是要多复习。八股,leetcode ,BQ 一个都不能少。
    codele
        41
    codele  
       2023-09-18 18:03:15 +08:00
    同在找工作中,现在看有一些手机厂商和车载座舱的 android 岗位。
    whyrookie
        42
    whyrookie  
       2023-09-18 18:06:04 +08:00
    你这样的都找不到,我这样的就更难了😢
    mthli
        43
    mthli  
    OP
       2023-09-18 18:27:03 +08:00   ❤️ 1
    @lee1997

    1. 如果是运行在 Native 上,你需要先搞定编译流程(对于 Android 主要是在 Mac 上编译比较麻烦,需要改造编译脚本;你也可以用专门的 Linux 编译机编译)。

    2. 对于服务端,一般来说会选择 SFU 架构,这方面有很多开源实现,我们最早也是基于 mediasoup 改造的。mediasoup 也有第三方开发的 Android / iOS demo 可以参考,但最终并不是直接使用这些 demo ,大部分逻辑都重构了。

    3. 如 2 所述,为了方便后续扩展和维护,你需要搞懂具体用到的框架的连接流程,比如信令的发送时机、断网重连怎么恢复流的状态,用户(主播或观众)的状态等,这些可以理解为状态机的迁移过程。也方便后续改造或者精简信令(提升连接速度)。也会涉及音视频采集和渲染的工作,但是这部分 WebRTC 本身已经处理的挺不错的,不用过多关心。

    4. 最终呈现出来的对外 SDK API 的形式可以参见声网的文档(对于不同业务,需要的功能是声网的子集) https://docportal.shengwang.cn/cn/All/API%20Reference/java_ng/API/rtc_api_overview_ng.html

    5. 如 4 所述,公司内部的 SDK 需要对不同业务的特点做支持(问题排查)和优化,比如银行认证关心通话成功率和画面清晰度、直播关注延迟和流畅度等。如果之前没有的特性也需要添加,比如直播在视频帧里要添加 SEI 信息,客服可能要添加铃声的混音等等,需要对音视频格式和 FFmpeg 混音有一些了解(其实我之前也没什么了解,现学现卖)。

    还有其他的内容,比如协助集成一些自研的网络库、音频 3A 算法之类的,也是需要对 WebRTC 的源码有一定的熟悉度。嗯,大概就是这些。
    mthli
        44
    mthli  
    OP
       2023-09-18 18:28:52 +08:00
    @androidzai 主动提离职的,当时公司有 n+2 (可以搜一下当时的虾皮新闻)。不走就继续干,现在不用找工作了哈哈。
    BruceLi
        45
    BruceLi  
       2023-09-18 18:34:23 +08:00   ❤️ 1
    @mthli 西电毕业的啊,有兴趣回西安工作吗,做边缘计算操作系统和相关产品研发,正在招 iOS 和安卓原生开发。
    anjingdexiaocai
        46
    anjingdexiaocai  
       2023-09-18 18:40:55 +08:00 via Android
    mark 下,3 月到现在也有半年了,为啥就这几个面试呢?
    mthli
        47
    mthli  
    OP
       2023-09-18 18:49:01 +08:00
    @anjingdexiaocai 八月才开始找工作呀。之前都在搞 GPT ,做了几个小玩意自己不是很满意
    mthli
        48
    mthli  
    OP
       2023-09-18 18:49:32 +08:00
    @BruceLi 不考虑回西安了,我不是西安人
    LXVC
        49
    LXVC  
       2023-09-18 19:10:34 +08:00   ❤️ 1
    不是你的问题,是环境的问题,加油。
    xlsepiphone
        50
    xlsepiphone  
       2023-09-18 19:18:49 +08:00
    还好 19 年就没搞 Android 了,还是躺平好。
    lee1997
        51
    lee1997  
       2023-09-18 19:26:06 +08:00
    @mthli 哇!感谢回复!请问下日常用什么 ide 去看/改 webrtc 的代码呢?目前用 clion/Android studio 都不能很好的支持,特别是想点到具体的实现之类的。
    cassiaesemen
        52
    cassiaesemen  
       2023-09-18 19:58:46 +08:00
    @mthli 10 年 Android 路过,现在基本没面试机会,麻了。
    zhouqian
        53
    zhouqian  
       2023-09-18 20:06:33 +08:00
    大佬! Forked from mthli/Ninja 是我在 Github 上 fork 的第一个项目(仅仅 fork :p )。
    leexsh31
        54
    leexsh31  
       2023-09-18 20:24:13 +08:00 via iPhone
    我在字节 rtc 可以内推
    v7
        55
    v7  
       2023-09-18 20:57:12 +08:00
    来 TikTok 上海再试一下?
    waylife
        56
    waylife  
       2023-09-18 21:36:07 +08:00   ❤️ 1
    大佬加油。
    cuzval
        57
    cuzval  
       2023-09-18 21:46:19 +08:00 via iPhone
    请问简历是用什么模版生成的啊?
    miKaSaAkerMan
        58
    miKaSaAkerMan  
       2023-09-18 22:12:54 +08:00
    pdd 考虑么
    mthli
        59
    mthli  
    OP
       2023-09-19 00:01:12 +08:00
    @lee1997

    我一般还是用 VS Code 看代码的,也用 VS Code 改代码( Android Studio 有时候也会用)。

    AS 更多还是用于打断点,能打断点比直接去看代码梳理逻辑要容易很多,我之前也写过一篇断点调试的文章(但是现在新版本看评论似乎已经不生效了,可能要调整一下) https://webrtc.mthli.com/basic/webrtc-breakpoint/

    除了打断点之外,还需要熟悉一下 WebRTC 的线程模型(和 Android Looper 比较像),以及信号槽机制(可以理解为观察订阅模式),单纯看 WebRTC 代码基本够用了( WebRTC 也封装了大量的第三方库,但这就是另外的话题了)。

    最后如果你用 AS 看代码的话,直接导入 WebRTC 源码,索引会爆炸的( CPU 占用率 100%),所以要屏蔽一下第三方库的索引目录,比如可以在项目的 build.gradle 里这样写:

    ```
    idea {
    module {
    excludeDirs.add(file("${webrtcIncludePath}/testing"))
    excludeDirs.add(file("${webrtcIncludePath}/third_party"))
    excludeDirs.add(file("${webrtcIncludePath}/tools"))
    }
    }
    ```

    webrtcIncludePath 就是你本地的 webrtc/src 的绝对路径。
    mthli
        60
    mthli  
    OP
       2023-09-19 00:03:41 +08:00   ❤️ 1
    @cuzval macOS 上有一个 App 叫做 Bear https://bear.app/ ,直接写好然后导出为 PDF 就可以了(导出为 PDF 功能需要付费,好在订阅费比较便宜,也可以随时取消,也有试用期哈哈,你在试用期里面导出 PDF 就就可以不付费了)。
    mthli
        61
    mthli  
    OP
       2023-09-19 00:05:54 +08:00
    @leexsh31 我之前面 TikTok RTC 新加坡的岗位,简历状态还是 Interviewing (面试中)呢,两三周没变过了,给 HR 发邮件也没有回复,只能自认为挂了。简历状态不变的话是不是就没法走后续面试其他部门的流程呢?
    mthli
        62
    mthli  
    OP
       2023-09-19 00:06:55 +08:00
    @miKaSaAkerMan PDD 听起来比较累,后面再考虑(
    mthli
        63
    mthli  
    OP
       2023-09-19 00:17:18 +08:00
    @briske 我先看看,之前没咋关注 Shein 的岗位
    mthli
        64
    mthli  
    OP
       2023-09-19 00:18:09 +08:00
    @v7 明天找你私聊一下
    fcoolish
        65
    fcoolish  
       2023-09-19 01:16:30 +08:00
    需要内推字节不
    Vclow
        66
    Vclow  
       2023-09-19 09:54:46 +08:00
    大环境真是差得可以
    lee1997
        67
    lee1997  
       2023-09-19 10:20:05 +08:00
    @mthli 我就是在您的文章下面评论断点调试临时解决方法的那个,哈哈哈,谢谢哈,主要是我感觉想找某一个方法的实现都得全局搜索,体验上实在不方便。
    S8I86w6eTxeLcK0a
        68
    S8I86w6eTxeLcK0a  
       2023-09-19 10:35:13 +08:00
    我也是 Android ,找了半年工作了,不过我只找远程,不坐班哈哈。现在兼职挣点房贷生活费了
    TArysiyehua
        69
    TArysiyehua  
       2023-09-19 10:45:34 +08:00
    简历是真的不行,没一点突出的成绩和贡献。你要突出自己的战果,其次是你会的能力。
    然后就是目前客户端是很难找工作的,看你的描述自己的简历没写好重点,建议你如果投 app 岗位,就专门准备 app 相关的,投 rtc 的,就准备 rtc 相关的,多份简历也不奇怪。
    其次就是多刷刷面试题,不要一上来就去心仪或者想去的公司,一定要先去小公司,中等的,先刷刷面试经验,激活一下自己的大脑,接着才去面自己想去的岗位。
    最后就是大环境,现在客户端基本都是没有几个岗位的,就这么几个,要求不是一般的高,一般以前大概 80,90 分就觉可以了,现在你不拿到 98 分基本都不会要
    robinlovemaggie
        70
    robinlovemaggie  
       2023-09-19 10:54:54 +08:00
    @lee1997 你简单理解为保证你看小姐姐跳舞时候画质高清且不卡的技术。
    HyperionX
        71
    HyperionX  
       2023-09-19 11:01:53 +08:00
    bGF6eV9wYW5kYS0z 加我可内推
    zhenghuiy
        72
    zhenghuiy  
       2023-09-19 11:55:46 +08:00
    斗胆给大佬提几个建议:
    zhenghuiy
        73
    zhenghuiy  
       2023-09-19 12:03:12 +08:00   ❤️ 4
    作为列表里某个厂的不知名面试官,斗胆给大佬提几个建议:
    1. 每个公司都一轮游,说明技术基础这块准备严重不足(说实话,看到这样的简历,在挂你的时候都会先犹豫一下)。一般第一轮面试 80%+ 都是基础,这些基础需要投入一点精力去复习一下。(你应该记得几次面试的面试题,可以复盘一下)
    2. 一般到了 7+ 的年限,不只是看能不能干活,还会看过往的经历跟团队目前的需求是否匹配。比如团队目前缺一个做性能的,那碰到有性能经历的候选人就会比较加分。那么看到大佬的简历最亮眼的两个标签是 「 RTC 」 和 「业务」,那可能投递到匹配的团队哪里去是更重要的。(如有需要,我可以帮你内推)
    3. 开源经历,特别是大佬这种比较知名的经历,对低于 5 年的研发来说,是超级加分;但对于 5+ 的程序员来说,自身的业务&技术经验积累跟目标团队的匹配更为重要。
    wangxin05
        74
    wangxin05  
       2023-09-19 15:31:25 +08:00
    咦,看到中间有一年( 19-20 年)的后端经验,好奇为什么后面没有继续深扎后端而又回到了 Android ?我也是移动端转到的后端( Java 栈),也还在挣扎中...
    xinshoushanglu
        75
    xinshoushanglu  
       2023-09-19 19:03:24 +08:00
    这么难的吗?看来行情确实差啊
    piscesq329a
        76
    piscesq329a  
       188 天前
    大佬有来填坑吗?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3492 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 04:31 · PVG 12:31 · LAX 20:31 · JFK 23:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.