2020Android面经分享,失业两个月,国庆前拿到的offer

基本介绍

五一过完之后,我被裁了。

从6月初开始复习,准备面试题。复习的资料主要为《Android开发艺术探索》和@jsonchao的博客,还有就是网上的其他博客资料。首先介绍一下自己基本情况:渣本毕业快4年,一直在小厂摸鱼混日子,学历和简历背景不是很好看,所以面试邀约也不是很多,面试也到处碰壁。从6月中旬开始面试,一直到7月底。共面试9家公司,近20轮面试,拿到2个小公司和1个上市公司(不是出名的公司)的offer,最后准备去上市公司了。也投递了BAT、360、抖音、快手、平安等大厂的岗位,不过大部分没给面试机会,少数大厂在后续面试中也把我拒绝了,原因是:基础知识不够扎实,技术深度不够。

面试分享

每轮面试都会有自我介绍,所以在面试前大家可以先准备一段自我介绍,向面试官介绍自己的基本情况。我这里只分享Android技术面试题(以每个公司为分类,将几轮面试题综合起来),面试官会在每个面试题继续深入,一直问到你不会为止。至于面试题答案,大家自行百度,在面试过程中尽可能回答完整(深度、广度、扩展),这样才能在面试官面前加分。建议大家找工作开始面试前,先找几家小公司找点面试感觉,然后再投自己期望的公司。

接下来是面试题:

公司一
  1. 组件化和arouter原理
  2. recyclerview和listview区别
  3. glide流程,缓存前压缩,缓存命中
  4. APP性能优化,内存优化,布局优化,绘制优化,内存泄漏
  5. Http和Https区别
  6. socket心跳包
  7. jvm虚拟机,堆和栈的结构
  8. activity启动模式,有哪些不同
  9. stack栈的特点,自定义stack结构
  10. kotlin优劣势
公司二
  1. 自定义view,中英文字符串宽高测量显示,测量算法,可扩展性
  2. 事件分发机制
  3. Activity,view,window联系
  4. 热修复和插件化原理
  5. Synchronized底层原理,java锁机制
  6. java容器,hashmap和hashtable区别,hashmap原理,扩容流程,扰动算法的优势
  7. ArrayList和LinkendList区别,List泛型擦除,为什么反射能够在ArrayList< String >中添加int类型
  8. Http和Https区别,SSL/TLS过程
  9. Android性能优化
  10. jvm虚拟机,堆和栈的结构,栈帧,JMM
  11. 组件化注意点,组件间通信机制
  12. 线程安全的单例模式有哪几种
  13. 熟悉的设计模式
公司三
  1. MVC,MVP,MVVM
  2. Activity和fragment生命周期区别,fragment正常添加和viewpager添加的区别,fragment懒加载原理,FragmentPagerAdapter 和 FragmentStatePagerAdapter
  3. 热修复和插件化
  4. 友盟bug统计,混淆后怎么定位bug。没接入热修复的APP中,上线后遇到bug怎么解决
  5. view绘制原理 (可以先说下基本view绘制,然后再说下屏幕刷新机制)
  6. 使用Analyze减少APK体积,原理
  7. Android 版本差异
公司四
  1. 基础类型字节,汉字占几个字节,线程和进程
  2. 四大组件,fileprovider和Contentprovide区别,activity启动流程
  3. MVC,MVP,MVVM
  4. TCP三次握手,四次挥手
  5. Eventbus,glide原理
  6. 性能优化,内存抖动,内存泄漏,内存溢出,handler机制,IntentService和handlerThread,子线程更新view内容的方法
  7. GC回收算法
  8. recyclerview和listview区别
  9. 组件化,模块化,插件化,热修复
  10. 工作中遇到的难题怎么解决的
  11. Kotlin Java优缺点,kotlin什么时候用分号,run,with,apply,内联函数,高阶函数
  12. APK体积优化
  13. 进程间通信
  14. 单例模式,哪些是安全的
  15. retrofit设计模式
  16. 自定义view
  17. 是否做过音视频和IM?
  18. APK性能优化
  19. CurrentHashMap1.7和1.8区别
  20. volatile关键字的作用,怎么保证原子性呢?
  21. 网络优化
  22. 对新技术的看法
  23. java泛型,协变和逆变
公司五
  1. HTTPS具体步骤
  2. 常用的设计模式,代理模式和装饰者模式区别
  3. 服务端返回错误的json数据,客户端怎么自定义model,避免出错
  4. Hook技术
  5. kotlin了解,协程
  6. 屏幕适配
  7. 抓包工具使用和原理
  8. 网络优化
  9. 未来期望,对公司的了解
  10. Okhttp,rxjava,glide,retrofit等原理,okhttp底层数据传输原理,http报文体结构
  11. APK体积优化
  12. Android jetpack使用和原理,新技术看法
  13. crashHandler获取应用crash信息
  14. recyclerview和listview缓存区别
  15. Android 常见崩溃问题分析及一般的解决方案
  16. NestedScrollView触摸机制,AOP相关知识
  17. 设计APP,整体架构选型
  18. Android沙盒和底层Linux通信
  19. ACTION_CANCLE什么时候触发
  20. 线程池原理
公司六
  1. 组件化,arouter,组件化UI,还有哪些路由框架。AS调试方法
  2. MVC,MVP,MVVM,Jetpack
  3. JVM,JMM,java加载对象的步骤,classLoader,GC回收算法
  4. 插件化和热修复
  5. 唯一安卓ID,安卓安全的知识,加密算法,判断activity前台进程
  6. TCP三次握手和四次挥手
  7. hash算法,hashmap,怎么解决hash冲突
  8. 加载大图,glide缓存机制,设计模式,双重检测的单例模式为什么要检查两次,自己设计图片加载框架思路
  9. 启动未注册的Activity
  10. AOP,蓝牙开发,IOT
  11. glide缓存清除:lrucache算法
  12. glide缓存文件太大,查找效率慢怎么优化?glide下载高清图片优化
  13. 最近研究的技术,遇到最难的事,对公司的期望
公司七
  1. 组件化, arouter优缺点
  2. MVC,MVP,MVVM
  3. 项目中的亮点,对架构的理解
  4. handler原理及相关知识点,message回收策略
  5. hashmap原理,arraymap原理,对比性能。
  6. hashmap为什么大于8才转化为红黑树,加载因子为什么是0.75
  7. Synchronized底层原理,java锁机制
  8. 服务和广播
  9. activity启动模式(给例子具体分析,A(标准)-》B(单例)-》C(singleTop)-》D(singleTask),分析有几个栈,每个栈内的activity)
  10. 常用设计模式,线程安全的单例模式
公司八
  1. static、final;继承与多态
  2. 组件化, arouter优缺点
  3. context相关知识点
  4. handler原理及相关知识点,handler缓存池大小。
  5. 性能优化,启动速度优化,架构
  6. java虚拟机与Dalvik和ART区别
  7. Kotlin协程,扩展函数和属性以及伴生对象
  8. 电商APP的首页,怎么设计一个APP架构
  9. MVP中数据请求为什么要和M一起,答:网络请求和javabean都是数据模型相关
  10. Glide的存储EngineKey是怎么保证唯一的。面试官答:有个队列会将EngineKey存储起来,每次生成后进行对比存储。这个我在源码中没找对位置,如果知道的同学,麻烦帮忙解释下。
  11. retrofit是怎么将service接口转化为我们需要的javabean的?
  12. 怎么做管理,新技术学习
公司九
  1. SqLite与contentProvider区别
  2. fragment周期,两个fragment切换周期变化,fragment通信
  3. https证书校验,加密相关,网络请求框架
  4. glide加载流程,大图显示,图片大小计算
  5. view绘制(从onSync()开始)
  6. 线程内存模型,线程间通信
  7. 获取view的宽高,更新view的方式,主线程消息机制
  8. OOM,内存泄漏,内存溢出,java引用类型,ANR分析
  9. APP性能优化,webview相关,webview优化,webview中Android与js互调
  10. 插件化和热修复

总结

简历上写的东西,一定要先搞懂,特别是简历上的专业技能。这次面试收到的最多反馈就是:基础知识不够扎实,技术深度不够。现在Android开发大部分需要懂点C++和Linux知识,大厂也需要刷算法面试题,在后面的学习过程中,我将从以上几个方面着手。当然也必须把基础知识学牢固,技术深度搞深入点。

快速入手通道:(点这里)下载!诚意满满!!!

学习心得分享:

我所接触的Android开发者,百分之九十五以上

都遇到了以下几点致命弱点!

如果这些问题也是阻止你升职加薪,跳槽大厂的阻碍。

那么我确信可以帮你突破瓶颈!小编整理一整套Android学习资料借此分享给大家

整理目录;

1.【阿里P7级全套高级学习视频】

2…Android核心高级技术PDF文档+BAT大厂面试真题解析

特别适合有3-5年以上经验的小伙伴深入学习提升。

主要包括阿里,以及字节跳动,腾讯,华为,小米,等一线互联网公司主流架构技术。如果你有需要,尽管拿走好了。

1.【阿里P7级全套高级学习视频】七大专题:

1.高级UI,自定义View

UI这块知识是现今使用者最多的。当年火爆一时的Android入门培训,学会这小块知识就能随便找到不错的工作了。

不过很显然现在远远不够了,拒绝无休止的CV,亲自去项目实战,读源码,研究原理吧!

高级UI

2.NDK开发

音视频,人工智能,这些是未来没办法阻挡的发展大趋势。我们可以在猎聘网上看那些招聘岗位,要求精通NDK的薪资都在30-60K+。追求高薪岗位的小伙伴别错过

NDK开发

3.数据结构与算法:

字节跳动面试,算法不过关被拒。就想换一家算法要求不高的大厂不就行了?

4.Java内核原理

百分之百,大大小小所有公司,面试必问

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RtcmwlaC-1610113743772)(https://upload-images.jianshu.io/upload_images/24099992-9b190d1213fd9795.jpg!thumbnail?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

5.Flutter

火了一年多了,你工作不一定要用到。但是你出去面试(初级很少要求会),肯定会问到的。

关于Flutter是不是未来,我没法确定告诉你,我能确定的就是你要去面试高薪岗位,你得掌握这种主流的新技术(大厂最看重的除了基础,技术水平外,就是你的学习能力。)

6.性能优化

听说大公司的末位淘汰制专为代码质量差性能低的员工准备的。怎么样写一手高性能的代码?怎样进行性能调优呢?

7.移动架构实战项目

架构师不是天生的,是在项目中磨练起来的,所以,我们学了技术就需要结合项目进行实战训练,那么在Android里面最常用的架构无外乎 MVC,MVP,MVVM,但是这些思想如果和模块化,层次化,组件化混和在一起,那就不是一件那么简单的事了。

2.Android核心高级技术PDF文档,BAT大厂面试真题解析

这些题目是群友去阿里面试,以及字节跳动,腾讯、百度、小米、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。并且大多数都整理了答案,熟悉这些知识点会大大增加通过前两轮技术面试的几率

如果你需要这份完整版的面试笔记,和Android最新学习资料只需点此处即可直达免费获取方式。

多多支持,即可免费获取资料——三连之后(承诺:100%免费)

快速入手通道:(点这里)下载!诚意满满!!!

你的支持,我的动力;祝各位前程似锦,offer不断!!!

最后祝大家都能拿到心仪的offer!

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值