Android秋招提前批:以一些失败经历提醒你们,面试前这些准备一定要做好!

Android秋招提前批:以一些失败经历提醒你们,面试前这些准备一定要做好!本文分享了作者在 Android 秋招提前批面试中的经历 涉及腾讯 支付宝 今日头条等公司 总结了面试中遇到的核心知识点 如 WebView 优化 Android 架构 进程保活 插件化原理等 并强调了充分准备的重要性


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

1. 腾讯(音乐)

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

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相关的问题:

  • View体系中动画的绘制原理。(没有答到点上,需要看View中对动画处理的那部分源码)
  • 上面的提到的滑动冲突中fling()的停顿问题如何解决
  • 有哪些方式可以实现滚动一个子View
  • activity的启动流程

7. vivo(大数据中心-埋点sdk)

公司也不说了,整体都挺好的。总共面了3轮技术面+HR面,由于前面面经的积累,目前来看基本没再碰到应用层面的难题。

印象较深的面试题有:

  • 说一说系统ANR的实现原理,平常是如何解ANR问题的,如果在发生ANR时trace文件打印的堆栈是MessageQueue.nativePollOnce()处阻塞该如何定位具体问题在哪
  • 如何实现热更新的不需要重启进程就生效
  • activity的启动流程
  • 说一下乐观锁和悲观锁
  • 单例模式在实际使用中有什么缺点

8. 顺丰科技(快运)

公司平台还是不错的,而且是今年发展的核心业务,团队还在建设中,发展前景还是很不错的。只是工作内容会比较偏重业务,看个人对工作的兴趣吧。

由于是重业务的工作性质,面试问得最多的就是数据库相关的:

  • 如何做数据库表结构的升级。
  • 客户端数据库SQLite的极限是可以存多少数据,如果数据量特别大,如何优化数据的查询效率。
  • 画一下IM系统客户端的数据库表的结构图,实体要包含用户信息、单人会话、群聊。
  • 弱网状态下如何保证数据的最终的可用性和可靠性(http的缓存和压缩)。

9. 万兴科技

是一家创业版的上市公司,公司技术能力还不错,主打一款视频编辑软件,因此对标的技术点就是多媒体相关开发(c/c++、音视频、opengl)。感觉公司的商业模式比较奇怪,竟然现在还在卖软件license授权,可能是因为目标市场在国外的缘故吧。不过对多媒体开发有兴趣的还是值得试试。

总结

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

Android核心知识点

面试成功其实是必然的,因为我做足了充分的准备工作,包括刷题啊,看一些Android核心的知识点,看一些面试的博客吸取大家面试的一些经验。

下面这份PDF是我翻阅了差不多3个月左右一些Android大博主的博客从他们那里取其精华去其糟泊所整理出来的一些Android的核心知识点,全部都是精华中的精华,我能面试到现在2-2资深开发人员跟我整理的这本Android核心知识点有密不可分的关系,在这里本着共赢的心态分享给各位朋友。

不管是Android基础还是Java基础以及常见的数据结构,这些是无原则地必须要熟练掌握的,尤其是非计算机专业的同学,面试官一上来肯定是问你基础,要是基础表现不好很容易被扣上基础不扎实的帽子,常见的就那些,只要你平时认真思考过基本上面试是没太大问题的。

最后为了帮助大家深刻理解Android相关知识点的原理以及面试相关知识,这里放上我搜集整理的2019-2021BAT 面试真题解析,我把大厂面试中常被问到的技术点整理成了PDF,包知识脉络 + 诸多细节。

节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》传送门,即可获取!
最后为了帮助大家深刻理解Android相关知识点的原理以及面试相关知识,这里放上我搜集整理的2019-2021BAT 面试真题解析,我把大厂面试中常被问到的技术点整理成了PDF,包知识脉络 + 诸多细节。

节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》传送门,即可获取!

今天的文章 Android秋招提前批:以一些失败经历提醒你们,面试前这些准备一定要做好!分享到此就结束了,感谢您的阅读。
编程小号
上一篇 2024-12-12 12:30
下一篇 2024-12-12 12:27

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/84469.html