中期阶段

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

另外就是平常用到的安卓原生代码一起要去熟悉下,比如:消息机制、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整体的运行逻辑是怎样的(要能说出底层的大概原理)

更多学习和讨论,欢迎加入我们的知识星球!

点击这里加入我们吧!

群内有许多来自一线的技术大牛,也有在小厂或外包公司奋斗的码农,我们致力打造一个平等,高质量的Android交流圈子,不一定能短期就让每个人的技术突飞猛进,但从长远来说,眼光,格局,长远发展的方向才是最重要的。

%E9%9D%A2%E8%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md)

群内有许多来自一线的技术大牛,也有在小厂或外包公司奋斗的码农,我们致力打造一个平等,高质量的Android交流圈子,不一定能短期就让每个人的技术突飞猛进,但从长远来说,眼光,格局,长远发展的方向才是最重要的。

这里有2000+小伙伴,让你的学习不寂寞~·

Android-春招-面试经历-2019年,2021年Android进阶者的新篇章相关推荐

  1. android性能调优!2021年Android春招面试经历,再不刷题就晚了!

    前言 对于字节跳动的二面三面而言,Framework+MVP架构+HashMap原理+性能优化+Flutter+源码分析等问题都成高频问点!然而很多的朋友在面试时却答不上或者答不全!今天在这分享下这些 ...

  2. 2021年Android春招面试经历,大厂内部资料

    前言 职场的"金三银四"跳槽季过去了,但是紧接着,眼下"金九银十"又来了. 不同的是今年比往年「冷」一些,形式更加严峻一些,大家多多少少可能都听到或看到一些信息 ...

  3. 推荐学习!2021年Android春招面试经历,系列篇

    越来越多的人在提"移动端的下半场"."Android 开发的焦虑"之类的,也有人在喊"技术天天在变,学也学不完","昨天 Kotl ...

  4. 想转行当程序员的必看!2021年Android春招面试经历,威力加强版

    前言 今天我给大家再次分享一下,我最近的一些读书的感想,思考起来,确实能够给自己带来一些真实的帮助和启发,希望大家在平时的工作学习中,也能够认清楚学习的一些本质. 如果我们的学习是在不断掌握应对具体工 ...

  5. 使用ARouter进行Android模块化开发,2021年Android春招面试经历

    初始化SDK if (isDebug()) { // 这两行必须写在init之前,否则这些配置在init过程中将无效 ARouter.openLog(); // 打印日志 ARouter.openDe ...

  6. 揭秘今年Android春招面试必问问题有哪些?成功拿下大厂offer

    Glide缓存简介 Glide的缓存设计可以说是非常先进的,考虑的场景也很周全.在缓存这一功能上,Glide又将它分成了两个模块,一个是内存缓存,一个是硬盘缓存. 这两个缓存模块的作用各不相同,内存缓 ...

  7. Android社招面经分享!2021华为Android高级面试题及答案,附相关架构及资料

    反思 昨晚去北京大望路阿里面试, 产生了严重的挫败感, 羞愧难当. 比不得从大学就有目标有理想, 一直在为目标努力学习技术的同学, 在大学唯一能拿得出手的就是参加了电子设计大赛, 学了点嵌入式的知识. ...

  8. Spring系列:2021年Java春招面试经历,内容太过真实

    前言 在高并发下,Java程序的GC问题属于很典型的一类问题,带来的影响往往会被进一步放大.不管是「GC频率过快」还是「GC耗时太长」,由于GC期间都存在Stop The World问题,因此很容易导 ...

  9. 五面拿下阿里飞猪offer,2021年Java春招面试经历

    前言 Redis作为基于键值对的NoSQL数据库,具有高性能.丰富的数据结构.持久化.高可用.分布式等特性,同时Redis本身非常稳定,已经得到业界的广泛认可和使用.因此,作为一个Java开发者,掌握 ...

最新文章

  1. java源码保护技术,sourceguard
  2. Asp.net控件开发学习笔记(四)---Asp.net服务端状态管理
  3. kali linux 2.0配置更新源后apt-get update 报错
  4. 化工原理 补考(重点)
  5. 浅谈ROS操作系统及其应用趋势
  6. 跟我一起学.NetCore之.NetCore概述
  7. Spring应用架构
  8. C/C++打造Windows岁月留声机
  9. No style sheet with given id found错误
  10. HTML+CSS+JS实现 ❤️3D建筑结构旋转特效❤️
  11. 苹果2024年推出真全面屏iPhone 但可能只是高端版
  12. Js和jQuery的文档就绪函数以及执行次数
  13. 2018-2019互联网大厂算法/深度学习/NLP面试笔记
  14. Django官方中文文档
  15. MSM8937系统启动流程
  16. Android NDK开发之旅17 NDK Apk增量更新
  17. EOS区块链技术开发(一)环境搭建
  18. PySOT测试报错:AssertionError: /pysot/experiments/siamrpn_r50_l234_dwxcorr/Basketball/img/0001.jpg
  19. 数据流图-2(分层数据流图)
  20. 中国宠物医疗市场产业消费需求及盈利前景预测报告(2022-2027年)

热门文章

  1. 男生女生关系的33个绝妙比喻
  2. 单选 a class.forname mysql_MySQL选择填空基础题
  3. 视频融合平台EasyCVR如何下载指定时间段的录像文件?
  4. Swin Transformer安装记录(国内源,飞快)
  5. 全球及中国冻干宠物零食行业消费量调研及投资分析报告2022-2027年
  6. UE4 创建自定义 Slate UI 控件
  7. 豌豆荚进程与adb端口冲突
  8. php扩展初探(三): taint解析
  9. 基于A股供应链网络的股票收益分析
  10. 说说俄罗斯 CU-EAC 认证那些事