Android 一线大厂面试总结

作者: wenju_song | 来源:发表于2018-11-07 10:29 被阅读33次

    最近因为团队项目被边缘化,新项目接连流产,已经可以上市的项目突然宣布不做了,又加上外包岗的离职,作为正岗也有被裁员的风险,于是出去看了一下机会。面试了阿里巴巴,百度,头条,趣头条,小米,爱奇艺,映客,快手等一线的大厂,最终拿到了满意的offer。下面将面经分享出来。

    面试前的准备

    下面我将从以下几个方面来分享一下面试前的准备。

    1. 给自己定位
      首先要给自己定位,自己现在是一个什么阶段,是初级岗,中高级,高级,还是专家级。一般情况下刚参加工作一年左右时初级,两年左右努力提升自己的话是中级,三到五年高级甚至专家级。前提是不停的专研。
    2. 知识的梳理
      因为把自己定位为高级开发工程师,俗话说:面试修航母,工作螺丝钉。面试考虑各个方面,对于安卓来说,主要有以下几个方面来准备:Java基础,Android基础,Java并发,Java虚拟机,Android源码(包括framework和开源的项目),数据结构和算法。当然基础知识梳理完毕之后,还要去阅读一些面试经,看看最新各个厂商问的问题。其实以上这些东西准备完,基础好的话,一个月左右,基础不好的话至少要3个月吧。
      俗话说不打无准备之仗,只有准备好了才能在面试过程中取得好的结果。
    3. 简历的准备
      简历是一个敲门砖,HR每天会有很多简历收到。简历如何让人眼前一亮,并且能一眼抓住关键信息:个人基本信息(姓名,电话,邮箱,毕业院校等),工作经理,技能点,一些亮点(比如六级证书,获奖等)。简历要简介,层次分明。写完简历要在招聘网站上更新一下自己的简历。
    4. 面试机会的各个渠道
      这次面试一共通过了3种渠道,一是朋友内推,二是猎头帮忙,三是通过boss或拉钩网投递。
    • 朋友内推:在圈内首先要认识一些好友,各个厂商的员工,可以通过脉脉加好友,也可以通过技术交流加好友,了解好友的动态,让他们帮忙推荐。当然找内推也有两种方式。第一种是让朋友推荐岗位,让他帮忙问问组内是否缺人。第二种通过自己去找,一般情况下公司招聘会在官网上显示加入我们链接,这里可以看到岗位信息。推荐第二种,你自己找到岗位,发给朋友,让他直接帮忙推荐这个岗位。推荐一般会有奖金的。

    • 猎头帮忙:最近听了一个得到的课程“如何有效的提升职场竞争力”,我觉得老师讲的一句话特别好,不要排斥猎头,把猎头当做你的合作伙伴。猎头比你更了解推荐的公司,以及当前的行情。找猎头的方式也有很多,第一个是问问你的朋友有没有合作过的靠谱猎头,第二是像智联招聘,猎聘,boss直聘上有很多的猎头。你更新简历之后,会有猎头给你联系。

    • 招聘网站:互联网招聘就是在拉钩,boss,智联上了。简历更新到网站上,然后就可以投递了,这里要看到简历投递是否有效果,如果半天没有人查看你的简历,那么说明你的简历有问题,及时的修改再投递。

    面试过程中

    面试中分为以下三个方面分享:面试,谈offer,面试后记录总结

    1. 面试
      面试首先不要迟到,着装得体,带好笔和纸,因为是面试也是自己白板能力的一个体现,还有写一些算法以及流程图等。面试前先了解企业信息,有些不合适的公司就不要去面试了,提前安装对方的产品,体验一下。面试过程中一般会让先做自我介绍,要分阶段有条理的介绍。一般会问你在上一家公司最有成就的事情,遇到的最大的技术难点等。面试过程中不会的可以说自己不了解,也可以反问一下面试官,有的面试官会给你讲解一下,它还表现出你比较好学。

    2. 谈offer
      offer到了之后,首先还是定位,你未来几年的发展方向:技术提升,管理能力提升还是什么。一般大厂会有评级,问清楚评级,福利待遇。谈工资的技巧:1. 内推的话,问问内推的朋友。2. 猎头推荐:让猎头帮忙谈。3. 自己投的简历,一般拉钩和boss直聘上有明码标价。一般来说涨30%~40%是合理范围。

    3. 面试后
      面试后及时总结,有可能下一个面试官会问你同样的问题。我就遇到了好几个一样的问题。

    面试题分享

    下面分享一些一线厂商的面试题:

    1. finnal的理解
    2. 静态方法锁和类锁的区别
    3. loop.loop()为何没有造成死循环
    4. 程序计数器的功能
    5. Java的内存模型
    6. 指令重排序的解释,多线程
    7. 多线程并发
    8. synchronized和lock,reEntranceLock区别
    9. 线程的几种状态
    10. MediaPlayer的生命周期
    11. 静态代理和动态代理
    12. 多线程并发的集合框架
    13. Java集合的数据类型
    14. 用栈实现一个队列
    15. 一共有n个苹果,一天吃一个苹果,一天吃两个苹果,一共有多少种吃法
    16. 回文打印出二维数组
    17. 两个线程交替打印
    18. 回文输出一个二叉树
    19. 股票最优问题
    20. 子View扩选问题
    21. View的绘制
    22. Activity的生命周期
      Activity1启动:
      MainActivity.onCreate.
      MainActivity.onStart.
      MainActivity.onResume.

      点击button Activity2启动:
      MainActivity.onPause.
      Main2Activity.onCreate.
      Main2Activity.onStart.
      Main2Activity.onResume.
      MainActivity.onStop.

      点击返回键,Activity2从任务栈中移除:
      MainActivity.onPause.
      MainActivity.onRestart.
      MainActivity.onStart.
      MainActivity.onResume.
      Main2Activity.onStop.
      Main2Activity.onDestroy.

      Activity1点击返回键:
      MainActivity.onPause.
      MainActivity.onStop.
      MainActivity.onDestroy.
    23. MVP类图
    24. 什么时候复写hashCode和equl方法

    以上就是我分享的面试总结。

    相关文章

      网友评论

        本文标题:Android 一线大厂面试总结

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