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

关于昨日一次 Android 面试的感想

  •  
  •   l8mEQ331 · 2018-08-03 11:24:44 +08:00 · 14026 次点击
    这是一个创建于 2302 天前的主题,其中的信息可能已经有所发展或是发生改变。
    [以下内容并不客观,更偏向于自己。希望大家友善发言,如果能够说一下自己的想法或者对于面试看法技巧之类的就更感谢了。]

    首先介绍一下自己的情况。目前所在的是一家小的创业公司,待了 3 年多,薪资一般吧。由于这几年公司也在转型。工作经历大概可以分为 3 个阶段。

    第一阶段是从进公司开始做 android app 开发,无论是外包或者公司的主力产品都做过。

    第二阶段是做 ROM 开发,由于公司规模不大,除了硬件和底层的东西外,基本上是一个人负责了整个 ROM 的修改,编译,发布(基于 MTK 的某一个 rom,然后做一些 android framework 层面上“奇奇怪怪”的定制)。

    第三阶段,也就是当前。之前做的 ROM 所适配的手机销量未达预期,公司也不再准备投入更多,基本上是做做简单的维护。而我被分配的新任务是做机器学习的一些东西,比如 Tensorflow, OpenCV 做做图片处理,训练之类的。

    相信诸位看了上边的经历,大概也猜到我现在所面临的问题。即,当前在一线做 android app 开发,而我的目标仍然是想找 android 开发的职位。

    我对于自己的评价:

    Android app 开发能力一般,但是足以胜任一般 app 开发的任务(因为确实有段时间未做公司正式项目的 app 开发,但是也不是说已经荒废了技能);

    Android frameworks 方面比普通开发者了解更多;

    解决问题,学习实践新技术的能力不错(无论是从第一次编译 AOSP 到后来整个 ROM 的开发,发布。还是从对机器学习完全陌生,到现在能够描述常见机器学习的算法,使用 Tensorflow 实现一些这方面的需求)。

    说到昨天的面试,面试官几乎是按照他所准备的 Android 面试题一一提问。如:View 自定义,handler 机制,内存泄漏等。我的表现则让自己非常不满意,他问的这些我大部分都能答上,但是我自己所组织的语言,描述的结果却差强人意。大部分是因为我自己表达能力的问题,我觉得这些问题如果是作为笔试题目,我能够更从容的回答。我更期待的是对于我自己项目经历的说明。因为这是我和其他应聘者不一样的地方。而面试官却完全没问我简历上的项目经历。虽然最后我还是自己硬讲了一下,但面试官也并未有兴趣,我讲的也很干瘪。最后面试就这样结束了。

    我自己的想法:自己准备不充分,没能干净利落地应对这些“ Android 标准面试问题”。至少这些基础问题应该能够一两句话就讲清楚。完全没有体现出自己区别于其他应聘者的地方。我认为自己能够又更快又稳的做好开发工作,能够深入的研究框架,源码,解决一些疑难问题,而我要怎么才能让面试官也这样认为?
    46 条回复    2018-08-11 19:52:44 +08:00
    rinex20
        1
    rinex20  
       2018-08-03 11:30:53 +08:00   ❤️ 2
    诚心问:LZ 来上海吗?
    030
        2
    030  
       2018-08-03 11:36:35 +08:00   ❤️ 2
    8102 年了,现在 Android 开发要么是变前端,要么是归终端。
    LZ 这些经验没看到有什么亮点,你的这些自我评价,是一个正常有工作三年经验的人都该有的东西,真以为别人拖了三年控件吗
    l8mEQ331
        3
    l8mEQ331  
    OP
       2018-08-03 11:38:04 +08:00
    @rinex20 谢谢,已经在成都被套牢了,暂时没有去其他地方的打算。
    JAVAER
        4
    JAVAER  
       2018-08-03 11:38:55 +08:00 via Android   ❤️ 1
    楼主在哪学的做 rom 的?
    vjnjc
        5
    vjnjc  
       2018-08-03 11:40:27 +08:00 via Android   ❤️ 1
    哈哈 就当涨经验
    要是面试官没有你项目那边的经验的话他应该不会问,因为他不懂 framework
    rinex20
        6
    rinex20  
       2018-08-03 11:43:41 +08:00   ❤️ 1
    Lz 的经验并不适合常规的 Android 软件开发公司,更多的适合 Android-based 的 To B 的一些物联网,或者 iPC 领域,涉及 Android OS 一些简单定制有关的。
    l8mEQ331
        7
    l8mEQ331  
    OP
       2018-08-03 11:44:04 +08:00
    @030 是的,我也觉得现在 Android 真的是纯前端了。就连这样文字表达都无法让人觉得有亮点,更不要说面试的时候了。工作的本质终究还是能够又快又好的解决问题,一般的 Android app 也不会涉及到特别复杂的问题。如何能够让面试官觉得你能够胜任这份工作,或许第一步还是要先回答好他所问的问题吧。
    l8mEQ331
        8
    l8mEQ331  
    OP
       2018-08-03 11:47:44 +08:00
    @JAVAER 公司决定要做的时候,就给了一套 MTK 的源码,还有一些简单的文档,比如预装 app,修改开机动画,打包的步骤之类的,其他全部是网上搜索。我觉得 ROM 的东西要是真的在一家专门做 ROM 的公司,很多东西都会有完整的文档和标准的解决方式。这些问题也不会是多么的复杂。在没这样条件下, 一些简单的问题都需要自己去看源码,了解整个流程是如何进行的,解决一些问题变得很麻烦。
    l8mEQ331
        9
    l8mEQ331  
    OP
       2018-08-03 11:50:24 +08:00
    @rinex20 但是我对自己的职业规划仍然是想做软件工程师,偏向硬件的东西我也不太懂。没有 C++ 基础,如果真做 ROM 也比不上那些底层基础好的人。所以现在的定位就很尴尬,准备还是恶补面试的问题吧,至少先能够满意的回答。
    NSAtools
        10
    NSAtools  
       2018-08-03 11:55:34 +08:00   ❤️ 1
    我跟 lz 的情况差不多,基于一个方案的 ROM 搞七搞八的,各种奇奇怪怪的定制
    hqdmy
        11
    hqdmy  
       2018-08-03 11:55:52 +08:00   ❤️ 1
    多面几次就好了.
    xiaoshenke
        12
    xiaoshenke  
       2018-08-03 12:09:20 +08:00   ❤️ 1
    android 开发真是艰难
    aheadlead
        13
    aheadlead  
       2018-08-03 12:11:57 +08:00   ❤️ 1
    MIUI 考虑吗?北京&南京
    exuser111
        14
    exuser111  
       2018-08-03 12:21:52 +08:00   ❤️ 1
    问的都算基本款,从容自信点
    l8mEQ331
        15
    l8mEQ331  
    OP
       2018-08-03 12:27:07 +08:00
    @aheadlead 感谢,我觉得自己对 ROM 开发也没有非常系统性的学习,平时都是针对某一个需求才去看 ROM 某一块的东西。况且 C++ 没有一定的水平实在是不能找 ROM 开发的工作。
    l8mEQ331
        16
    l8mEQ331  
    OP
       2018-08-03 12:31:02 +08:00
    @exuser111 是的,这些问题都是“ Android 面试必问 100 题” 之类的,稍微准备一下可以从容应对。只是这次面试让我觉得自己的工作经历很难让别人觉得是加分项,如何能够让面试官认同值得思考。
    exuser111
        17
    exuser111  
       2018-08-03 12:36:41 +08:00
    基本款引申开来,在面试过程中慢慢把控话题方向,面试有时候是个微妙的博弈过程,保持尊重谦虚的前提下表现出超出基本款的深度,就基本 OK 了。
    l8mEQ331
        18
    l8mEQ331  
    OP
       2018-08-03 12:47:28 +08:00
    @exuser111 嗯,我也觉得说话技巧也很重要,尽量将问题引导到自己更擅长的方面。
    whileFalse
        19
    whileFalse  
       2018-08-03 13:08:42 +08:00   ❤️ 1
    成都的话是不是可以去锤子?
    mortonnex
        20
    mortonnex  
       2018-08-03 13:28:11 +08:00   ❤️ 1
    我觉得楼主的水平还是不错的

    加油
    ioth
        21
    ioth  
       2018-08-03 14:17:48 +08:00   ❤️ 1
    面试就像相亲。
    CrisTao
        22
    CrisTao  
       2018-08-03 14:37:49 +08:00   ❤️ 1
    怎么说呢,现任 app 开发,倒是打算改方向去搞前端了,感觉搞 app 能搞的东西实在不多
    JerryCha
        23
    JerryCha  
       2018-08-03 15:56:58 +08:00   ❤️ 1
    往系统层面走下去你就变成嵌入式软件系统工程师了
    l8mEQ331
        24
    l8mEQ331  
    OP
       2018-08-03 16:40:15 +08:00
    @JerryCha 对啊,这也是我不想的。Android 我只想停留在 frameworks 即可,之后更愿意往全栈或者完善其他前端的技能,总的来说还是软件工程师的范畴内。
    jm00
        25
    jm00  
       2018-08-03 16:57:19 +08:00   ❤️ 1
    两种可能,面试的人不专业,或者故意为之,祝你好运,我觉得你还是期待那种开诚布公的面试比较好,如果仅仅是因为面试的人不专业,那你即使过了也是两种可能,待遇不高技术要求很低的工作,或者被压榨。
    thinkloki
        26
    thinkloki  
       2018-08-03 17:18:17 +08:00   ❤️ 1
    @l8mEQ331 我现在跟你差不多呀。
    angeldevil
        27
    angeldevil  
       2018-08-03 17:22:25 +08:00   ❤️ 1
    确实有些人是学习能力解决问题的能力都很强,所以更不屑于背面试题这种,主要问题是,怎么向面试官证明你有这种能力

    比如你的经历,单独定制 Framework,搞机器学习,面试官怎么知道你是真的搞得还可以,还是只能写写 Demo 一样的代码就说成自己的项目经历

    如果面试官也懂,他当然可以问一下,但是很多人应该也是不懂 Framework 及机器学习这些的,所以也不知道怎么问

    老实说,即使是这些面试 100 问的题也是可以刷下一大批人的,至少从我的经历看,很多人工作三五年对于这类题目还是各种答不上来,答得很不靠谱,而且这种问题答上来了是可以有进一步考查的

    而且搞 Framework 这种,除非自己真的认真学习,到处修修改改,可以增加点对系统的理解,但也增加不到哪去,跟在 APP 到处修修改改没差别,也就编译方式不同,也没太大难度

    另外,面试官嘛,水平也是参差不齐的,比你水平差的人面你也是很正常的,他也不知道问啥
    lorcanluo
        28
    lorcanluo  
       2018-08-03 17:23:07 +08:00   ❤️ 1
    好好学学机器学习不好么?搞啥应用开发
    l8mEQ331
        29
    l8mEQ331  
    OP
       2018-08-03 17:54:02 +08:00
    @thinkloki 共勉
    l8mEQ331
        30
    l8mEQ331  
    OP
       2018-08-03 17:58:09 +08:00
    @angeldevil 赞同。我也不是并不是不屑于为面试准备而看题。这次面试因为时间比较急,自己准备得平不充分。按理来说至少要这些问题都能够让面试官满意,然后才能够展示自己的加分项。

    还有你说的对 frameworks 修改之类的并不能提升多少这一点,我也是深有体会。虽然解决了一些很麻烦的问题,然而并没有收获很多东西。仅仅是花了大量时间在看代码,理清思路上。如果没有非常系统的进行学习,收效甚微。
    l8mEQ331
        31
    l8mEQ331  
    OP
       2018-08-03 18:01:09 +08:00
    @lorcanluo 机器学习前景当然不错。但是就我现在公司的体量,并不会投入很多资源在这方面。我自己的水平也就是入入门而已。就我能看到的短期内,我换工作必定是 Android 开发相关的工作的可能性高于“算法工程师”这种。
    JerryCha
        32
    JerryCha  
       2018-08-03 18:08:35 +08:00
    @l8mEQ331 明确一点用人单位是想找个写 app 的农民工还是 Android 的高级工程师。你的技能对于用人单位来说可能并不划算。
    l8mEQ331
        33
    l8mEQ331  
    OP
       2018-08-03 18:24:31 +08:00
    @JerryCha 有道理,还是要岗位和自身的情况符合才是双赢。
    zapper
        34
    zapper  
       2018-08-03 18:42:13 +08:00   ❤️ 1
    我也断断续续干了三年 Android,目前也在改 Frameworks。感觉 Frameworks 就是看你对 Android 熟悉程度(时间换经验?),如果不是爆改、魔改,其实和技术深度关系到不是很大。可能你面试的岗位更倾向于应用层各种业务逻辑的实现,或者就是楼上们说的,面试官并不是搞 Android 的(或者不专业?),上网弄了个标准考题来考。

    歪个楼,到底什么才是技术的提升?由于工作需要,我三年干了 Android、iOS、PHP、甚至还去弄了个 pyQt 小工具,然而都是很浅显的业务实现甚至第三方库堆积。现在觉得自己没有一个拿得出手的核心技能,而第二熟悉的 iOS 在本地已经凉了,我都有点慌了。

    最后祝楼主早日找到理想工作
    tougee
        35
    tougee  
       2018-08-03 19:50:46 +08:00
    在成都去锤子挺合适的
    deston
        36
    deston  
       2018-08-03 20:08:24 +08:00 via Android   ❤️ 1
    如果考虑继续做 android 上的 app 开发的话,其实技术栈和楼主差别挺大。我做了 5 年的 app 开发,最近找工作面试也有点感悟,高级一点的工程师无非几点要求,安卓熟练程度,深入程度,架构能力,性能优化,项目亮点。楼主可以参考一下
    itsluo
        37
    itsluo  
       2018-08-03 20:16:48 +08:00
    沟通能力 = 0 其他能力 = 0?
    zhangdawei
        38
    zhangdawei  
       2018-08-03 22:53:29 +08:00
    这个经验很尴尬,因为通用性不强
    hyyou2010
        39
    hyyou2010  
       2018-08-03 23:39:08 +08:00
    楼主的方向恰好在卡在几条路的中间而已,可以选个喜欢的方向,静下心来再准备一阵。
    earendil1412
        40
    earendil1412  
       2018-08-04 09:41:38 +08:00 via Android
    其实楼主还不如往底层更深一层发展呢
    UIXX
        41
    UIXX  
       2018-08-04 11:59:13 +08:00   ❤️ 1
    “我认为自己能够又更快又稳的做好开发工作,能够深入的研究框架,源码,解决一些疑难问题,而我要怎么才能让面试官也这样认为?”

    你的困惑在于如何展示自己的亮点以弥补不足(准备面试题不充分)。这是个学问,我认为是远超你背题的意义
    1、无论你是做前端 /后端 /框架 /底层硬件 /算法,你所服务的最终是一个手机 app。所以你务必要有一个成品 App 作为展示(非 demo )。这比一通把面试官唬懵比的胡诌更能打动他(对方水平越低,这个越有效)。最好同时有一个竞品作对比,凸显优势(竞品当然是你自己选择了)。如果对方开始问你是怎么实现的。这就到你的主场了。
    2、你要有除了 App 开发以外的特长。这个你提到了 TF,正好可以用上
    3、你需要面试预演。没有人的话自问自答,有人配合你的话更好。目的就是,把话说清楚。说起来简单,但是很多初次面试的人连话都说不好。这直接影响人第一印象。对于技术面试来说,更需要注重用词。配合 1 使用效果更佳

    要不要去刷题 /背面试题。我认为是要的。(上面说的是一个准备不充分的情况)
    1、面试更加踏实,还可以作为自己临时的应答储备
    2、彰显态度。“花很多时间去背题”本身就是对面试的重视,至于效果如何另说。
    3、对自己有的知识查漏补缺,巩固深化。
    怎么看都是好事情。如果面试官看出你刷题并认为刷题是一个不好的点,那是他境界还太狭窄。

    Android 技术的发展。在人才市场来看真的是头重(前端)脚轻(后端),会有这种窘况也是正常。而 LZ 你三年技术经验,我觉得视野应该不仅局限于 Android。
    yhzwy
        42
    yhzwy  
       2018-08-04 12:58:52 +08:00
    @deston 什么类型的 android 项目算有亮点呢?
    普通项目感觉都没什么亮点。
    deston
        43
    deston  
       2018-08-04 14:21:21 +08:00 via Android
    @yhzwy 一般人做项目,就 3 个方面吧,业务,架构,性能。后面两个比较容易找亮点,面试时突出解决了什么问题,带来了什么好处就行。如果平时只做业务的话,那把这个业务的前后背景,业务逻辑,和难点全部搞清楚,应该也差不多够了。其实说的都比较虚,我自己做的也不太好,只是嘴强王者。。
    Wicked
        44
    Wicked  
       2018-08-04 18:58:20 +08:00 via iPhone   ❤️ 1
    首先,楼主不用灰心。面试是双选的过程,面试官的问题一般集中于两个方面,一是跟工作需求直接相关的,如果面试者跟招聘需求对口,开箱即用,这是最好的;二是基础知识和自学能力,这是考察培养成本的,次选。
    所以,楼主觉得不顺利,一方面可能是你的技术跟用人方不对口。如果那是你想从事的领域,可能需要重新检视一下市场上需求的技术盏,你的掌握程度如何。
    刷面试题,如果单纯为了应付面试是无意义的,面试官只要问深一层马上就会露馅儿。面试题的作用在于,一是准备过心里不慌,临场应变会更好;二是可以考察一下自己的基础知识。我作为面试官,偶尔也会上网搜面试题,遇到无法准确回答出来的知识点,赶紧悄悄地补回来(脸红)
    以上是我个人的经验,仅供参考,祝顺利
    timeyoyo
        45
    timeyoyo  
       2018-08-08 11:07:35 +08:00
    个人跟你的经历几乎完全一样
    手机 APP-SYSTEM 定制-FR 模块-然后纯 APP
    刚好离职了 家里装修 一半学习一半装修
    接了个私活把主流 APP 开发技术点有有意识的用上了
    then 再把原理理解了 7788
    出去面试找工作面试这环节还算顺利
    -
    可能需要注意的是 互联网公司问的不是面试 100 题这类的问题
    特别切入实际应用场景这个还真没法准备
    我个人对此的理解是:随缘不强求
    chou1990
        46
    chou1990  
       2018-08-11 19:52:44 +08:00
    自我感觉吧 什么技术学精都能找到好工作 我也是 android 一枚 也有跟楼主一样的感概 还会点 lua python 前段时候公司的大神跳槽去了隔壁百度 工资翻倍 也是做 android
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5706 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 01:42 · PVG 09:42 · LAX 17:42 · JFK 20:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.