Android-春招-面试经历-2024年(1),阿里、腾讯、华为、京东等多家大厂最新安卓面试题

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

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

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

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

如果你需要这些资料,可以添加V获取:vip204888 (备注Android)
img

正文

另外一个总结得不错的列表可以作为补充:https://lrh1993.gitbooks.io/android_interview_guide/content。

中期阶段

过完前面的基础知识点后,这个阶段主要是去熟悉源码了。可以结合项目中用到的开源框架有针对性的阅读下源码,面试过程中一般会根据你在项目中用到的框架,询问你对这些框架的原理是否熟练掌握。通用框架一般无外乎网络库、图片库、工具类、插件化或热更新库等。这些知识点应该平时多去积累和练习为好,此时只要稍加复习即可。如果不是特别熟悉的可以去参考别人总结比较好的文章对着源码梳理,一定要在自己脑中形成知识结构,基本的实现细节要陈述出来。

另外就是平常用到的安卓原生代码一起要去熟悉下,比如:消息机制、View的绘制流程、Binder通信、java集合、并发等。觉得这些更像是基础吧,没什么好说的。理解的越深对自己平常的运用越有帮助。

后期阶段

有了上面两个阶段的准备后,前两轮的基础面试基本没什么问题了。如果目标岗位是资深开发或者架构师的话,一般还会问到更底层原理和更抽象的宏观层面问题。

底层原理方面:比如虚拟机的内存区域和gc流程、tcp的流量和拥塞控制、https建立连接的交互流程等,这里可以去找对应的技术文章熟悉了解。

宏观层面:一般是架构模式(MVC、MVP、MVVM)、开发模式(模块化、组件化、模块组件化)以及设计模式相关问题,要能熟练掌握到灵活运用的层度,并总结出它们之间的异同特点。

另一大块就是算法了,某些一线公司比较喜欢考,比如今日头条在面试邮件中就明确指明要考算法。因此要对标你的目标公司是不是要考来进行复习。具体考哪些内容,以我面试的那些历程来看,基本都没超出《剑指offer》那六十几道题的范围(可能有对应题的变形),因此花一个礼拜左右的时间把那六十几道题弄懂并自己动手实现一遍基本ok,当然一些基础算法还要自己认真去总结学习,比如排序、二分查找、链表和树的基本操作等。

面试经历

主要是根据回忆总结的(会有遗漏点)。

1. 腾讯(QQ音乐)

感觉不擅长互动较少的电话面,很难快速暖场,问题回答确实不好。当时还在复习的初级阶段内容都没看完,也是一部分原因,基本算是草草收场吧。问得比较多的是优化相关的问题。

2. 支付宝(海外版)

仍是电话面的,还是没有找到感觉,回答不在状态。最后猎头反馈的本次面评是:过往项目功能较简单、某些技术细节掌握不到位。算是浪费了机会。

3. 今日头条

是所有参加的面试里比较专业的面试体验吧,面试官体现了很好的技术素养。总共参加了3轮视频面试(技术面全部面完),开始还以为很有希望(感觉面得不错,基本没有阻塞的知识点),最终结果却是挂掉了,原因目前未知。当然这里也花了很长时间准备(3个礼拜左右),主要是因为要考算法,重头复习了算法,还把所有知识点重头捋了一遍。

主要考察的问题大体有如下一些:

android:

  • webview加载h5的优化(问得很多)

  • 优化相关(包大小、启动优化、卡顿),webp的透明通道如何处理,代码压缩如何处理

  • native-jni相关;如何分析native的崩溃堆栈;

  • 进程保活

  • 插件化原理

  • 网络优化(答的不好)

  • https,fiddler抓包怎么处理的,为什么fiddler可以篡改https的数据。header中的host作用是什么

  • 懂不懂kotlin (直接说不会了)

  • activity的4种启动模式,A启动B时activity的两个acitivity的生命周期的流程是什么

  • 如何监听activity是从后台切换到了前台?不是在onResume()中处理

push进程的挂掉之后,再次拉起时如何恢复push进程中service的状态

  • 两个进程如何使用binder进行双向通信

  • 如何监测普通对象是否泄漏,leakcanary在dump时卡顿厉害,这里该如何优化

listview和recycleview的差别

  • WebSocket、socket、NIO

  • 对app架构的理解

  • activity的启动流程

  • 两个页面的消息同步怎么做?(类似以前评论sdk的在子评论页面点赞时,back回来后需要同步这个点赞状态)

java:

  • 类加载流程

  • 类的唯一标识是什么

  • gc流程

  • map都有哪些类型,特点是什么,hashmap内部结构

  • 动态代理跟静态代理区别,如何代理一个普通对象

算法:

  • 合并两个有序链表,使得最终有序。

  • Map

map,按value平方的升序打印key-value。

  • 1000万个0~100之间的小数,找top100。如果是保留两位小数,怎么做?

4. akulaku

整体的面试体验还是不错的,面试官技术素养也不错。一下午走完了所有流程(2轮技术1轮HR)。该公司应该也算是创业公司吧,有阿里的投资,内部很多产品线,主打东南亚电商和金融,目前算是个爆发增长期。

记忆比较深刻的问题有:

retrofit的动态代理中是如何处理接口返回类型的(因为接口申明的泛型在运行时会被擦除)

在做项目架构时封装的BaseActivity/BaseFragment一般要放哪些对象

Binder整体的运行逻辑是怎样的(要能说出底层的大概原理)

5. 恒信永利

公司没什么名气,做互联网金融。但从面试过程来看技术实力还是相当不错,当时面的是架构师岗。准备不是太充分很多问题回答的确实不好(应该只复习到中期阶段),整体来讲也还可以。而且在这之后就开始慢慢找到自信了。

记忆比较深刻的问题有:

  • 架构的核心是要解决什么问题,怎样才称为好的架构

  • 桥接模式属于什么类型的设计模式(结构型模式),它是用来解决什么场景的问题

  • 画一下IM系统中用户A给用户B发送消息时数据包和信令包的交互图。

CurrentHashMap的实现有没有看过源码,说一下它优化并发的原理。

对CAS的理解,用你熟悉的并发方式实现一下生产者-消费者模式并评估它的效率。

6. oppo(应用商店)

公司就不说了,整体是很不错的。面试体验也还可以,参加的是他们周末的招聘会,面了2轮技术面。感觉是第二轮群面的时候表现得不好,有细节没准备充分。有点浪费机会了的感觉,导致后面也没有机会面其他部门了。

比较深刻的似乎大都是跟View相关的问题:

最后,面试前该准备哪些资源复习?

其实客户端开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。

这里再分享一下我面试期间的复习路线:(以下体系的复习资料是我从各路大佬收集整理好的)

《Android开发七大模块核心知识笔记》

面试字节两轮后被完虐,字节面试官给你的技术面试指南,请查收

面试字节两轮后被完虐,字节面试官给你的技术面试指南,请查收

《960全网最全Android开发笔记》

面试字节两轮后被完虐,字节面试官给你的技术面试指南,请查收

《379页Android开发面试宝典》

历时半年,我们整理了这份市面上最全面的安卓面试题解析大全
包含了腾讯、百度、小米、阿里、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率。

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

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

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

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

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注Android)
img

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

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

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注Android)
[外链图片转存中…(img-fYELLOuI-1713227550121)]

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值