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

一面(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、自我介绍

最后

这里我希望可以帮助到大家提升进阶。

内容包含:Android学习PDF+架构视频+面试文档+源码笔记高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 这几块的内容。非常适合近期有面试和想在技术道路上继续精进的朋友。

喜欢本文的话,不妨给我点个小赞、评论区留言或者转发支持一下呗~

img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 20
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值