当前位置:   article > 正文

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

大厂面试问什么

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月底投了一波,但是那时候很多厂简历筛选工作还没开始,搞得自己无名焦虑,头发又少了。

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip204888 (备注Android)
img

总结

这次面试问的还是还是有难度的,要求当场写代码并且运行,也是很考察面试者写代码
因为Android知识体系比较庞大和复杂的,涉及到计算机知识领域的方方面面。在这里我和身边一些朋友特意整理了一份快速进阶为Android高级工程师的系统且全面的学习资料。涵盖了Android初级——Android高级架构师进阶必备的一些学习技能。

附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)

里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…

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

总结

这次面试问的还是还是有难度的,要求当场写代码并且运行,也是很考察面试者写代码
因为Android知识体系比较庞大和复杂的,涉及到计算机知识领域的方方面面。在这里我和身边一些朋友特意整理了一份快速进阶为Android高级工程师的系统且全面的学习资料。涵盖了Android初级——Android高级架构师进阶必备的一些学习技能。

附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)
[外链图片转存中…(img-erfgW9IA-1712905329701)]
里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-2Dky7rV7-1712905329701)]

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/678685
推荐阅读
相关标签
  

闽ICP备14008679号