Android面经分享,失业两个月,五一节前拿到offer


基本介绍

疫情期间,我被裁了。

从3月初开端复习,预备面试题。复习的材料主要为《Android开发艺术探究》和@jsonchao的博客,还有便是网上的其他博客材料。首要介绍一下自己基本情况:渣本结业快4年v = u / U e,一直在小厂摸鱼混日子,学历和简历背景不是很好看,所以面试邀约也不是许多,面试也处处受阻。从3月中旬开端面试,一直到4月底。共面试9家公司,近20轮面试,l R { M n z拿到2个小公司和1个上市公司(不是出名的公司)的offer,最终预备去上市公司了。也投递了BAT、360、抖音、快手、平安等大厂的岗位,不过大部分没给面试时机,少量大厂在后续面试中也把我拒绝了,原因是:基础知识不行厚实,技能深度不J 0 a : ; E g m f行。

面试共享

每轮面试都会有毛遂自荐,所以在面试前我们能够先预备一段毛f h 3 ) D / o遂自荐,向面试官介绍自己的基本情况。我这里只共享Android技能面试题(以每个公司为分类,将几轮面试题综合起来),面试@ N / T : B j & D官会在每个面试题持续深化Y d B P,一直问到你不会停止。至于面试题答案,我们自行百度,在面试过程中尽可能答复完整(深t | I G C | :度、广度、扩展),这样才能在面试官面前加分。主张我们找工作开端面试前,先找几家小公司找点面试感觉,然后再投自己希望的公司。

接下来是` W 面试题:

公司一

  1. 组件化和arouter原理
  2. recyclerview和listview差异
  3. glide流程,缓存前压缩,缓存命中
  4. APP功能优化,内存优化,布局优化,制作优化,内存走漏
  5. Http和Https差异
  6. socket心跳包
  7. jvm虚拟机,堆和Y P 9 e栈的结构
  8. activity发动形式,有哪些不同
  9. stK o @ & ! Yack栈的特点,自定义stack结构
  10. kotlin优劣势

公司二

  1. 自定义9 y # 4 { x Yview,中英文字符串宽高丈量显现,丈量~ 5 q a W ! ! f算法2 ) m Y,可扩展性
  2. 事情分发机制
  3. Activity,view,windowd X ? H / r X联系
  4. 热修正和插} P v 8 T X p w 件化原理2 ; a N
  5. Synchronized底层原理,java锁机制
  6. java容器,hashmap和hashtablX U ) je差异,h7 ` & n e F o * +ashmap原理,扩容流程,扰动算法的优势
  7. ArrayList和LinkendList差异,List泛型擦除,为什么反射能够在An 4 g e 5 . = /rrayList< StF k V Mring >中增加int类型
  8. Http和Https差异,SSL/TLS过程
  9. Android功能优化
  10. jvm虚拟机,堆和栈的结构,栈帧,J9 1 # ` 0 n w $MM
  11. 组件化留意点,组件间通讯机制
  12. 线程安全的单Q 2 y r $例形式有哪几种
  13. 熟悉的规划形式

. I l y司三

  1. MVC,MVP,MVVM
  2. ActivV t = * , x K ^ityi E K f = ` @ I和fragment生命周期差异,fragment正常增加和viewpager增加的差异,fragment懒加载原理,FragmentPagerAdapter 和 FragmentStatePagerAdapter
  3. 热修正和插件化
  4. 友盟bug统计,混` 3 M # m ` + , $杂后怎样定位bug。y : 3没接入热修正的APP中,上线后遇到bug怎样处理
  5. view制作原理 (能够F ~ =先说下基本view制作,然后再说下屏幕改写机制)
  6. 运用Analyze削减APK体积,原理
  7. Android 版本差异

公司四

  1. 基础类型字1 ^ ~ T e节,汉字占几; S ^ G l c @个字节,线程和进程
  2. 四大组件,fileprovider和Conte. w Vntprovide差异,activity发动流程
  3. MVC,MVP,MVVM
  4. TCP三次握手,四次挥手
  5. Eventbus,glide原理
  6. 功能优化,内存颤动,内存走漏,内存溢出,handler机制,IntentService和handlerThread,子线程更新view内容的办法
  7. GC回收算法
  8. recyclerview和listview差1 5 b I
  9. 组件化,模块化,插件化,热修正
  10. 工作中遇到的难题怎样处理的
  11. Kotlin Java优缺点,kotlin什么时候用分号,run,with,app} @ : j z /ly,内联函数,高阶函数
  12. APK体积优化
  13. 进程间通讯
  14. 单例形式,哪些是安全的
  15. retrofit规划形式
  16. 自定义viK } Pew
  17. 是否做过音视频和IM?
  18. APK功能优化
  19. CurrentHashMap1.7和1.8差异
  20. volatile关键字的作用,怎样确保原子性呢?
  21. 网络优化
  22. 对新技能的看法
  23. java泛型,协变和? 1 q @ f X t逆变

公司五

  1. HTTPS具体步骤
  2. 常用的规划形式,代理形式和装饰者形式差^ ; Z V U U
  3. 服务端回来过错的json数据,客户端怎样自定义model,避免出错
  4. Hook1 b M技能
  5. kotl6 # I n 2 #in了解,协程
  6. 屏幕适j x ) T C t I j
  7. 抓包东西运用和原理
  8. 网络优化
  9. 未来希望,对公司的了解
  10. Okhttp,rxjavai + @,glide,retrofit等原理,okhttp底层数据传输原理,http报文体结构
  11. APK体积优化
  12. Android jetpack运用和原理,新技能看法
  13. crashHandler获取应用crash信息
  14. recyclerview和listview缓存差异
  15. Android 常见崩溃问题剖析及一般的处理方案
  16. NestedScrollView触摸机制,AOP相关} . j Q { ; U 知识
  17. 规划APP,全体架构选型
  18. Android沙盒和底层Linux通讯
  19. ACTs a S HION_CANCLE什么时候触发
  20. 线程池原理

公司六

  1. 组件化,arouter,组件化UI,还有哪些路由结构。AS调试办法
  2. MVC{ p 8 B Q,MVP,MV! g w 6 % pVM,Jetpack
  3. JVM,JMM,java加载目标的步骤,classLoader,GJ w p 6 e S bC回收算法
  4. 插件化和热修正
  5. 唯一安卓ID,安卓安全的知识,加密算法,判断activity前台进程
  6. TCP三次握手和四次挥手
  7. hF $ i $ P 3 / #ash算法,hashmapf m n I ] v D,怎样处理hash抵触[ n !
  8. 加载大图,glide缓存机制,规划形式,双重检测的单例形式为什么要查看两次,自己x U x R规划图片加载结构思路
  9. 发动未注册的Activity
  10. AOP,蓝牙开发,IOT
  11. glide缓存清除:lrT 7 s h . =ucache算法
  12. glide缓存文件太大,查找效率慢怎样优化?gl^ C ~ %ide下载高清图片优化
  13. 最近研讨的技能,遇到最难的事,对公司的希望

公司七

  1. 组件化, arouter优缺点
  2. MVC,MVP,MVVM
  3. 项目中的亮点,对架构的理解
  4. handler原理及相关知识点,message回收战略
  5. hC 5 G V YaX @ ) Hshmap原理,arraymap原理,比照功能。
  6. hashmap为什么大于8才转化为红黑树,加载因子为什Q w P + 9么是0.75
  7. Sync? } 1 + G P Bhronizedi } S q T 0底层原理,java锁机制
  8. 服务和广f = M
  9. activity发动形式(给比如具体剖E 3 B f i X析,A(标准)-》B(单例)-》C(singleTop)-》D(singleTask),剖析有几个栈,每个栈内的activity)
  10. 常用规划形n 9 9 } d m b式,线程安全的单例形式

公司八

  1. static、final;继承与多态
  2. 组件化, arouter优缺点
  3. context相关知识点
  4. handler原理及相关知识点,handler缓存池大小。
  5. 功能优化,发动速度优化,架构
  6. javl B ) l V Ta虚拟机与Dalvik和ART差异
  7. Kotlin协– j r @ r J g w程,扩展函数和特点以及伴生目标
  8. 电商APP的首页,怎样规划一个APP架构
  9. MVP中数据请求为什么要和M一同,答:网络请求和javabean都是数据模型相关
  10. Glide的存储EngineKey) x s S H是怎P v f +样确% J !保唯一的。面试官答:有个行列会将EngineKey存储起来,每次生成后进行比照存储。这个我在源码中没找对位置,如o s t m M C y果知道的同学,麻烦帮忙解释下。
  11. retrofit是怎样将s# c ) m Y 7ervice接口转化为我们需求的javabeano S k z * R的?
  12. 怎样做管理,新技能学习

公司九

  1. SqLite与contentProvider差异
  2. fragment周期,两个fragmep M a h ] S T 1nt切换周期变化,fragment通讯
  3. https证书校验,加密相关,网络请求结构
  4. glide加载流程,大图显现,图片+ G H } k E 2 R *大小核算
  5. view制作(从on3 ? B }Sync()开端)
  6. 线程内存模型,线程间通讯
  7. 获取view的宽高,更新view的方法,主线程音讯机制
  8. OOM,内存走漏,内存溢出,java引用类型,ANR剖析
  9. APP功能优化,webview相关,webview优化,webvie5 V p = C 0 gw中Android与js互调
  10. 插件化和热g % g t | = j ~修正

总结

简历上写的东西,一定要先搞懂,特别是简历上的专业技能。这次面试收到的最多反应便是:基础知识不行厚实,技能深度不行。现) R U @ j q 4 ] s在Android开发大部分需求懂, t U E , : – E a点C++和Lin2 B 4 F 6ux知识,大厂也需求刷算& Q F法面试题,在后面的学习过程中,我将从以上几个方面m + e 9 G V : 8 m着手。当然也必须把基础知识学牢固,技能深度搞深化点。

最终祝我们9 2 5 $都能拿到心仪的ofY N 3 _ . 2 ) Afer!

发表评论

提供最优质的资源集合

立即查看 了解详情