Android大三提前批的钉钉和抖音面筋,阿里挂了HR面,抖音通过收获Offer(1)

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

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

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

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

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

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

正文

  1. 接口和抽象的理解

  2. 进程和线程的理解

  3. 各种单例创建的理解,以及DCL的同步机制为什么这么做,其他的设计模式知道的,以及应用场景。

  4. MVP和MVVM的理解,P层它主要做什么工作,你如何实现的M、V、P三层的通信。

  5. Handler的工作流程,Handler能否在子线程初始化以及用什么方案来替代Handler的在子线程初始化。

  6. JVM的组成成分,以及你对四大引用的理解

  7. 四大启动模式的启动方式以及场景分析,如过一个按钮对应页面跳转,如何点多次只进行一次跳转,两种方式回答

  8. 对http和https的理解

  9. Broadcast和LocalBroadcast他的一个区别

  10. Static变量他的用处是什么,具体应用场景。

  11. 一道两个链表的相加问题。思路+伪码实现(这里和阿里不一样,因为是牛客的平台,其实编码体验没有特别好,面试官让我用伪码来实现思路就可以了)

字节抖音二面(面试时长70min)

  1. 先自我介绍,问项目,老样子的MVP、MVC的理解,Handler中的内存泄漏

  2. 重点要讲Handler的内存泄漏,为什么会引起内存泄漏?(源码角度分析)解决方案有哪些?(说了三种)

  3. 为什么我的库中的MVP要基于范型实现,实现思路,还有泛形擦除(主要说了公共逻辑抽离这一块的内容)

  4. 对View自定义的一个了解

  5. 基于对网盘的理解,让我分析上传、下载这两块的内容,让我来做,会做什么样的处理,启发内容见下文:

  6. 关于上传方面:定时上传和立刻上传两方面的分析,针对的是数据量的大小

  7. 关于下载方面:线程安全(voliate / sync),线程池的使用,参数理解等等,断点重传的问题,应该怎么去进行实现。

  8. 还有整个的如果Activity突然断了,或者被kill了,如何对数据或者下载的位置进行保存

  9. ButterKnife原理实现

  10. 一道深度遍历和公共节点寻找的题(给出了复杂度极高的方案,面试官给了好的方案,但是问题停留在了公共节点寻找)

字节抖音三面(面试时长70min,已拿Offer)

  1. 问了项目架构,觉得项目有什么样可以升级的地方

  2. 泛型擦除,通配符的问题,主要做了extends和super的回答

  3. 从哪里了解的objectBox,和greenDao相比觉得他有什么样的优点,性能有进行过测试嘛(只看过官方数据),图像加载框架的选用。

  4. 从内存泄漏问题推倒到jvm的深层次问题,可达性分析的GC Root有什么,虚拟机栈和堆的关系,方法是怎么实现的。

  5. 问我觉得自己的优势是什么,说了我对一些框架的理解

  6. KotlinFlutter的一个了解程度的理解,还有为什么学习的一个现实原因,和学习方法。

  7. 数学题了,类似于斐波那契数列,但是关系式还没推倒出来。

  8. 用循环的方式去实现一个先序遍历,说的一些方案不用写代码。

以上就是我的学习成果,如果有什么我没有思考到的地方或是文章内存在错误,欢迎与我分享。

面试前我做的准备工作(大厂收割秘籍)


1.定制自己的简历(对标BATJ)

无论是什么行业,简历都是敲门砖,对于程序员来说,更应该着重准备,甚至要做到逐字推敲。关于简历,我个人有以下两点建议:

①尽可能突出自己的优势

一定要让看到你简历的人一眼就看到你自己所具备的优势,要学会突出重点,如你在上一家公司做出的贡献,就要写在显眼的位置进行突出,用颜色加深再好不过。如果你的优势是学历,那么学历就要放在第一页,因为HR在筛选简历时,一份简历往往只看那么几秒钟,你需要做到的就是让HR一眼看中你的简历。

②简

简历简历,之所以称为简历,就是需要把自己的个人信息和内容化繁为简,但是很多人都做不到这一点。我身边有一些朋友,写自己简历时,长篇大论,恨不得写出一篇800字作文出来,如果说你的简历长达6-7页,并不会给对方你有丰富经验的感觉,反而会让人一下子抓住不住重点。

另外,简历不能写成流水账,技术简历一般不超过3页,主要信息就包括个人信息(联系方式,学历等),专业技能,工作经历,项目经验等几个部分就好了,尽可能用精炼的语言描述,一个字能讲清楚的事,千万不要用两个字。

③描述自己做到了什么,而不是做了什么

很多程序员会在自己的项目或是技术栈里这样描述:在某项目,我负责xxxx,如重构,如优化。但实际上,面试官想要看到的是你在项目中,重构和优化带来了什么样的好处和效果,如果说性能提升了,那么提升的数据和情况是如何的,要一一描述出来,所以重点应该是“将项目做到了什么样子,做成了什么事”。

以上3点,则是我对自己简历的要求。说了这么多,简历到底要怎么准备,怎么制定,可能很多人还是摸不着头脑,我手上有一套标准的程序员简历模板,如果你有需要,可以分享给你。

2.梳理知识,提升储备

自己的知识准备得怎么样,这直接决定了你能否顺利通过一面和二面,所以在面试前来一个知识梳理,看需不需要提升自己的知识储备是很有必要的。

关于知识梳理,这里再分享一下我面试这段时间的复习路线:(以下体系的复习资料是我从各路大佬收集整理好的)

  • **架构师筑基必备技能:**深入Java泛型+注解深入浅出+并发编程+数据传输与序列化+Java虚拟机原理+反射与类加载+动态代理+高效IO

  • **Android高级UI与FrameWork源码:**高级UI晋升+Framework内核解析+Android组件内核+数据持久化

  • **360°全方面性能调优:**设计思想与代码质量优化+程序性能优化+开发效率优化

  • **解读开源框架设计思想:**热修复设计+插件化框架解读+组件化框架设计+图片加载框架+网络访问框架设计+RXJava响应式编程框架设计+IOC架构设计+Android架构组件Jetpack

  • **NDK模块开发:**NDK基础知识体系+底层图片处理+音视频开发

  • **微信小程序:**小程序介绍+UI开发+API操作+微信对接

  • **Hybrid 开发与Flutter:**Html5项目实战+Flutter进阶

知识梳理完之后,就需要进行查漏补缺,所以针对这些知识点,我手头上也准备了不少的电子书和笔记,这些笔记将各个知识点进行了完美的总结:

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

《379页Android开发面试宝典》

3.项目复盘

实际上,面试的一二轮所问到的技术问题,很多都是围绕着你的项目展开,因此在面试前最后要做好的一件事情就是项目复盘。关于项目复盘,我个人的思路如下,可供参考:

  • 你在这个项目中承担了什么样的角色?

总结

首先是感觉自己的基础还是不够吧,大厂好像都喜欢问这些底层原理。

另外一部分原因在于资料也还没有看完,一面时凭借那份资料考前突击恶补个几天居然也能轻松应对(在这里还是要感谢那份资料,真的牛),于是自我感觉良好,资料就没有怎么深究下去了。

之前的准备只涉及了Java、Android、计网、数据结构与算法这些方面,面对面试官对其他基础课程的考察显得捉襟见肘。

下一步还是要查漏补缺,进行针对性复习。

最后的最后,那套资料这次一定要全部看完,是真的太全面了,各个知识点都涵盖了,几乎我面试遇到的所有问题的知识点这里面都有!希望大家不要犯和我一样的错误呀!!!一定要看完!

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

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

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

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

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

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值