美文网首页Android技术知识Android开发
字节跳动,华为,阿里巴巴,小米,腾讯2020大厂面试经历系列之(

字节跳动,华为,阿里巴巴,小米,腾讯2020大厂面试经历系列之(

作者: jett老师 | 来源:发表于2021-01-08 22:03 被阅读0次

    前言

    最近看到很多人都在找工作, 而且很多人都感觉今年找工作比去年难很多, 竞争力也增加不少, 因此激发我整理这份资料, 希望能帮到正在找或者准备找工作的童鞋们.

    首先我们能否获得一个面试机会, 那肯定是从简历开始, 简历需要做好功夫, 一份好的简历才足够吸引企业得到面试机会, 接着就是面试了, 面试前必须要先做好准备, 多看一下前辈们总结面试题, 有哪一方面不足的地方赶紧补充一下, 还有要了解一下你即将面试那家公司.

    技巧篇

    做题

    看完面试题之后那就来做一下面试题目吧, 目前找到两个网站

    • SillGun(国外网站, 自备梯子)
    • 牛客网

    聊面试

    (帅张)stormzhang 跟你谈一下面试那些事儿

    • 面试时企业最看中你什么能力?
    • 我面试到底问什么?
    • Android 面试那些事儿

    互联网招聘平台

    • 拉勾-专注互联网职业机会
    • 简寻-让职位推荐更精准
    • 100 offer-帮最好的互联网人发现更好的offer
    • BOSS 直聘-互联网招聘神器
    • LinkedIn (领英)
    • 哪上班


    一力顶十巧(刷题)


    字节跳动

    一面(1hour):

    0、自我介绍

    1、handler机制,sendMessage和post(Runnable)的区别。

    2、ThreadLocal原理,底层实现

    3、HashMap底层,扩容,LinkedHashMap

    4、Service的onBind和onStart差别

    5、Activity启动生命周期,A跳转B

    6、Android持久化方案,SharedPreference是否可以跨进程通讯。ContentProvider

    7、ClassLoader机制,双亲委派。如果我要写一个Activity类,那怎么保证加载的是我自己写的Activity

    8、算法题,约瑟夫环

    9、反问

    二面(1hour):

    0、自我介绍

    1、项目技术点详解

    2、写过什么自定义View

    3、OkHttp代码看过吗,用了什么设计模式

    4、MVC、MVP区别,项目中的实现。

    5、LiveData和EventBus的相关讨论,真的是讨论,畅所欲言

    6、看过哪些源码

    7、SharedPreference相关

    8、Android动画了解吗,用过什么

    9、TCP、UDP区别,面试时的语音用的是什么,为什么要这么用。

    10、代码题,5个线程对一个int进行累加到1000.

    11、反问

    三面(50mins):

    0、自我介绍
    1、算法,跳棋盘
    2、浏览器输入URL到渲染全过程
    3、Http请求报文响应报文
    4、http2.0有哪些优化
    5、用过哪些网络库
    6、OkHttp的Intercepter
    7、Android持久化方式
    8、Java线程同步的数据结构
    9、反问

    总结:字节跳动面试官都很和善,所有的问题都是在讨论,我不会的他们也容许我猜一下,然后告诉我猜的对不对……


    华为

    一面(1hour):
    0、自我介绍
    1、项目介绍,技术点相关。
    2、C++和Java区别,GC
    C++不熟,只能说内存管理相关的问题,所以就问到了GC。然后说分代收集算法。老年代担保、元数据区从JVM移到了本地内存这些。
    3、线程相关,Runnable和Thread的区别。
    Thread类是实现了Runnable接口,平时使用起来可以使用start方法调用。线程池基本传Runnable对象,平时也是线程池用的多,所以具体相关不太熟。
    4、线程池
    5、synchronized,volatile
    6、继承相关,多重继承和接口
    7、网络编程
    8、UPD,TCP区别
    9、最大的优点
    10、最大的缺点
    11、算法二叉树中序遍历,真是早起毁一天,竟然没撕出来,我真想给自己两耳光。不过面试官给我总结的很好,说要利用栈的特性,先进后出,所以要保证左子树先进根结点再进,这么思考之后就顺利了很多。

    总结:早上状态很差,简单问题也会卡壳,希望大家还是能够选择自己状态好的时间点面试……。

    二面(40mins):
    0、介绍一下项目

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

    2、Launcher启动APP的全过程。

    icon存入口Activity信息

    AMS通知Launcher去pause。

    Launcher通知AMS已经pause

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

    启动之后通知AMS已经启动

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

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

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

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

    5、算法题:输入一个数n,代表有n个点,一个二维数组,二维数组代表相连的点,要求输出连通起来的点。
    如果n=6,数组假设是{{1,2},{2,3},{4,5}},则输出{{1,2,3},{4,5},{6}}

    吐槽一下,本来24号早上约的9.30和10.30两轮面试,一次约两轮我也是醉了。然后就二面拖了快一个小时才面上。早起代码状态真的差,这两题都写了分别用了快20分钟,真的捉急。
    一个午觉起来,收到了面试通过的短信,效率还是非常高的。还以为挂了呢,看来只是面试官想吃饭了……

    三面(<30分钟):

    0、自我介绍

    1、公司实习期项目

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

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

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

    4、职业规划

    ...

    综合起来就是了解个人情况,技术问题都是自己说的。还是非常愉快轻松的。

    总结:华为面试安排非常紧张,但是反馈效率特别高,一二面结束马上会短信通知是否通过。然后隔天直接三面,流程走的非常快。


    阿里巴巴

    一面 50分钟

    1.项目相关

    2.安卓AIDL

    3.四大组件

    4.Activity四种启动模式

    5.Fragment生命周期

    6.Activity之间的通信方法

    7.SSL/TLS,以及位于哪一层

    8.GET和POST区别,登录用哪个

    1. 算法:层序输入二叉树,计算深度

    二面 25分钟

    1.项目相关

    *三面 1小时

    1.项目相关及拓展

    2.场景实现结合安卓特性分析

    3.算法:4道数组题及其变形题,主要考逻辑
    HR面

    1.常规问题

    项目是两个local / offline安卓app,总体上项目扯得比较多,包括底层原理、开发需求、实现方法、优化拓展等


    小米

    第一面:

    1. 问了一些Android基础;

    2. 2个算法

    第二面:

    1. 问了一些JVM相关;

    2. 类加载器;

    3. FrameWork层。

    第三面技术经理:

    1. 问了一下项目经历;

    2. 离职原因;

    3. 期望薪水;

    4. 解决问题能力等。

    5. 顺便写了1个算法。

    第四面,第四轮貌似是个技术专家之类的角色:

    1. 一直在追问各种原理和基础细节,还有一些比较古怪的问题,考察基础和反应能力;

    2. 1个算法

    3. 总结:有4个算法小米的技术团队还是比较强的,一线工程师的基础都很扎实。不是很熟悉的技术不要往简历里面写,被揪住了是会扣分的。很注重基础细节,基础一定要扎实。


    腾讯

    一面(30mins):

    0、自我介绍

    1、View过度绘制有什么工具进行查看

    2、SharedPreference两个进程同时进行读写会有什么问题

    3、Android进程间通信方式

    4、热修复原理,讲的Tinker

    5、DNS协议,CDN

    6、算法题,一个数组有两个数字不同,其他都成对出现,怎么找出来

    7、智力题,一块钱买一瓶水,两个空瓶换一瓶水,n元能喝几瓶水。

    总结:面试完又被说表现得不错了……

    二面(1hour30mins):

    0、大模拟代码题……一个小时

    三面(2hours30mins):

    0、自我介绍

    1、实习工作深挖

    2、RePlugin原理深挖,其他插件化框架对比

    3、为什么要选择RePlugin框架

    4、你觉得自己对于Android掌握到了什么地步

    5、看过什么源码

    6、你为什么要看源码

    7、你为什么要写博客

    8、知道哪些著名开源框架

    9、什么是进程,进程调度算法

    10、什么是线程

    11、你觉得什么是JVM

    12、有哪些线程同步算法

    13、死锁是什么,举个例子

    14、Object有哪些方法

    15、Java异常有哪些,Error和Exception区别

    16、OSI七层模型,TCP、UDP是哪一层,应用层有哪些协议

    17、如果要设计一个大量图片下载的方法,如何确定并发量,有哪些指标。

    18、APP间传递消息安全吗?要怎么做才能安全呢?

    19、广播怎么分类

    20、自定义View重写的关键有哪些,onLayout和onMeasure区别

    21、Android有哪些动画,MotionLayout讲一下。MotionLayout使用场景。

    22、Activity四种启动模式,SingleTask和SingleTop的使用场景

    23、一些Framework层的问题,不太会所以记不得了。但是告诉面试官我已经下了Framework层相关电子书,是下一步需要看的。

    24、你为什么想了解Framework层知识。

    25、算法题,我想dp写逆序对的,没写出来心态崩了

    26、你对于我们的Offer是什么态度

    27、反问

    从学生转变身份到程序员,最需要自己提升的能力是什么?学好专业基础课、对新知识有热情、愿意钻研、关心技术动向。

    腾讯现在用什么语言,Java、Kotlin?有没有用Flutter相关。现在还在用Java,但是准备转Kotlin,Flutter方面已经做了很多动作了。

    总结:LZ知道自己Android新技术不是特别过关,很多问题一问深了就有点吃瘪,尤其是面试官一开局怼了一堆RePlugin相关问题,确实能力不够回答不出来。
    后面又开始综合能力以及基础能力的考察,这一部分我自认为还可以。
    面试官特别不喜欢背书,所以问的问题都是带有思考在里面的,很多问题都是你觉得是什么,而不是什么是。
    面试官人真的很好了,面了我两个半小时,真的有点累。


    尾声与建议

    经过了这么多年的磨砺,除了硬实力之外,有一些需要自己注意的技巧分享出来:

    1、简历不要投太早,容易因为太久没被处理导致心态崩溃。因为我之前2月底投了一波,但是那时候很多厂简历筛选工作还没开始,搞得自己无名焦虑,头发又少了。

    2、不要给面试官一种你在背知识点的感觉,要结合实现进行分析。我这里有一句话:数据结构决定算法算法决定数据结构。就拿TCP举例,你要是遇到TCP的头部结构有什么的问题,是不是就懵了,觉得这是靠背诵的。但是你套上这句话,联想一下知识点:SACK确认机制、滑动窗口、全双工通道、套接字结构……是不是就能够理解为什么需要那些头部结构了,都是有对应的功能需要实现才会出现这些结构的。遇事不决拿结构分析。

    3、多看源码源码里面有很多注释,很多时候看看注释就知道这个类是干什么的了,然后再往下跟,会有助于自己理解逻辑。更重要的是让面试官知道你这种跟源码的学习方式。

    4、调整好心态,不要因为某些厂把自己挂了就觉得自己不行。这是我被挂多了之后的心得,此处不留爷自有留爷处。

    5、面心仪的公司之前先面几家其他公司,小公司或者同等体量的公司。

    6、面试一次复盘一次,整理自己发挥不好的点。不能说一次问你不会两次问你还不会吧,那不是能力问题,那是态度问题。而且很多厂是有面试记录的,二三面转挑你面试不好的问题问你。

    如果你也需要临时抱佛脚,过来领取吧,我免费分享给你!

    只展示部分《 BATZ及其30家大中级公司Android开发岗 面试精选合集》需要这份771页PDF面试题精选可以点赞+评论【面试】即可获取!!!

    自行加群直达链接:【点击获取

    点击【GitHub】免费分享大牛个人面试进阶学习笔记!

    相关文章

      网友评论

        本文标题:字节跳动,华为,阿里巴巴,小米,腾讯2020大厂面试经历系列之(

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