• 没有被“怼”,顺利通过华为Android三面,看看面试官都问了我什么?


    2020年的秋招太难了,很多小伙伴说不知道怎样才能顺利通过面试,明明这些技术性问题自己也清楚,但是每次面试官问到的时候还是答不上来,再或者说,之前有学过这一类的,或者做过同类型的项目,但是就是很担心,不知道大厂到底问的一些什么问题?

    今天我就将我的经历整理出来,供大家参考学习。 码字不易,希望大家也能点点关注!非常感谢!

    一面(1hour):

    1、自我介绍

    2、项目介绍,技术点相关。

    3、C++和Java区别,GC

    C++不熟,只能说内存管理相关的问题,所以就问到了GC。然后说分代收集算法。老年代担保、元数据区从JVM移到了本地内存这些。

    4、线程相关,Runnable和Thread的区别。

    Thread类是实现了Runnable接口,平时使用起来可以使用start方法调用。线程池基本传Runnable对象,平时也是线程池用的多,所以具体相关不太熟。

    5、线程池

    6、synchronized,volatile

    7、继承相关,多重继承和接口

    8、网络编程

    9、UPD,TCP区别

    10、最大的优点

    11、最大的缺点

    12、算法,二叉树中序遍历,真是早起毁一天,竟然没撕出来,我真想给自己两耳光。不过面试官给我总结的很好,说要利用栈的特性,先进后出,所以要保证左子树先进根结点再进,这么思考之后就顺利了很多。

    二面(40mins):

    1、介绍一下项目

    2、Android四大组件,详细讲一下。

    3、Launcher启动APP的全过程。

    icon存入口Activity信息

    AMS通知Launcher去pause。

    Launcher通知AMS已经pause

    AMS检查进程是否已经启动,如果不启动则启动进程。并且调用ActivityThread的main方法。

    启动之后通知AMS已经启动

    然后AMS将入口Activity信息传递给APP。

    APP启动对应入口Activity,并且创建对应上下文并且调用Activity的onCreate方法。

    4、进程间通信,AIDL,Binder。扯了一会说进程间通信平时怎么做的,就说了一下AIDL相关的Demo实现什么的。说到了自己程序里面有拉起微信的这个功能(也就是广播)。

    5、设计模式了解吗,平时用过哪些设计模式。

    6、算法题:输入一个数n,代表有n个点,一个二维数组,二维数组代表相连的点,要求输出连通起来的点。

    如果n=6,数组假设是{{1,2},{2,3},{4,5}},则输出{{1,2,3},{4,5},{6}}

    三面(<30分钟):

    1、自我介绍

    2、公司实习期项目

    说了RePlugin框架原理,说了ffmpeg动态链接库开发方面的失败经历,说了Android的适配,和最近影响到的AndroidQ相关新特性的适配。

    3、自己大学生活中攻克的最难的技术难点。

    4、什么情况下会压力特别大,怎么处理的。

    5、职业规划

    面试复习笔记:

    这份资料我从春招开始,就会将各博客、论坛。网站上等优质的Android开发中高级面试题收集起来,然后全网寻找最优的解答方案。每一道面试题都是百分百的大厂面经真题+最优解答。包知识脉络 + 诸多细节。
    节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。
    给文章留个小赞,就可以免费领取啦~

    戳我领取:Android对线暴打面试指南超硬核Android面试知识笔记3000页Android开发者架构师核心知识笔记

    《960页Android开发笔记》

    《1307页Android开发面试宝典》

    包含了腾讯、百度、小米、阿里、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率。

    《507页Android开发相关源码解析》

    只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。

    真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。

    最后,我把我之前和这一个月的面试题及答案按照规范整理成了PDF,有1200多页,附带简历模板和算法打包成了文件夹。需要的朋友可以在评论区留下您的邮箱地址,我定期会抽空看评论,然后发给大家。

    岗位内推、学习交流

    我们大量需要前端岗位、Java 岗位、Android 和 iOS 的开发岗位,工作地点:杭州阿里巴巴,由于社招最低要求是 P6 起,所以需要至少 3 年以上工作经验。点击我

    如果你觉得自己学习效率低,缺乏正确的指导,可以加入资源丰富,学习氛围浓厚的技术圈一起学习交流吧

    群内有许多来自一线的技术大牛,也有在小厂或外包公司奋斗的码农,我们致力打造一个平等,高质量的Android交流圈子,不一定能短期就让每个人的技术突飞猛进,但从长远来说,眼光,格局,长远发展的方向才是最重要的。

  • 相关阅读:
    Linux 上网络监控工具 ntopng 的安装
    Linux 运维工程师的十个基本技能点
    HashMap、Hashtable、ConcurrentHashMap的区别
    Spark会产生shuffle的算子
    Scala基础:闭包、柯里化、隐式转换和隐式参数
    Scala基础:模式匹配和样例类
    Scala基础:面向对象之trait
    Scala基础:面向对象之对象和继承
    Scala基础:类和构造器
    Scala基础:数组(Array)、映射(Map)、元组(Tuple)、集合(List)
  • 原文地址:https://www.cnblogs.com/Android-Alvin/p/14078327.html
Copyright © 2020-2023  润新知