凭借Android面试宝典,我拿到字节跳动、小米offer

面试题

小米共面试3次
一面,两个面试官(一个我们小组Android的leader,一个是同事),上来先当着他们的面写了一个笔试题(都是很基础的题没啥难度,算法题也就是一个list的反转,但是小米比较注重手写代码的一些细节,所以要考虑好该判空的判空,还有防止越界啥的问题),然后就开始问,90%都在问Java基础(GC的机制,GC算法,内存相关的问的比较多,多线程线程安全问题是如何发生的,HashMap的原理)
二面,主管(全程聊项目,没有问技术相关的了,然后介绍了一下这个部门的工作内容啊之类的。
三面,本来应该有三面,部门领导了解情况。
并最终收获了小米的offer!

凭借Android面试宝典,我拿到字节跳动、小米offer

小米offer

字节跳动面试
一面
1:插件化。启动activity的hook方式。taskAffity。
2:okhttp支持HTTP2?http2的功能有哪些?tcp方面拥塞控制?tsl的握手和具体的非对称加密算法。非对称名称
3:handler的post(Runnable)如何实现的。callback,runnable,msg的执行优先级。阻塞是怎么实现的?为什么不会阻塞主线程?
5:求二叉树中两个节点之间的最大距离。
6:206含义,未修改资源是哪个,302含义,301含义
7:多进程通信问题。binder优势。aidl生成的java类细节。多进程遇到哪些问题?
8:动态代理传入的参数都有哪些?非接口的类能实现动态代理吗?ASM的原理
9:Application和Activity在Context的继承树上有何区别?二者使用上有何不同?
10:任意一颗二叉树,求最大节点距离

二面
1:设计一个日志系统。
2:内存泄露的分类。怎么查看内存泄露的问题
3:touch事件源码问题。
4:组件化的问题。module和app之间的区别。moduler通信是如何实现的。
5:native奔溃的日志采集,怎么处理?
6:注解实现一个提示功能:如果int的值大于了3需要提示。

三面
1:介绍下flutter的启动流程
2:介绍下flutter与weex的区别
3:组件化介绍一下
4:webview中与js通信的手段有哪些?
5:介绍下flutter_boost的原理

四面
1:适配器和装饰模式各自特点和使用场景
2:视频编解码是怎么做的
3:三色球排序
也顺利获得字节跳动,月均薪资30+的offer!

凭借Android面试宝典,我拿到
字节跳动、小米offer

字节跳动offer

面试经验

1. 面试方面的一些经验
总共大概面试了八家,基本上每一家都到了终面,4 家给了 offer, 2 家因为薪资超预算没有录用,2 家挂掉。整个面试过程与我所预想的有比较大的差异。

因为疫情原因,今年面试流程比较长,除非现场面试,否则多数要一周多才能给到最终结果。

善用脉脉、看准网等网站了解公司内部情况,某些小公司槽点比较多。有些问题不便在面试中直接问,脉脉、看准网上有不少值得参考的评论,可以帮助大家避免不少坑。然而“尽信不如不信”,有些评价还是需要大家客观看待。

频繁换工作对求职的影响远超你的想象。当你想要离职时,一定要想清楚是什么原因让你不得不离职。即使你想到无数的理由让你离职,请跳出自己的视角,站在一个 hr 的角度重新审视一遍你的离职理由,有些原因你自己觉得很有道理,但从 hr 的角度会有非常不同的理解。总结来说,对于离职原因的陈述既要坦诚又要客观、合理。

对于三年经验的Android开发,算法、基础知识、数据库已经不足以衡量候选人的能力。面试中大部分的时间是在讨论项目经验和对架构的理解。所以要好好整理和反思自己做过的项目(参考 STAR 原则),多看些技术博客。反复研究和提炼以往项目中的架构设计思路。Framework可能涉及到的知识点包括:Android 系统架构、Zygote进程启动过程、SystemServer进程启动过程、Launcher启动过程、WindowManager体系、WindowManager体系、Binder、Handler等。 从每个话题可以多角度切入到不同的领域,全面了解候选人对进程通信机制、常用组件、插件化方案的理解程度。此外高级UI、第三方框架源码理解也是必备的知识技能等。
我整理了面试遇到的一些知识点,并画成了思维导图的形式。方便大家复习。

凭借Android面试宝典,我拿到字节跳动、小米offer

字节跳动、小米面试总结

2. 对职业的一些思考
一定要对自己的职业发展有长远的规划。每次换工作,一定要考虑清楚你想要在新的岗位获得什么。薪资待遇只是次要方面。这点最重要,血的教训!希望大家吸取我的经验!
自律、自省是最重要的品质,无论你在什么公司、从事什么工作。
客观认知自己、客观认知他人。你没有自己想象中那么优秀,也没有自己想象中那么聪明。同样地,别人也未必有你想象中那么优秀和聪明。 一个人的成功是运气、实力和综合素质的结果。
关注自身不足,并切实采取行动去改进。不要懒惰、不要侥幸。每一次侥幸都会给以后的职业发展埋下一个雷。每一个逃避的问题都会在未来某个时刻重新来困扰你。
本来想再跟大家分享一些对人生和 IT 职业的看法与思考,不过改来改去都没办法合理组织自己的语言,不是过于敏感,就是有很大的争议,所以暂时不写了。

小福利:

在当下这个碎片化信息环境的时代,很多资源都可以在网络上找到,只取决于你愿不愿意找或是找的方法对不对了

很多朋友不是没有资料,大多都是有几十上百个G,但是杂乱无章,不知道怎么看从哪看起,甚至是看后就忘

如果大家觉得自己在网上找的资料非常杂乱、不成体系的话,我也分享一套给大家,比较系统,我平常自己也会经常研读。

2020大厂最新Android面试真题解析

凭借Android面试宝典,我拿到字节跳动、小米offer

各个模块学习视频:如数据结构与算法

凭借Android面试宝典,我拿到字节跳动、小米offer

最后

小编这些年深知大多数初中级Android工程师,想要提升自己,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助

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

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

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

如果你需要这些资料, ⬅ 专栏获取
但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

如果你需要这些资料, ⬅ 专栏获取

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值