网易杭研Android研发面经

作者: sunnygarden | 来源:发表于2016-09-16 21:41 被阅读828次

          9月初,我收到网易内推的offer,一直想去网易,没想到第一次找工作面试就过了,我很幸运,很感恩。这次面试问的问题不太难,而且项目都是我自己独立完成的,所以项目这块我很了解,也给我加了不少分。我面的是Android研发工程师岗,现将面试内容记录如下:

    1、一面

          首先是自我介绍,然后开始问基础的,项目有问,但是不多,都是针对简历中项目描述的知识点零散的问,这次面试始终没有问到(网络协议和算法)的知识

    Java相关:

    (1)线程池有几种用法?newFixedThreadPool是怎么执行的?--coreSize与maxSize

    (2)内存泄漏和内存溢出

    Android相关:

    (1)有用过什么框架,看过他们的源码没?

    (2)平时有用过什么开源项目?

    (3)AnsycTask的原理?(我的简历里提到过AnsycTask)

    (4)在纸上写了个Activity,然后在类里面定义了一个Handler,问我这个会有警告,怎么解决?--static、软引用

    (5)Service的保活

    一面我感觉自己太紧张了,好多问题明明都知道,也可以答深入一点的,但是当时脑子却像卡了壳似的,回答不上来,看来找工作也要多面面,次数多了就有经验了。我感觉自己一面回答的很不好,感谢我的面试官高抬贵手给了我进二面的机会。。。

    2、二面:(问的基本都是项目)

    (1)首先自我介绍一下,着重介绍一下你的项目的难点以及你在项目里主要负责的部分、

    (2)你的listView是怎么用的,在纸上给我画一下吧?---你简历上写的优化listView你是怎么优化的?---RecyclerView和ListView的区别?

    说技术点的途中提到了LRU缓存算法,他说正好我不太懂,你给我说一下原理�

    (3)用过什么设计模式?在纸上写一个你最熟悉的设计模式,要求功能完备不能出错---我写的Double-Check的[单例模式](http://www.jianshu.com/p/45b3a39977fb)---(注意volatile的使用及线程并发控制)

    (4)除了handler,子线程与UI线程还有几种通信方式?(runOnUIThread、post)

    (4)启动Service的两种方式?startService和bindService的区别�?对Binder的了解(这个问题我回答的比较深入,因为我看过底层Binder驱动的源码,研一的时候也研究过,答到了transaction函数这里,可惜太久没回顾当时有点忘了,事后仔细捋了捋,觉得可以将流程给他细化一点)

    (5)提到另一个项目时面试官似乎觉得不太难,我“强行”给他说了一些这个项目的难点以及我遇见的问题是怎么解决的,听完以后他似乎更满意了,看来机会还是要自己争取,哈哈

    (6)最后问我有没有什么问题要问他的?

          整个二面面试下来我觉得自己很有戏了,因为面试官对我的基础以及项目很满意,我回答问题的时候着重表现了一些自己更深入的理解,很多源码层面的东西我都有涉猎,面试官夸我基础比一般的应届生扎实不少,且项目是自己扎扎实实做的,非常不错。但我刚来时候也很紧张,自我介绍都没准备,表现能力还有待提高。。

    3、HR面:

    (1)地域问题,为什么会选择来杭州?

    (2)目前都有哪些公司的offer?投递了哪些公司?

    (2)是否有男朋友?

    (3)想要了解公司什么

    (4)对公司文化的了解

    (5)薪资问题

          建议大家提前准备一个自我介绍,我三面都让自我介绍了,然而我居然没准备...ORZ...我很幸运,面我的三个面试官都很亲切和蔼,问的问题也都不算难,这样的结果我很满意,也很感激那个一直踏实努力的自己,最后,祝大家都能收到自己满意的offer!

    相关文章

      网友评论

      • zero_sr:楼主请问你三轮面试是多久呐,几天出结果呢~
        zero_sr:@sunnygarden 谢谢楼主~
        sunnygarden:@zero_sr 当时是去的杭州一天之内面完的,结果都是统一的时间出的,我面的比较晚,只等了十天左右
      • Jieqiudedede:那你有男朋友吗?没有,考不考虑有一个? 有,考不考虑多一个?
      • 非典型天蝎座:楼主好厉害啊
      • 3534a9ab9a18:这个问题我回答的比较深入,因为我看过底层Binder驱动的源码,研一的时候也研究过,答到了transaction函数这里
        每次问到的时候都不知道怎么回答,详细说一说吧
        sunnygarden:@小乌4 是啊,通过句柄值handle来寻址特定服务
        3534a9ab9a18:@sunnygarden handle访问服务?
        sunnygarden:@小乌4 可以从服务向ServiceManager注册过程说起,Binder驱动底层的源码涉及到的数据结构和函数非常多,你只需简单介绍一下Binder通信过程的原理,里面要是能涉及一些重要函数比如binder_ioctl都干了些啥,然后应用是怎样通过handle访问服务就更加分了
      • 3534a9ab9a18:同Android,但是被挂了,感觉是HR的问题
        sunnygarden:@小乌4 不得不说,面试中运气也很重要

      本文标题:网易杭研Android研发面经

      本文链接:https://www.haomeiwen.com/subject/soeiettx.html